Use =default for skeleton copy constructor
[ACE_TAO.git] / TAO / orbsvcs / orbsvcs / RtecBase.idl
bloba767c3f920f07cfa8f21f5cbe1900278fa800cd6
1 /**
2 * @file RtecBase.idl
4 * @brief Define the RtecBase module
6 * RtecBase.idl,v 1.2 2001/09/17 20:50:34 coryan Exp
8 * @author Carlos O'Ryan <coryan@uci.edu>
9 */
11 #ifndef TAO_RTEC_BASE_IDL
12 #define TAO_RTEC_BASE_IDL
14 /**
15 * @namespace RtecBase
17 * @brief Define types shared by the real-time scheduling and event
18 * services.
20 * These types are defined in a separate module to decouple the
21 * real-time event services from the scheduling service interface (and
22 * implementation!)
24 module RtecBase
26 /// Specify type of call.
27 enum Dependency_Type_t
29 /// One-way call.
30 ONE_WAY_CALL,
31 /// Two-way call.
32 TWO_WAY_CALL
35 /// Provide a fast, low-footprint identifier for RT_Infos.
36 /**
37 * The Event and Scheduling Service need to communicate information
38 * about RT_Infos (descriptions about the scheduling properties of a
39 * simple operation). On a centralized application one would use
40 * pointers for such a task, but obviously that does not work on a
41 * distributed system.
42 * It is tempting to use object references to identify each RT_Info,
43 * but that does not work either: first the *contents* of the
44 * RT_Info must be transmitted between applications, and object
45 * references are not good identifiers (due to the semantics of
46 * _is_equivalent())
48 * The handle_t type is used to generate unique identifiers on the
49 * scheduling service, the Event Service can then refer to any
50 * RT_Info using either their name or the quicker handle_t.
52 typedef long handle_t;
54 enum Dependency_Enabled_Type_t
55 // Specify whether a dependency is enabled, disabled, or
56 // non-volatile (enabled + cannot be disabled automatically).
58 DEPENDENCY_DISABLED,
59 DEPENDENCY_ENABLED,
60 DEPENDENCY_NON_VOLATILE
63 /// Define dependencies between two RT_Infos
64 struct Dependency_Info
66 /// Type of dependency
67 Dependency_Type_t dependency_type;
69 /// Number of times the dependency is called
70 long number_of_calls;
72 /// Dependency
73 handle_t rt_info;
75 handle_t rt_info_depended_on;
76 Dependency_Enabled_Type_t enabled;
77 // Notice the reference to the RT_Info we
78 // depend on.
81 /// Helper typedef to define the OS priority.
82 typedef long OS_Priority;
84 /// Helper typedef to define the OS-independent priority
85 typedef long Preemption_Priority_t;
87 /// Helper typedef to define the OS-independent sub-priority
88 typedef long Preemption_Subpriority_t;
91 #endif /* TAO_RTEC_BASE_IDL */