diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs')
24 files changed, 0 insertions, 2475 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients.cpp b/TAO/orbsvcs/orbsvcs/Channel_Clients.cpp deleted file mode 100644 index cfa1da318d3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Channel_Clients.cpp +++ /dev/null @@ -1 +0,0 @@ -// $Id$ diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients.h b/TAO/orbsvcs/orbsvcs/Channel_Clients.h deleted file mode 100644 index 487e688eb2c..00000000000 --- a/TAO/orbsvcs/orbsvcs/Channel_Clients.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ -// -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Channel_Clients -// -// = AUTHOR -// Tim Harrison (harrison@cs.wustl.edu) -// -// ============================================================================ - -#ifndef ACE_CHANNEL_CLIENTS_H -#define ACE_CHANNEL_CLIENTS_H - -#include "orbsvcs/Channel_Clients_T.h" - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Channel_Clients.i" -#endif /* __ACE_INLINE__ */ -#endif /* ACE_CHANNEL_CLIENTS_H */ - diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp b/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp deleted file mode 100644 index 64704ad2060..00000000000 --- a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// $Id$ - -#ifndef ACE_CHANNEL_CLIENTS_T_C -#define ACE_CHANNEL_CLIENTS_T_C - -#include "orbsvcs/Channel_Clients_T.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Channel_Clients_T.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_CHANNEL_CLIENTS_T_C */ diff --git a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h b/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h deleted file mode 100644 index 1dd52e82ea6..00000000000 --- a/TAO/orbsvcs/orbsvcs/Channel_Clients_T.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- C++ -*- */ -// $Id $ -// -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Channel_Clients_T -// -// = AUTHOR -// Tim Harrison (harrison@cs.wustl.edu) and -// Douglas Schmidt (schmidt@cs.wustl.edu) -// -// = DESCRIPTION -// These classes allow applications to be consumer, suppliers, and -// consumer suppliers, as well as being active objects. This is -// accomplished with adapters to prevent the use of multiple -// inheritence (which is this root of all evil.) -// -// ============================================================================ - -#ifndef ACE_CHANNEL_CLIENTS_T_H -#define ACE_CHANNEL_CLIENTS_T_H - -#include "orbsvcs/RtecEventCommC.h" - -// TODO: Add throw specs to this classes. - -template <class TARGET> -class ACE_PushConsumer_Adapter : public RtecEventComm::PushConsumer -// = TITLE -// ACE Push Consumer Adapter -// -// = DESCRIPTION -// Forwards all calls to the owner_. -{ -public: - ACE_PushConsumer_Adapter (TARGET *target); - // Forwards all calls to <owner>. - - virtual void push (const RtecEventComm::EventSet& events, - CORBA::Environment &); - // Forwards to target_. - - virtual void disconnect_push_consumer (CORBA::Environment &); - // Forwards to target_. - -private: - TARGET *target_; -}; - -// ************************************************************ - -template <class TARGET> -class ACE_PushSupplier_Adapter : public RtecEventComm::PushSupplier -// = TITLE -// ACE Push Supplier Adapter -// -// = DESCRIPTION -// Forwards all calls to disconnect_push_supplier the target_. -{ -public: - ACE_PushSupplier_Adapter (TARGET *target); - // Forwards all calls to <owner>. - - virtual void disconnect_push_supplier (CORBA::Environment &); - // Forwards to target_. - -private: - TARGET *target_; -}; - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Channel_Clients_T.i" -#endif /* __ACE_INLINE__ */ - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "orbsvcs/Channel_Clients_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Channel_Clients_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#endif /* ACE_CHANNEL_CLIENTS_T_H */ - diff --git a/TAO/orbsvcs/orbsvcs/CosNaming.idl b/TAO/orbsvcs/orbsvcs/CosNaming.idl deleted file mode 100644 index 770a2adea9f..00000000000 --- a/TAO/orbsvcs/orbsvcs/CosNaming.idl +++ /dev/null @@ -1,207 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// cos -// -// = FILENAME -// CosNaming.idl -// -// = AUTHOR -// Marina Spivak -// -// ============================================================================ - -module CosNaming - // = TITLE - // This module provides interface for using COS Naming Service. -{ - typedef string Istring; - struct NameComponent - { - Istring id; - // This is the name that is used to identify object references. - - Istring kind; - // Stores any addtional info about the object reference. - }; - // This is a 'simple' name. - // NOTE: both id and kind fields are used in resolving names. - - typedef sequence <NameComponent> Name; - // This is a compound name: <c1; c2; c3; cn> where c1 to cn-1 are - // the names of the nested contexts, and cn is the name of the - // object bound in cn-1. - - enum BindingType - { - nobject, - // object binding. - - ncontext - // naming context binding. - }; - - struct Binding - { - Name binding_name; - BindingType binding_type; - }; - - typedef sequence <Binding> BindingList; - - interface BindingIterator; - // Forward declaration. - - interface NamingContext - // = TITLE - // Interface for managing name bindings and naming contexts. - { - // = Exceptions. - - enum NotFoundReason - { - missing_node, - not_context, - not_object - }; - - exception NotFound - { - NotFoundReason why; - Name rest_of_name; - }; - // Indicates that the name does not identify a binding. - - exception CannotProceed - { - //Commented out due to the bug in Orbix compiler - NamingContext cxt; - Name rest_of_name; - }; - // Implementation has given up for some reason. The client, - // however, may be able to continue operation at the returned - // naming context. - - exception InvalidName {}; - // A name of length 0 is invalid. - // Implementations may place further restrictions. - - exception AlreadyBound {}; - // Indicates that the specified name is already bound to some - // object. Only one object can be bound to a particular name in - // a context. To change the binding, <rebind> and - // <rebind_context> can be used. - - exception NotEmpty {}; - // Indicates that the context is not empty. - - // = Binding operations. - - void bind (in Name n, in Object obj) - raises(NotFound, CannotProceed, InvalidName, AlreadyBound); - // create a binding for name <n> and object <obj> in the naming - // context. Compound names are treated as follows: ctx->bind - // (<c1; c2; c3; cn>, obj) = (ctx->resolve (<c1; c2; - // cn-1>))->bind (<cn>, obj) if the there already exists a - // binding for the specified name, <AlreadyBound> exception is - // thrown. Naming contexts should be bound using <bind_context> - // and <rebind_context> in order to participate in name - // resolution later. - - void rebind (in Name n, in Object obj) - raises(NotFound, CannotProceed, InvalidName); - // this is similar to <bind> operation above, except for when - // the binding for the specified name already exists in the - // specified context. In that case, the existing binding is - // replaced with the new one. - - void bind_context (in Name n, in NamingContext nc) - raises(NotFound, CannotProceed, InvalidName, AlreadyBound); - // This is the version of <bind> specifically for binding naming - // contexts, so that they will participate in name resolution - // when compound names are passed to be resolved. - - void rebind_context (in Name n, in NamingContext nc) - raises(NotFound, CannotProceed, InvalidName); - // This is a version of <rebind> specifically for naming - // contexts, so that they can participate in name resolution - // when compound names are passed. - - // = Resolving names. - - Object resolve (in Name n) - raises(NotFound, CannotProceed, InvalidName); - // Return object reference that is bound to the name. Compound - // name resolve is defined as follows: ctx->resolve (<c1; c2; - // cn>) = ctx->resolve (<c1; c2 cn-1>)->resolve (<cn>) The - // naming service does not return the type of the object. - // Clients are responsible for "narrowing" the object to the - // appropriate type. - - // = Unbinding names. - - void unbind (in Name n) - raises(NotFound, CannotProceed, InvalidName); - // Remove the name binding from the context. When compound - // names are used, unbind is defined as follows: ctx->unbind - // (<c1; c2; cn>) = (ctx->resolve (<c1; c2; cn-1>))->unbind - // (<cn>) - - // = Creating Naming Contexts. - - NamingContext new_context (); - // This operation returns a new naming context implemented by - // the same naming server in which the operation was invoked. - // The context is not bound. - - NamingContext bind_new_context (in Name n) - raises(NotFound, AlreadyBound, CannotProceed, InvalidName); - // This operation creates a new context and binds it to the name - // supplied as an argument. The newly-created context is - // implemented by the same server as the context in which it was - // bound (the name argument excluding the last component). - - // = Deleting contexts. - - void destroy () - raises (NotEmpty); - // Delete the naming context. NOTE: the user should <unbind> - // any bindings in which the given context is bound to some - // names before invoking <destroy> operation on it. Ignoring - // this rule may cause unexpected behaviour. <destroy> deletes - // the context object if it is not bound to any names in the - // given address space. <destroys> decrements the reference - // count of the context if bindings to it exist. - - // = Listing the naming context. - - void list (in unsigned long how_many, - out BindingList bl, out BindingIterator bi); - // Returns at most the requested number of bindings <how_many> - // in <bl>. If the naming context contains additional bindings, - // they are returned with a BindingIterator. In the naming - // context does not contain any additional bindings <bi> - // returned as null. - }; - - interface BindingIterator - // = TITLE - // Interface for iterating over Bindings returned with the <list> - // operation. - { - boolean next_one (out Binding b); - // This operation returns the next binding. If there are no - // more bindings false is returned. - - boolean next_n (in unsigned long how_many, - out BindingList bl); - // This operation returns at most the requested number of - // bindings. - - void destroy (); - // This operation destroys the iterator. - }; -}; diff --git a/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h b/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h deleted file mode 100644 index d65f865139a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Service_Constants.h +++ /dev/null @@ -1,93 +0,0 @@ -// -// $Id$ -// -// = DESCRIPTION -// Keep constants required by both Event Service implementation and -// the Scheduling Service implementation. -// - -#if !defined (ACE_ES_CONSTANTS_H) -#define ACE_ES_CONSTANTS_H - -#include "ace/Message_Block.h" -#include "ace/Synch.h" - -const int ACE_ES_MAX_SUBSCRIPTIONS = 32; -// This is the number of events a consumer can subscribe to. - -//const int ACE_ES_MAX_SUPPLIERS = 100; -// Max number of suppliers that a channel can handle. - -const int ACE_ES_MAX_CONSUMERS_PER_SUPPLIER = 100; -// Max number of consumers that one supplier can have subscribed to -// one type of event (including source-only). This restriction is -// very lightweight since subscription lists are dynamic. This -// constant is only used for ACE_ES_Simple_Set in Event_Channel.* for -// disconnecting consumers. Since these objects are allocated off the -// stack, we can increase this number without requiring more heap -// memory. - -// = Predefined event types. All application defined types should be -// relative to ACE_ES_EVENT_UNDEFINED. -const u_long ACE_ES_EVENT_ANY = 0; -const u_long ACE_ES_EVENT_SHUTDOWN = 1; -const u_long ACE_ES_EVENT_ACT = 2; -const u_long ACE_ES_EVENT_NOTIFICATION = 3; -const u_long ACE_ES_EVENT_TIMEOUT = 4; -const u_long ACE_ES_EVENT_INTERVAL_TIMEOUT = 5; -const u_long ACE_ES_EVENT_DEADLINE_TIMEOUT = 6; -const u_long ACE_ES_GLOBAL_DESIGNATOR = 7; -const u_long ACE_ES_CONJUNCTION_DESIGNATOR = 8; -const u_long ACE_ES_DISJUNCTION_DESIGNATOR = 9; -const u_long ACE_ES_EVENT_UNDEFINED = 16; - -// The max number of priorities provided by the target platform. -// TODO: This should be defined in ACE (somehow) and only mapped here -// to some variables (and even that is doubtful). -const long ACE_Scheduler_MAX_PRIORITIES = 5; - -const u_long ACE_Scheduler_Rates[ACE_Scheduler_MAX_PRIORITIES] = { - 250000, 500000, 1000000, 2000000, 10000000 }; - -// The minimum preemption priority. -const long ACE_Scheduler_MIN_PREEMPTION_PRIORITY = - ACE_Scheduler_MAX_PRIORITIES - 1; -// Max preemption priority. -const long ACE_Scheduler_MAX_PREEMPTION_PRIORITY = 0; - -// This is the maximum sub priority. -const u_long ACE_Scheduler_MAX_SUB_PRIORITY = - ACE_Message_Block::MB_USER - 1; - -// This is the minimum sub priority. -const u_long ACE_Scheduler_MIN_SUB_PRIORITY = - ACE_Message_Block::MB_NORMAL; - -typedef ACE_Thread_Mutex ACE_ES_MUTEX; -typedef ACE_Guard<ACE_ES_MUTEX> ACE_ES_GUARD; - -typedef ACE_RW_Thread_Mutex ACE_ES_RW_LOCK; -typedef ACE_Write_Guard<ACE_ES_RW_LOCK> ACE_ES_WGUARD; -typedef ACE_Read_Guard<ACE_ES_RW_LOCK> ACE_ES_RGUARD; - -// ************************************************************ -// Channel configuration parameters. - -// ACE_ES_DISPATCHING_MODULE determines what Dispatching Module is -// used by the channel. ACE_ES_Dispatching_Base is a null dispatcher -// that can be used to build an EFD. -#define ACE_ES_DISPATCHING_MODULE ACE_ES_Priority_Dispatching -//#define ACE_ES_DISPATCHING_MODULE ACE_ES_Dispatching_Base - -// This is the number of threads spawned for *each* priority queue in -// the channel's Dispatching Module. This is used by the channel when -// creating the dispatch module. -const int THREADS_PER_DISPATCH_QUEUE = 1; - -// This is the chunk size of the cached allocator for -// ACE_ES_Event_Container. -const int ACE_ES_EVENT_CONTAINER_MEMORY_POOL = 1024; -const int ACE_ES_EVENT_MEMORY_POOL = 1024; -const int ACE_ES_DISPATCH_REQUEST_MEMORY_POOL = 1024; - -#endif /* ACE_ES_CONSTANTS_H */ diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp b/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp deleted file mode 100644 index 256f4d65b73..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Utilities.cpp +++ /dev/null @@ -1,131 +0,0 @@ -// -// $Id$ -// -#include "orbsvcs/Event_Utilities.h" - -#if !defined (__ACE_INLINE__) -#include "orbsvcs/Event_Utilities.i" -#endif /* __ACE_INLINE__ */ - -ACE_ConsumerQOS_Factory::ACE_ConsumerQOS_Factory (void) : - qos_ (), - designator_set_ (0) -{ -} - -ACE_ConsumerQOS_Factory::~ACE_ConsumerQOS_Factory (void) -{ -} - -int -ACE_ConsumerQOS_Factory::start_conjunction_group (void) -{ - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - qos_.dependencies[l].event_.type_ = ACE_ES_CONJUNCTION_DESIGNATOR; - // TODO: qos_.dependencies[l].event_.data_.lval (0); - designator_set_ = 1; - return 0; -} - -int -ACE_ConsumerQOS_Factory::start_disjunction_group (void) -{ - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - qos_.dependencies[l].event_.type_ = ACE_ES_DISJUNCTION_DESIGNATOR; - // TODO: qos_.dependencies[l].event_.data_.lval (0); - designator_set_ = 1; - return 0; -} - -int -ACE_ConsumerQOS_Factory::insert (const RtecEventChannelAdmin::Dependency &subscribe) -{ - RtecScheduler::RT_Info dummy; - // Make sure that a designator is first. - if (designator_set_ == 0) - { - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - qos_.dependencies[l].event_.type_ = ACE_ES_GLOBAL_DESIGNATOR; - // TODO: IDL union qos_.dependencies[l].event_.data_.lval (0); - designator_set_ = 1; - } - - int l = qos_.dependencies.length (); - qos_.dependencies.length (l + 1); - qos_.dependencies[l] = subscribe; - // TODO: IDL union qos_.dependencies[l].event_.data_.lval (0); - return 0; -} - -void event_debug (const char* p, - const RtecEventComm::Event& event) -{ - int l = ACE_OS::strlen (p); - ACE_DEBUG ((LM_DEBUG, - "%*.*s - event.source: %d\n" - "%*.*s event.type: %d\n" - "%*.*s event.time: %f\n", - l, l, p, event.source_, - l, l, p, event.type_, - l, l, p, event.creation_time_)); -} - -void -ACE_ConsumerQOS_Factory::debug (const RtecEventChannelAdmin::ConsumerQOS& qos) -{ - ACE_DEBUG ((LM_DEBUG, "ConsumerQOS { \n")); - - for (u_int i = 0; i < qos.dependencies.length (); ++i) - { - char buf[128]; - ACE_OS::sprintf (buf, " dep[%d]", i); - event_debug (buf, qos.dependencies[i].event_); - ACE_DEBUG ((LM_DEBUG, "%s rt_info: %d\n", - buf, qos.dependencies[i].rt_info)); - } - ACE_DEBUG ((LM_DEBUG, "}\n")); -} - -// ************************************************************ - -ACE_SupplierQOS_Factory::ACE_SupplierQOS_Factory (void) : - qos_ () -{ -} - -int -ACE_SupplierQOS_Factory::insert (RtecEventComm::EventSourceID sid, - RtecEventComm::EventType type, - RtecScheduler::handle_t rt_info, - u_int ncalls) -{ - int l = qos_.publications_.length (); - qos_.publications_.length (l + 1); - qos_.publications_[l].event_.source_ = sid; - qos_.publications_[l].event_.type_ = type; - // TODO: IDL union qos_.publications_[l].event_.data_.lval (0); - qos_.publications_[l].dependency_info_.rt_info = rt_info; - qos_.publications_[l].dependency_info_.number_of_calls = ncalls; - return 0; -} - -void ACE_SupplierQOS_Factory::debug (const RtecEventChannelAdmin::SupplierQOS& qos) -{ - ACE_DEBUG ((LM_DEBUG, "ConsumerQOS { \n")); - for (u_int i = 0; i < qos.publications_.length (); ++i) - { - char buf[128]; - ACE_OS::sprintf (buf, " publications[%d]", i); - event_debug (buf, qos.publications_[i].event_); - ACE_DEBUG ((LM_DEBUG, - "%s dependency_info.rt_info: %d\n" - "%s dependency_info.number_of_calls: %d\n", - buf, qos.publications_[i].dependency_info_.rt_info, - buf, qos.publications_[i].dependency_info_.number_of_calls)); - } - ACE_DEBUG ((LM_DEBUG, "}\n")); - -} diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.h b/TAO/orbsvcs/orbsvcs/Event_Utilities.h deleted file mode 100644 index bd31d8425e7..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Utilities.h +++ /dev/null @@ -1,222 +0,0 @@ -/* -*- C++ -*- */ - -// ============================================================================ -// -// = LIBRARY -// ace ORB -// -// = FILENAME -// Event_Utilities -// -// = AUTHOR -// Tim Harrison (harrison@cs.wustl.edu) -// -// = DESCRIPTION -// ============================================================================ - -#ifndef ACE_EVENT_UTILITIES_H -#define ACE_EVENT_UTILITIES_H - -#include "orbsvcs/RtecEventChannelAdminC.h" -#include "orbsvcs/Event_Service_Constants.h" - -class ACE_ConsumerQOS_Factory -// = TITLE -// Consumer QOS Factory -// -// = DESCRIPTION -// -// This class allows easy (free from CORBA IDL constraints) -// construction of RtecEventChannelAdmin::ConsumerQOS structures. -// -// = CORRELATIONS -// -// ACE_ConsumerQOS_Factory separates subscriptions into conjunction -// and disjunction groups. A group can be thought of as a set of -// events inside parenthesis: (A+B+C), where A,B, and C are -// events. -// -// The following code would be used to represent (A+B) | (B+C): -// -// ACE_ConsumerQOS_Factor factory; -// factory.start_conjunction_group (); -// factory.insert (A); -// factory.insert (B); -// factory.start_conjunction_group (); -// factory.insert (B); -// factory.insert (C); -// -// The following code would be used to represent (A|B) | (B|C): -// -// ACE_ConsumerQOS_Factor factory; -// factory.start_disjunction_group (); -// factory.insert (A); -// factory.insert (B); -// factory.start_disjunction_group (); -// factory.insert (B); -// factory.insert (C); -// -// First, this may not seem to be initially useful, as (A|B) | -// (B|C) seems the same as A|B|C. However, this form does have a -// significant use when deadline timers are specified (described -// below). Note that groups end with the next call to -// start_XX_group. Groups are always OR'd together. That is, -// there is no way to directly build (A|B|C) + (D|E|F). You can -// always expand the previous statement to the OR of multiple ANDs. -// -// = TIMEOUTS -// -// There are two types of timeout types defined in -// Event_Service_Constants.h. -// -// ACE_ES_EVENT_INTERVAL_TIMEOUT - the consumer wants to receive a -// timeout every N seconds. -// -// ACE_ES_EVENT_DEADLINE_TIMEOUT - the consumer wants the timeout -// if and only if some dependencies are not resolved first. -// -// Using these timeouts with the correlations discussed above, we -// can construct four different timer semantics: Interval Timer, -// Deadline Timer, Interval Correlation, Deadline Correlation: -// -// Interval Timer: -// -// (A+B+C) | (D+E+F) | (G+H+I) | IntervalTimeout -// -// This registers to receive an interval timeout regardless of -// other dependencies. Event if events occur, the interval -// timeout will still be sent. -// -// Deadline Timer: -// -// (A+B+C) | (D+E+F) | (G+H+I) | DeadlineTimeout -// -// This registers to receive the deadline timeout ONLY if no -// other events occur. If a single event is sent to the -// consumer, the timer is cancelled and rescheduled. -// -// Deadline Correlation: -// -// (A+B+C) | (D+E+F) | (G+H+DeadlineTimeout) -// -// If G and H do not occur within DeadlineTimeout time, a -// deadline timeout is sent. It is cancelled and rescheduled if G -// and H occur. -// -// Interval Correlation: -// -// (A+B+C) | (D+E+F) | (G+H+IntervalTimeout) -// -// G+H+IntervalTimeout are sent ONLY after all have occurred. If -// G+H occur, they are queued until IntervalTimeout occurs. If -// IntervalTimeout occurs, it is queued until G+H occur. -{ -public: - ACE_ConsumerQOS_Factory (void); - // Default construction. - - ~ACE_ConsumerQOS_Factory (void); - // Death and destruction. - - int start_conjunction_group (void); - // This signifies that the consumer needs the AND of all following - // insert calls (up until the next start_XX_group call). Returns 0 - // on success, -1 on failure. - - int start_disjunction_group (void); - // This signifies that the consumer needs the OR of all following - // insert calls (up until the next start_XX_group call). Returns 0 - // on success, -1 on failure. - - // = Insert operations add to the current conjunction or disjunction - // group. These return 0 on success, -1 on failure. Before insert - // is called, a start_XX_group method should be called. If a - // start_XX_group method is not called, start_conjunction_group is - // assumed. - - int insert (const RtecEventChannelAdmin::Dependency &subscribe); - // Insert the <subscribe> structure describing the event and - // receiving method into the current group. - - int insert (RtecEventComm::EventSourceID source, - RtecEventComm::EventType type, - RtecScheduler::handle_t rt_info); - // Insert source/type dependency. <source> of the event (may be - // zero), <type> of the event. <rt_info> describes the method that - // will handle the <source>/<type> events. - - int insert_type (RtecEventComm::EventType type, - RtecScheduler::handle_t rt_info); - // Insert type-only dependency. - - int insert_source (RtecEventComm::EventSourceID source, - RtecScheduler::handle_t rt_info); - // Insert source-only dependency. - - int insert_time (RtecEventComm::EventType type, - RtecEventComm::Time interval, - RtecScheduler::handle_t rt_info); - // Register temporal dependency. <type> designates interval or - // deadline timeout that will occur every <interval>. - - int insert_act (RtecEventComm::EventData act); - // This will be inserted as type ACE_ES_EVENT_ACT. - - // = Conversion operators. The Event Channel takes ConsumerQOS - // objects. - - const RtecEventChannelAdmin::ConsumerQOS &get_ConsumerQOS (void); - // Allows conversions to ConsumerQOS, which is expected by the - // PushSupplierProxy::connect_push_consumer interface. - - operator const RtecEventChannelAdmin::ConsumerQOS &(void); - // Calls this->get_ConsumerQOS. - - static void debug (const RtecEventChannelAdmin::ConsumerQOS& qos); - -private: - RtecEventChannelAdmin::ConsumerQOS qos_; - // The representation to be sent to the channel. - - int designator_set_; - // Whether a start_XX_group has been called yet. This is to make - // sure that a designator is placed in the subscription list first. -}; - -// ************************************************************ - -class ACE_SupplierQOS_Factory -{ -public: - ACE_SupplierQOS_Factory (void); - // Default construction. - - int insert (RtecEventComm::EventSourceID sid, - RtecEventComm::EventType type, - RtecScheduler::handle_t rtinfo, - u_int ncalls); - // Publish <sid> and <type> that is generate by a method described by - // <rtinfo>. The method generates <type> <ncalls> number of times - // per "iteration." - - const RtecEventChannelAdmin::SupplierQOS &get_SupplierQOS (void); - // Allows conversions to SupplierQOS, which is expected by the - // PushSupplierProxy::connect_push_supplier interface. - - operator const RtecEventChannelAdmin::SupplierQOS &(void); - // Calls this->get_SupplierQOS. - - static void debug (const RtecEventChannelAdmin::SupplierQOS& qos); - -private: - RtecEventChannelAdmin::SupplierQOS qos_; - // Representation needed by channel. -}; - - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Event_Utilities.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_EVENT_UTILITIES_H */ - diff --git a/TAO/orbsvcs/orbsvcs/Event_Utilities.i b/TAO/orbsvcs/orbsvcs/Event_Utilities.i deleted file mode 100644 index 49cc031a517..00000000000 --- a/TAO/orbsvcs/orbsvcs/Event_Utilities.i +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- C++ -*- */ - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert (RtecEventComm::EventSourceID source, - RtecEventComm::EventType type, - RtecScheduler::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - dependency.event_.source_ = source; - dependency.event_.type_ = type; - dependency.event_.creation_time_ = 0; - dependency.event_.ec_recv_time_ = 0; - dependency.event_.ec_send_time_ = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_type (RtecEventComm::EventType type, - RtecScheduler::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - dependency.event_.source_ = 0; - dependency.event_.type_ = type; - dependency.event_.creation_time_ = 0; - dependency.event_.ec_recv_time_ = 0; - dependency.event_.ec_send_time_ = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_source (RtecEventComm::EventSourceID source, - RtecScheduler::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - dependency.event_.source_ = source; - dependency.event_.type_ = ACE_ES_EVENT_ANY; - dependency.event_.creation_time_ = 0; - dependency.event_.ec_recv_time_ = 0; - dependency.event_.ec_send_time_ = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_time (RtecEventComm::EventType type, - RtecEventComm::Time interval, - RtecScheduler::handle_t rt_info) -{ - RtecEventChannelAdmin::Dependency dependency; - dependency.event_.source_ = 0; - dependency.event_.type_ = type; - dependency.event_.creation_time_ = interval; - dependency.event_.ec_recv_time_ = 0; - dependency.event_.ec_send_time_ = 0; - dependency.rt_info = rt_info; - return this->insert (dependency); -} - -ACE_INLINE int -ACE_ConsumerQOS_Factory::insert_act (RtecEventComm::EventData act) -{ - RtecEventChannelAdmin::Dependency dependency; - dependency.event_.source_ = 0; - dependency.event_.type_ = ACE_ES_EVENT_ACT; - dependency.event_.creation_time_ = 0; - dependency.event_.ec_recv_time_ = 0; - dependency.event_.ec_send_time_ = 0; - dependency.event_.data_ = act; - return this->insert (dependency); -} - -ACE_INLINE const RtecEventChannelAdmin::ConsumerQOS& -ACE_ConsumerQOS_Factory::get_ConsumerQOS (void) -{ - return qos_; -} - -ACE_INLINE -ACE_ConsumerQOS_Factory::operator const RtecEventChannelAdmin::ConsumerQOS& (void) -{ - return qos_; -} - -// ************************************************************ - -ACE_INLINE const RtecEventChannelAdmin::SupplierQOS& -ACE_SupplierQOS_Factory::get_SupplierQOS (void) -{ - return qos_; -} - -ACE_INLINE -ACE_SupplierQOS_Factory::operator const RtecEventChannelAdmin::SupplierQOS& (void) -{ - return qos_; -} - diff --git a/TAO/orbsvcs/orbsvcs/Makefile b/TAO/orbsvcs/orbsvcs/Makefile deleted file mode 100644 index 89597aaad86..00000000000 --- a/TAO/orbsvcs/orbsvcs/Makefile +++ /dev/null @@ -1,83 +0,0 @@ -#---------------------------------------------------------------------------- -# -# $Id$ -# -#---------------------------------------------------------------------------- - -MAKEFILE = Makefile -LIBNAME = liborbsvcs -LIB = $(LIBNAME).a -SHLIB = $(LIBNAME).$(SOEXT) - -IDL_FILES = \ - CosNamingC \ - CosNamingS \ - RtecEventCommC \ - RtecEventCommS \ - RtecSchedulerC \ - RtecSchedulerS \ - RtecEventChannelAdminC \ - RtecEventChannelAdminS \ - -FILES= $(IDL_FILES) \ - Event_Utilities \ - Scheduler_Factory \ - Runtime_Scheduler \ - Scheduler_Utilities \ - -DEFS = $(addsuffix .h,$(FILES)) -LSRC = $(addsuffix .cpp,$(FILES)) - -LIBS += -lTAO -lACE - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets (and local hacks) -#---------------------------------------------------------------------------- - -ifndef TAO_ROOT -TAO_ROOT = $(ACE_ROOT)/TAO -endif - -LDFLAGS += -L$(TAO_ROOT)/tao -CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao/compat -I$(TAO_ROOT)/orbsvcs $(TSS_ORB_FLAG)#-H - -# @@ Commented out until no more hand-crafting is needed, right now the -# main problem is the ACE_Export macros for NT. - -CosNamingC.cpp CosNamingS.cpp CosNamingC.h CosNamingS.h: CosNaming.idl - $(TAO_ROOT)/TAO_IDL/tao_idl $^ - -RtecSchedulerC.cpp RtecSchedulerS.cpp RtecSchedulerC.h RtecSchedulerS.h: RtecScheduler.idl - $(TAO_ROOT)/TAO_IDL/tao_idl $^ - -RtecEventCommC.cpp RtecEventCommS.cpp RtecEventCommC.h RtecEventCommS.h: RtecEventComm.idl - $(TAO_ROOT)/TAO_IDL/tao_idl $^ - -RtecEventChannelAdminC.cpp RtecEventChannelAdminS.cpp RtecEventChannelAdminC.h RtecEventChannelAdminS.h: RtecEventChannelAdmin.idl - $(TAO_ROOT)/TAO_IDL/tao_idl $^ - -clean: - -/bin/rm -rf *.o Log $(BIN) obj.* core Templates.DB .make.state - -realclean: clean - -/bin/rm -rf $(addsuffix .h, $(IDL_FILES)) $(addsuffix .i, $(IDL_FILES)) $(addsuffix .cpp, $(IDL_FILES)) - - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - - - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl b/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl deleted file mode 100644 index 9ba626ba73e..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl +++ /dev/null @@ -1,70 +0,0 @@ -// -// $Id$ -// -#include "RtecEventComm.idl" -#include "RtecScheduler.idl" - -module RtecEventChannelAdmin { - - exception AlreadyConnected {}; - exception TypeError {}; - - struct Dependency { - RtecEventComm::Event event_; - RtecScheduler::handle_t rt_info; - }; - typedef sequence<Dependency> DependencySet; - - struct ConsumerQOS { - DependencySet dependencies; - }; - - struct Publication { - RtecEventComm::Event event_; - RtecScheduler::Dependency_Info dependency_info_; - }; - typedef sequence<Publication> PublicationSet; - - struct SupplierQOS { - PublicationSet publications_; - }; - - interface ProxyPushConsumer: RtecEventComm::PushConsumer { - oneway void connect_push_supplier( - in RtecEventComm::PushSupplier push_supplier, - in SupplierQOS qos); - // raises(AlreadyConnected); - }; - - interface ProxyPushSupplier: RtecEventComm::PushSupplier { - oneway void connect_push_consumer( - in RtecEventComm::PushConsumer push_consumer, - in ConsumerQOS qos); - // raises(AlreadyConnected, TypeError); - }; - - // TODO: Find out the exception specs for the following interface's - // methods. - interface ConsumerAdmin { - ProxyPushSupplier obtain_push_supplier(); - }; - interface SupplierAdmin { - ProxyPushConsumer obtain_push_consumer(); - }; - - interface EventChannel { - exception SYNCHRONIZATION_ERROR {}; - exception QOS_ERROR {}; - exception SUBSCRIPTION_ERROR {}; - exception CORRELATION_ERROR {}; - exception DISPATCH_ERROR {}; - - ConsumerAdmin for_consumers(); - SupplierAdmin for_suppliers(); - - void destroy(); - }; - -}; - - diff --git a/TAO/orbsvcs/orbsvcs/RtecEventComm.idl b/TAO/orbsvcs/orbsvcs/RtecEventComm.idl deleted file mode 100644 index 5171aaa4438..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecEventComm.idl +++ /dev/null @@ -1,51 +0,0 @@ -// -// $Id$ -// - -module RtecEventComm { - exception Disconnected {}; - -#if 0 - union EventData switch(short) { - case 1: double dval; - case 2: string sval; - case 3: sequence<octet> bval; - default: long lval; - }; -#else - struct EventData { - long x; - long y; - }; -#endif - - typedef long EventSourceID; - typedef long EventType; - - // @@ TODO: Use CosTimeService? - // The current definition (double) is a TOTAL HACK, we store a long - // long here just because it fits.... - typedef double Time; - - struct Event { - EventSourceID source_; - EventType type_; - Time creation_time_; - Time ec_recv_time_; - Time ec_send_time_; - EventData data_; - }; - typedef sequence<Event> EventSet; - - interface PushConsumer { - oneway void push (in EventSet data); // raises(Disconnected); - oneway void disconnect_push_consumer(); - }; - - interface PushSupplier { - oneway void disconnect_push_supplier(); - }; - -}; - - diff --git a/TAO/orbsvcs/orbsvcs/RtecScheduler.idl b/TAO/orbsvcs/orbsvcs/RtecScheduler.idl deleted file mode 100644 index e0d2ea9fa0f..00000000000 --- a/TAO/orbsvcs/orbsvcs/RtecScheduler.idl +++ /dev/null @@ -1,222 +0,0 @@ -// -// $Id$ -// - -module RtecScheduler { - - // TODO: Use the COS Time Service TimeT type. - typedef double Time; - typedef long Period; - typedef Time Quantum; - - const long NO_QUANTUM = 0; - - // - // TODO: This differ from the ones documented in the TAO paper, - // namely: - // INTERRUPT - // IO_SERVICE - // CRITICAL - // HARD_DEADLINE - // BACKGROUND - // Notice that the order is inverted and, of course, the names don't - // match. - // - enum Importance { - VERY_LOW, - LOW, - MEDIUM, - HIGH, - VERY_HIGH - }; - - typedef long handle_t; - // RT_Info's are assignned per-application unique identifiers. - - struct Dependency_Info { - long number_of_calls; - handle_t rt_info; - // Notice the reference to the RT_Info we depend on. - }; - - typedef sequence<Dependency_Info> Dependency_Set; - - typedef long OS_Priority; - typedef long Sub_Priority; - typedef long Preemption_Priority; - - struct RT_Info - // = TITLE - // Describes the QoS for an "operation". - // - // = DESCRIPTION - // The CPU requirements and QoS for each "entity" implementing - // an application operation is described by the following - // information. - { - // Application defined string that uniquely identifies the - // operation. - string entry_point; - - // The scheduler defined unique identifier. - handle_t handle; - - // Execution times - Time worst_case_execution_time; - Time typical_execution_time; - - // To account for server data caching. - Time cached_execution_time; - - // For rate operations this defines the period of the rate. - // 0 means "completely pasive", i.e., this operation only executes - // when called. - Period period; - - // Operation importance (used to "break ties"). - Importance importance; - - // For time-slicing (for BACKGROUND operations only). - Quantum quantum; - - // The following attributes are defined by the Scheduler once the - // off-line scheduling is computed. - - // The number of threads that will execute this operation? - // TODO: clarify this. - long threads; - - // The operations we depend upon. - Dependency_Set dependencies; - - // The OS por processing the events generated from this RT_Info. - OS_Priority priority; - - // For ordering RT_Info's with equal priority. - Sub_Priority subpriority; - - // The queue number for this RT_Info. - Preemption_Priority preemption_priority; - }; - - exception DUPLICATE_NAME {}; - // The application is trying to register the same task again. - - exception UNKNOWN_TASK {}; - // The RT_Info handle was not valid. - - exception NOT_SCHEDULED {}; - // The application is trying to obtain scheduling information, but - // none is available. - - exception UTILIZATION_BOUND_EXCEEDED {}; - exception INSUFFICIENT_THREAD_PRIORITY_LEVELS {}; - exception TASK_COUNT_MISMATCH {}; - // Problems while computing off-line scheduling. - - typedef sequence<RT_Info> RT_Info_Set; - - // TODO: Find a reasonable name for this interface, maybe we should - // change the name of the module to RtecSchedulerAdmin and name this - // Scheduler - interface Scheduler - // = DESCRIPTION - // This class holds all the RT_Info's for a single application. - // During the configuration run this will be implemented as a - // single remote object, whose services are used by the - // suppliers, consumers and the EC. - // At run-time each process will hold a copy of the compiled - // version of the Scheduler, using the precomputed data to - // resolve requests (avoiding any remote calls) and ignoring any - // requests for modifying its state. - // A Factory class will be used to choose the proper - // implementation. - // - // This class must be registered with the naming service using a - // well known name ("Scheduler" seems the obvious choice), the - // Naming Context will account for different applications and - // modes. - // - // Once the scheduling data is computed it can be retrieved - // remotely to generate the code for the run-time version. - { - handle_t create (in string entry_point) raises (DUPLICATE_NAME); - // Creates a new RT_Info entry for the function identifier - // "entry_point", it can be any string, but the fully qualified - // name function name is suggested. - // Returns a handle to the RT_Info. - - handle_t lookup (in string entry_point); - // Lookups a handle for entry_point. - // TODO: Should we add INVALID_HANDLE or raise an exception? - - RT_Info get (in handle_t handle) raises (UNKNOWN_TASK); - // Retrieve information about an RT_Info. - - void set (in handle_t handle, - in Time time, - in Time typical_time, - in Time cached_time, - in Period period, - in Importance importance, - in Quantum quantum, - in long threads) - raises (UNKNOWN_TASK); - // Set the attributes of an RT_Info. - // Notice that some values may not be modified (like priority). - - void add_dependency (in handle_t handle, - in handle_t dependency, - in long number_of_calls) - raises (UNKNOWN_TASK); - // Adds <dependency> to <handle> - - void priority (in handle_t handle, - out OS_Priority priority, - out Sub_Priority subpriority, - out Preemption_Priority p_priority) - raises (UNKNOWN_TASK, NOT_SCHEDULED); - void entry_point_priority (in string entry_point, - out OS_Priority priority, - out Sub_Priority subpriority, - out Preemption_Priority p_priority) - raises (UNKNOWN_TASK, NOT_SCHEDULED); - // Obtain the run time priorities. - // TODO: Do we need the two interfaces or is it simply confusing? - // If we should to keep only the <handle> version: Are the extra - // round-trips too expensive? - // If we choose only the <entry_point> version: Are the copies for - // the string affordable? - - void compute_scheduling (in long minimum_priority, - in long maximum_priority, - out RT_Info_Set infos) - raises (UTILIZATION_BOUND_EXCEEDED, - INSUFFICIENT_THREAD_PRIORITY_LEVELS, - TASK_COUNT_MISMATCH); - // Computes the scheduling priorities, returns the RT_Info's with - // their priorities properly filled. - // This info can be cached by a Run_Time_Scheduler service or - // dumped into a C++ file for compilation and even faster (static) - // lookup. - - // TODO: The dependencies field can be removed from the RT_Info - // and made part of the secrets of "Application", adding the - // following to satisfy curious clients: - // - // struct Dependency { - // long number_of_calls; - // handle_t dependency; - // }; - // typedef sequence<Dependency> Dependency_Set; - // - // Dependency_Set dependencies (in handle_t handle) - // raises (UNKNOWN_TASK); - // Returns the list of dependencies - // - // long number_of_dependencies (in handle_t handle) - // raises (UNKNOWN_TASK); - // Returns the number of dependencies. - - }; -}; diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp deleted file mode 100644 index 1f45181d12a..00000000000 --- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp +++ /dev/null @@ -1,173 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -#include "orbsvcs/Runtime_Scheduler.h" - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Runtime_Scheduler.i" -#endif /* __ACE_INLINE__ */ - -ACE_Runtime_Scheduler:: -ACE_Runtime_Scheduler (int entry_count, - RtecScheduler::RT_Info* rt_info[]) -: POA_RtecScheduler::Scheduler ("Static_Scheduler"), - entry_count_ (entry_count), - rt_info_ (rt_info) -{ -} - -RtecScheduler::handle_t -ACE_Runtime_Scheduler::create (const char * entry_point, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::DUPLICATE_NAME)) -{ - // Just make sure its there and returns its handle (position). - int i; - for (i = 0; i < entry_count_; ++i) - { - if (strcmp (entry_point, rt_info_[i]->entry_point) == 0) - { - return i; - } - } - // TODO: throw an exception or print an error. - return -1; -} - -RtecScheduler::handle_t -ACE_Runtime_Scheduler::lookup (const char * entry_point, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException)) -{ - return create (entry_point, _env); -} - -RtecScheduler::RT_Info* -ACE_Runtime_Scheduler::get (RtecScheduler::handle_t handle, - CORBA::Environment &_env) - TAO_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - if (handle < 0 || handle > entry_count_) - { - TAO_THROW_RETURN (RtecScheduler::UNKNOWN_TASK(), 0); - } - return rt_info_[handle]; -} - -void ACE_Runtime_Scheduler::set (RtecScheduler::handle_t handle, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period period, - RtecScheduler::Importance importance, - RtecScheduler::Quantum quantum, - CORBA::Long threads, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - // We compare the values with the ones stored and print a message on - // any differences. - if (handle < 0 || handle > entry_count_) - { - TAO_THROW (RtecScheduler::UNKNOWN_TASK); - return; - } - if (rt_info_[handle]->worst_case_execution_time != time - || rt_info_[handle]->typical_execution_time != typical_time - || rt_info_[handle]->cached_execution_time != cached_time - || rt_info_[handle]->period != period - || rt_info_[handle]->importance != importance - || rt_info_[handle]->quantum != quantum - || rt_info_[handle]->threads != threads) - { - ACE_ERROR ((LM_ERROR, "invalid data for RT_Info: %s\n", - (const char*)rt_info_[handle]->entry_point)); - // TODO: throw something here. - } -} - - -void ACE_Runtime_Scheduler::priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Sub_Priority& subpriority, - RtecScheduler::Preemption_Priority& p_priority, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)) -{ - if (handle < 0 || handle > entry_count_) - { - TAO_THROW (RtecScheduler::UNKNOWN_TASK()); - return; - } - priority = rt_info_[handle]->priority; - subpriority = rt_info_[handle]->subpriority; - p_priority = rt_info_[handle]->preemption_priority; -} - -void ACE_Runtime_Scheduler::entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Sub_Priority& subpriority, - RtecScheduler::Preemption_Priority& p_priority, - CORBA::Environment &_env) - TAO_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)) -{ - RtecScheduler::handle_t handle = lookup (entry_point, _env); - if (handle < -1) - { - // The exception was thrown or is in _env already. - return; - } - this->priority (handle, priority, subpriority, p_priority, _env); -} - -void ACE_Runtime_Scheduler::add_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)) -{ - if (handle < 0 || handle > entry_count_) - { - TAO_THROW (RtecScheduler::UNKNOWN_TASK); - return; - } - // Just check that the information is consistent. - RtecScheduler::Dependency_Set& deps = rt_info_[handle]->dependencies; - for (int i = 0; i < deps.length (); ++i) - { - if (deps[i].rt_info == dependency - && deps[i].number_of_calls == number_of_calls) - { - return; - } - } - ACE_ERROR ((LM_ERROR, "unmatched dependency on %s\n", - (const char*)rt_info_[handle]->entry_point)); -} - -void ACE_Runtime_Scheduler::compute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::RT_Info_Set_out infos, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH)) -{ - // TODO: Right now just do nothing, later we could validate the - // priorities (without recomputing). - // TODO: fill up the infos. - return; -} - diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h deleted file mode 100644 index 698393880a8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.h +++ /dev/null @@ -1,96 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -#ifndef ACE_RUNTIME_SCHEDULER_H -#define ACE_RUNTIME_SCHEDULER_H - -#include "ace/OS.h" - -#include "orbsvcs/RtecSchedulerS.h" - -class ACE_Runtime_Scheduler - : public POA_RtecScheduler::Scheduler - // = TITLE - // A proxy server for RtecScheduler::Scheduler. - // - // = DESCRIPTION - // This class offers the services of the scheduler, but based on - // precomputed and precompiled information. This results in a - // highly optimized execution after the configuration runs. -{ -public: - ACE_Runtime_Scheduler (int entry_count, - RtecScheduler::RT_Info* rt_info[]); - // Initialize the data from the RT_Info array. - // Only basic validation is done. - - virtual RtecScheduler::handle_t create (const char * entry_point, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, RtecScheduler::DUPLICATE_NAME)); - - virtual RtecScheduler::handle_t lookup (const char * entry_point, - CORBA::Environment &_env) - TAO_THROW_SPEC((CORBA::SystemException)); - - virtual RtecScheduler::RT_Info* get (RtecScheduler::handle_t handle, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, RtecScheduler::UNKNOWN_TASK)); - - virtual void set (RtecScheduler::handle_t handle, - RtecScheduler::Time time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period period, - RtecScheduler::Importance importance, - RtecScheduler::Quantum quantum, - CORBA::Long threads, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, RtecScheduler::UNKNOWN_TASK)); - - virtual void priority (RtecScheduler::handle_t handle, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Sub_Priority& subpriority, - RtecScheduler::Preemption_Priority& p_priority, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)); - - virtual void entry_point_priority (const char * entry_point, - RtecScheduler::OS_Priority& priority, - RtecScheduler::Sub_Priority& subpriority, - RtecScheduler::Preemption_Priority& p_priority, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK, - RtecScheduler::NOT_SCHEDULED)); - - virtual void add_dependency (RtecScheduler::handle_t handle, - RtecScheduler::handle_t dependency, - CORBA::Long number_of_calls, - CORBA::Environment &_env) - TAO_THROW_SPEC ((CORBA::SystemException, - RtecScheduler::UNKNOWN_TASK)); - - virtual void compute_scheduling (CORBA::Long minimum_priority, - CORBA::Long maximum_priority, - RtecScheduler::RT_Info_Set_out infos, - CORBA::Environment &_env) - TAO_THROW_SPEC((CORBA::SystemException, - RtecScheduler::UTILIZATION_BOUND_EXCEEDED, - RtecScheduler::INSUFFICIENT_THREAD_PRIORITY_LEVELS, - RtecScheduler::TASK_COUNT_MISMATCH)); - -private: - int entry_count_; - RtecScheduler::RT_Info** rt_info_; -}; - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Runtime_Scheduler.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_RUNTIME_SCHEDULER_H */ diff --git a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.i b/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.i deleted file mode 100644 index a21ea7f9897..00000000000 --- a/TAO/orbsvcs/orbsvcs/Runtime_Scheduler.i +++ /dev/null @@ -1,5 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp deleted file mode 100644 index 681470630e8..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp +++ /dev/null @@ -1,246 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -#include "ace/OS.h" - -#include "orbsvcs/Runtime_Scheduler.h" -#include "orbsvcs/Scheduler_Factory.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Factory.i" -#endif /* __ACE_INLINE__ */ - -RtecScheduler::Scheduler_ptr ACE_Scheduler_Factory::server_ = 0; - -static int entry_count = -1; -static ACE_Scheduler_Factory::POD_RT_Info* rt_info = 0; - -int ACE_Scheduler_Factory::use_runtime (int ec, - POD_RT_Info rti[]) -{ - if (server_ != 0 || entry_count != -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "ACE_Scheduler_Factory::use_runtime - " - "server already configured\n"), -1); - } - - entry_count = ec; - rt_info = rti; - - return 0; -} - -RtecScheduler::Scheduler_ptr static_server () -{ - RtecScheduler::Scheduler_ptr server_ = 0; - - typedef RtecScheduler::RT_Info* RT_Info_ptr; - RtecScheduler::RT_Info** info; - ACE_NEW_RETURN (info, RT_Info_ptr[entry_count], 0); - for (int i = 0; i < entry_count; ++i) - { - info[i] = new RtecScheduler::RT_Info; - if (info[i] == 0) - { - for (int j = 0; j < i; ++j) - { - delete info[i]; - } - delete[] info; - ACE_ERROR_RETURN ((LM_ERROR, - "ACE_Scheduler_Factory::config_runtime - " - "cannot allocate RT_Info\n"), 0); - } - info[i]->entry_point = rt_info[i].entry_point; - info[i]->handle = rt_info[i].handle; - info[i]->worst_case_execution_time = rt_info[i].worst_case_execution_time; - info[i]->typical_execution_time = rt_info[i].typical_execution_time; - info[i]->cached_execution_time = rt_info[i].cached_execution_time; - info[i]->period = rt_info[i].period; - info[i]->importance = rt_info[i].importance; - info[i]->quantum = rt_info[i].quantum; - info[i]->threads = rt_info[i].threads; - info[i]->priority = rt_info[i].priority; - info[i]->subpriority = rt_info[i].subpriority; - info[i]->preemption_priority = rt_info[i].preemption_priority; - } - server_ = new ACE_Runtime_Scheduler (entry_count, info); - - if (server_ == 0) - { - for (int i = 0; i < entry_count; ++i) - { - delete info[i]; - } - delete[] info; - ACE_ERROR_RETURN ((LM_ERROR, - "ACE_Scheduler_Factory::config_runtime - " - "cannot allocate server\n"), 0); - } - ACE_DEBUG ((LM_DEBUG, - "ACE_Scheduler_Factory - configured static server\n")); - CORBA::Object::_duplicate (server_); - return server_; -} - -int -ACE_Scheduler_Factory::use_config (CosNaming::NamingContext_ptr naming) -{ - if (server_ != 0 || entry_count != -1) - { - // No errors, runtime execution simply takes precedence over - // config runs. - return 0; - } - - TAO_TRY - { - CosNaming::Name schedule_name (1); - schedule_name[0].id = CORBA::string_dup ("ScheduleService"); - schedule_name.length (1); - CORBA::Object_ptr objref = - naming->resolve (schedule_name, TAO_TRY_ENV); - TAO_CHECK_ENV; - - server_ = - RtecScheduler::Scheduler::_narrow(objref, TAO_TRY_ENV); - TAO_CHECK_ENV; - - RtecScheduler::Scheduler::_duplicate (server_); - TAO_CHECK_ENV; - } - TAO_CATCHANY - { - server_ = 0; - ACE_ERROR_RETURN ((LM_ERROR, - "ACE_Scheduler_Factory::use_context - " - " exception while resolving server\n"), -1); - } - TAO_ENDTRY; - return 0; -} - -int -ACE_Scheduler_Factory::use_config (CORBA::ORB_ptr orb) -{ - if (server_ != 0 || entry_count != -1) - { - // No errors, runtime execution simply takes precedence over - // config runs. - return 0; - } - - TAO_TRY - { - CORBA::Object_ptr objref = - orb->resolve_initial_references ("ScheduleService"); - TAO_CHECK_ENV; - - server_ = - RtecScheduler::Scheduler::_narrow(objref, TAO_TRY_ENV); - TAO_CHECK_ENV; - - RtecScheduler::Scheduler::_duplicate (server_); - TAO_CHECK_ENV; - } - TAO_CATCHANY - { - server_ = 0; - ACE_ERROR_RETURN ((LM_ERROR, - "ACE_Scheduler_Factory::use_context - " - " exception while resolving server\n"), -1); - } - TAO_ENDTRY; - return 0; -} - - -RtecScheduler::Scheduler_ptr -ACE_Scheduler_Factory::server (void) -{ - if (server_ == 0 && entry_count != -1) - { - server_ = static_server (); - } - - if (server_ == 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "ACE_Scheduler_Factor::server - " - "no scheduling service configured\n"), 0); - } - return server_; -} - -static char header[] = -"// This file was automatically generated by Scheduler_Factory\n" -"// before editing the file please consider generating it again\n" -"\n" -"#include \"orbsvcs/Scheduler_Factory.h\"\n" -"\n"; - -static char footer[] = -"\n" -"// This setups Scheduler_Factory to use the runtime version\n" -"static int scheduler_factory_setup = \n" -" ACE_Scheduler_Factory::use_runtime (sizeof (infos)/sizeof (infos[0]),\n" -" infos);\n" -"\n" -"// EOF\n"; - -static char start_infos[] = -"static ACE_Scheduler_Factory::POD_RT_Info infos[] = {\n"; - -static char end_infos[] = -"};\n"; - -int ACE_Scheduler_Factory::dump_schedule - (const RtecScheduler::RT_Info_Set& infos, - const char* filename) -{ - FILE* file = stdout; - if (filename != 0) - { - file = ACE_OS::fopen (filename, "w"); - if (file == 0) - { - return -1; - } - } - ACE_OS::fprintf(file, header); - - ACE_OS::fprintf(file, start_infos); - for (u_int i = 0; i < infos.length (); ++i) - { - if (i != 0) - { - // Finish previous line - ACE_OS::fprintf(file, ",\n"); - } - const RtecScheduler::RT_Info& info = infos[i]; - ACE_OS::fprintf (file, -"{ \"%s\", %d, %f, %f, %f, %d, %d, %f, %d, %d, %d, %d }", - (const char*)info.entry_point, - info.handle, - info.worst_case_execution_time, - info.typical_execution_time, - info.cached_execution_time, - info.period, - info.importance, - info.quantum, - info.threads, - info.priority, - info.subpriority, - info.preemption_priority); - } - // finish last line. - ACE_OS::fprintf(file, "\n"); - ACE_OS::fprintf(file, end_infos); - ACE_OS::fprintf(file, footer); - ACE_OS::fclose (file); - return 0; -} diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h deleted file mode 100644 index fa2411cd9e9..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.h +++ /dev/null @@ -1,98 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -#ifndef ACE_SCHEDULER_FACTORY_H -#define ACE_SCHEDULER_FACTORY_H - -#include "ace/OS.h" - -#include "orbsvcs/CosNamingC.h" -#include "orbsvcs/RtecSchedulerC.h" - -class ACE_Scheduler_Factory - // = TITLE - // Factory of scheduler services. - // - // = DESCRIPTION - // This class acts as a factory for scheduler servers. At config - // time it will return a remote server, which will actually - // compute the scheduling parameters. At run-time it returns a - // local server, which will use the results of the config runs to - // actually do the scheduling, without incurring in RPC overheads. -{ -public: - struct POD_RT_Info - // = TITLE - // Plain Old Data for RT_Infos. - // - // = DESCRIPTION - // This class provide us with a plain old data version of - // RT_Info, this is useful for implementing static arrays or of - // those. - { - const char* entry_point; - RtecScheduler::handle_t handle; - RtecScheduler::Time worst_case_execution_time; - RtecScheduler::Time typical_execution_time; - RtecScheduler::Time cached_execution_time; - RtecScheduler::Period period; - RtecScheduler::Importance importance; - RtecScheduler::Quantum quantum; - CORBA::Long threads; - RtecScheduler::OS_Priority priority; - RtecScheduler::Sub_Priority subpriority; - RtecScheduler::Preemption_Priority preemption_priority; - }; - - static int use_config (CosNaming::NamingContext_ptr naming); - // Setup the variables needed for a config run, using the - // NamingContext to locate a Scheduler. - - static int use_config (CORBA::ORB_ptr orb); - // Setup the variable needed for a config run, using an environment - // variable to locate a Scheduler. - - static int use_runtime (int entry_count, - POD_RT_Info rt_info[]); - // Disable config runs in the Factory and setups the precomputed - // scheduling. - - static RtecScheduler::Scheduler_ptr server (void); - // Return the Real-time Scheduling Service used for this run. - // Must have been configured either using use_context() or use_data(). - // - // Normally use_data() is called at static elaboration time, so - // everything is automatic. - // On config runs use_context() is called from main, after - // resolve_initial_references. - - static int dump_schedule (const RtecScheduler::RT_Info_Set& infos, - const char* file_name = 0); - // This helper function will dump the schedule returned by a - // RtecScheduler::Scheduler into a file, the file can be compiled to - // create an efficient local implementation of the Scheduler. - - // TODO: How to do cleanup()? Use the ACE_Object_Manager stuff? - -protected: - static int no_config_run (void); - // By default this factory assumes we are runnning a config - // run. Calling this method disables that. - // Since the methods returns an int it can be used to initialize a - // static variable, hence calling it before main(); this technique - // can be used in the code emitted for the run-time scheduler, - // automagically disabling the config_run() when that code is linked - // in. - -private: - static RtecScheduler::Scheduler_ptr server_; -}; - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Factory.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_SCHEDULER_FACTORY_H */ diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i deleted file mode 100644 index 8d85b9d5a37..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.i +++ /dev/null @@ -1,6 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp deleted file mode 100644 index ffea37fb9fe..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -#include "ace/OS.h" - -#include "orbsvcs/Scheduler_Utilities.h" - -#if ! defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Utilities.i" -#endif /* __ACE_INLINE__ */ - diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h deleted file mode 100644 index b0b3b529722..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.h +++ /dev/null @@ -1,46 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -#ifndef ACE_SCHEDULER_UTILITIES_H -#define ACE_SCHEDULER_UTILITIES_H - -#include "ace/OS.h" - -#include "orbsvcs/RtecSchedulerC.h" - -class ACE_RT_Info : public RtecScheduler::RT_Info - // = TITLE - // Offers a convenient C++ interface to the IDL RT_Info structure. - // - // = DESCRIPTION - // For performance reasons the RT_Info data is represented as an - // IDL structure, this permits sending complete RT_Info's from the - // client to the server. - // Unfortunately this precludes the usage of member functions and - // constructors, this class serves as a helper to implement those - // without loosing the performance on IDL. -{ -public: - ACE_RT_Info (const char* entry_point, - RtecScheduler::Time worst_time, - RtecScheduler::Time typical_time, - RtecScheduler::Time cached_time, - RtecScheduler::Period period, - RtecScheduler::Importance importance, - RtecScheduler::Quantum quantum, - CORBA::Long threads); - - ACE_RT_Info (const RtecScheduler::RT_Info& rt_info); - - int add_dependency(RtecScheduler::handle_t dep, - int number_of_calls = 1); -}; - -#if defined (__ACE_INLINE__) -#include "orbsvcs/Scheduler_Utilities.i" -#endif /* __ACE_INLINE__ */ - -#endif /* ACE_SCHEDULER_UTILITIES_H */ diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i b/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i deleted file mode 100644 index 1d62ceffaf5..00000000000 --- a/TAO/orbsvcs/orbsvcs/Scheduler_Utilities.i +++ /dev/null @@ -1,32 +0,0 @@ -// ============================================================================ -// -// $Id$ -// -// ============================================================================ - -ACE_INLINE -ACE_RT_Info::ACE_RT_Info (const char* entry_point_, - RtecScheduler::Time worst_time_, - RtecScheduler::Time typical_time_, - RtecScheduler::Time cached_time_, - RtecScheduler::Period period_, - RtecScheduler::Importance importance_, - RtecScheduler::Quantum quantum_, - CORBA::Long threads_) -{ - this->entry_point = entry_point_; - this->worst_case_execution_time = worst_time_; - this->typical_execution_time = typical_time_; - this->cached_execution_time = cached_time_; - this->period = period_; - this->importance = importance_; - this->quantum = quantum_; - this->threads = threads_; -} - -ACE_INLINE -ACE_RT_Info::ACE_RT_Info (const RtecScheduler::RT_Info& rt_info) - : RtecScheduler::RT_Info (rt_info) -{ -} - diff --git a/TAO/orbsvcs/orbsvcs/orbsvcs.dsw b/TAO/orbsvcs/orbsvcs/orbsvcs.dsw deleted file mode 100644 index 70a8a046488..00000000000 --- a/TAO/orbsvcs/orbsvcs/orbsvcs.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "orbsvcs_lib"=.\orbsvcs_lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/TAO/orbsvcs/orbsvcs/orbsvcs_lib.dsp b/TAO/orbsvcs/orbsvcs/orbsvcs_lib.dsp deleted file mode 100644 index 4d11f05f55b..00000000000 --- a/TAO/orbsvcs/orbsvcs/orbsvcs_lib.dsp +++ /dev/null @@ -1,425 +0,0 @@ -# Microsoft Developer Studio Project File - Name="orbsvcs_lib" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=orbsvcs_lib - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "orbsvcs_lib.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "orbsvcs_lib.mak" CFG="orbsvcs_lib - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "orbsvcs_lib - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "orbsvcs_lib - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /Z7 /Od /I ".." /I "../.." /I "../../.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF
-
-# Begin Target
-
-# Name "orbsvcs_lib - Win32 Release"
-# Name "orbsvcs_lib - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "*.idl,*.cpp"
-# Begin Source File
-
-SOURCE=.\Channel_Clients.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosNaming.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\CosNaming.idl
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler on CosNaming
-InputPath=.\CosNaming.idl
-InputName=CosNaming
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosNamingC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CosNamingS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Event_Utilities.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventChannelAdmin.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\RtecEventChannelAdmin.idl
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler RtecEventChannelAdmin
-InputPath=.\RtecEventChannelAdmin.idl
-InputName=RtecEventChannelAdmin
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventChannelAdminC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventChannelAdminS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventComm.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\RtecEventComm.idl
-
-BuildCmds= \
- ,,\,,\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler on RtecEventComm
-InputPath=.\RtecEventComm.idl
-InputName=RtecEventComm
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventCommC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecEventCommS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecScheduler.idl
-
-!IF "$(CFG)" == "orbsvcs_lib - Win32 Release"
-
-# Begin Custom Build - Invoking TAO IDL compiler
-InputPath=.\RtecScheduler.idl
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl ${InputName}.idl
-
-"${InputName}C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"${InputName}S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "orbsvcs_lib - Win32 Debug"
-
-# Begin Custom Build - Invoking TAO IDL compiler on RtecScheduler
-InputPath=.\RtecScheduler.idl
-InputName=RtecScheduler
-
-BuildCmds= \
- ..\..\TAO_IDL\tao_idl $(InputName).idl
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecSchedulerC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RtecSchedulerS.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Runtime_Scheduler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Factory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Utilities.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "*.h"
-# Begin Source File
-
-SOURCE=.\Channel_Clients.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Channel_Clients_T.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Event_Service_Constants.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Event_Utilities.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Runtime_Scheduler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Factory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Utilities.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "*.i"
-# Begin Source File
-
-SOURCE=.\Event_Utilities.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\Runtime_Scheduler.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Factory.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scheduler_Utilities.i
-# End Source File
-# End Group
-# End Target
-# End Project
|