summaryrefslogtreecommitdiff
path: root/common/OpString.idl
blob: a6d0f6713d790531407fff8628c4cc893ea1e239 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#ifndef OPERATIONAL_STRING_IDL
#define OPERATIONAL_STRING_IDL

#include "ciao/Deployment_Data.idl"

module CIAO
{
  module RACE
    {
      struct TimeValue
      {
        /* Seconds since Jan. 1, 1970 */
        long    sec;
        /* and microseconds */
        long    usec;
      };

      struct TimeWindow
      {
        TimeValue Earliest;

        TimeValue Latest;
      };

      struct InstanceDescription
      {
        string UUID;

        string name;

        string node;

        string taskId;

        string suggestedImpl;

        ::Deployment::Properties configProperty;

        TimeWindow startWindow;

        TimeWindow endWindow;
      };

      typedef sequence <InstanceDescription> InstanceDescriptions;


      typedef ::Deployment::PlanConnectionDescription DataLinkDescription;


      typedef sequence <DataLinkDescription> DataLinkDescriptions;

      enum ConnectionType
      {
        CAUSAL,
        SCHEDULING,
        THREAT
      };

      struct OrderLinkDescription
      {
        string name;

        ConnectionType type;

        ::CORBA::StringSeq source;

        ::Deployment::Requirements deployRequirement;

        ::Deployment::ComponentExternalPortEndpoints externalEndpoint;

        ::Deployment::PlanSubcomponentPortEndpoints internalEndpoint;

        ::Deployment::ExternalReferenceEndpoints externalReference;

        ::Deployment::ConnectionResourceDeploymentDescriptions deployedResource;
      };

      typedef sequence <OrderLinkDescription> OrderLinkDescriptions;


      enum QoSComparator
      {
        LESS_THAN,
        GREATER_THAN,
        EQUAL,
        LESS_THAN_EQUAL,
        GREATER_THAN_EQUAL,
        NOT_EQUAL
      };

      struct QoSSpecification
      {
        string name;

        string type;

        string MonitorID;

        QoSComparator comparator;

        any value;
      };

      typedef sequence <QoSSpecification> QoSSpecifications;

      struct OperationalString
      {

        InstanceDescriptions instances;

        DataLinkDescriptions dataLinks;

        OrderLinkDescriptions orderLinks;

        long priority;

        QoSSpecifications QoSRequirements;

        TimeWindow startWindow;

        TimeWindow endWindow;
      };


  };
};

#endif /* OPERATIONAL_STRING_IDL */