UniSet  2.24.2
UniSetTypes_i.idl
1 /*
2  * Copyright (c) 2015 Pavel Vainerman.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as
6  * published by the Free Software Foundation, version 2.1.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Lesser Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 // --------------------------------------------------------------------------
20 // --------------------------------------------------------------------------
21 #ifndef UniSetTypes_i_IDL_
22 #define UniSetTypes_i_IDL_
23 // --------------------------------------------------------------------------
24 #include "UniSetBaseConstants.idl"
25 // --------------------------------------------------------------------------
26 //module UniSet
27 //{
28  module uniset
29  {
30  typedef long ObjectId;
31  typedef long ThresholdId;
32  typedef long TimerId;
33  typedef string<SizeOfObjectType> ObjectType;
35  typedef octet ByteOfMessage;
36  typedef ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage];
45  {
47  ObjectId consumer;
48  };
49 
50 
54  struct NodeInfo
55  {
56  ObjectId id;
57  boolean connected;
58  ObjectId dbserver;
59  string<30> host;
60  string<10> port;
61  };
62 
64  struct SimpleInfo
65  {
66  ObjectId id;
67  string info;
68  };
69 
70  typedef sequence<SimpleInfo> SimpleInfoSeq;
71 
72 
74  struct ConsumerInfo
75  {
78  };
79 
81  struct ProducerInfo
82  {
85  };
86 
87 
89  typedef sequence<ObjectId> IDSeq;
90 
91 
93  struct Timespec
94  {
95  unsigned long long sec; /* Seconds. */
96  unsigned long nsec; /* nanoseconds. */
97  };
98 
99  };// end of module uniset
100 
101 
102  module UniversalIO
103  {
107  enum IOType
108  {
109  UnknownIOType,
110  DI, // DigitalInput
111  DO, // DigitalOutput
112  AI, // AnalogInput
113  AO // AnalogOutput
114  };
115 
117  enum UIOCommand
118  {
119  UIONotify,
120  UIODontNotify,
121  UIONotifyChange,
122  UIONotifyFirstNotNull
123  };
124 
125  }; // end of module UniversalIO
126 
127 //}; // end of module UniSet
128 // --------------------------------------------------------------------------------------------------------------
129 #endif // of UniSetTypes_i_IDL
Definition: CommonEventLoop.h:15
ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage]
Definition: UniSetTypes_i.idl:36
string< SizeOfObjectType > ObjectType
Definition: UniSetTypes_i.idl:33
long ThresholdId
Definition: UniSetTypes_i.idl:31
sequence< ObjectId > IDSeq
Definition: UniSetTypes_i.idl:89
long ObjectId
Definition: UniSetTypes_i.idl:30
octet ByteOfMessage
Definition: UniSetTypes_i.idl:35
long TimerId
Definition: UniSetTypes_i.idl:32
Definition: UniSetTypes_i.idl:75
ObjectId id
Definition: UniSetTypes_i.idl:76
ObjectId node
Definition: UniSetTypes_i.idl:77
Definition: UniSetTypes_i.idl:55
Definition: UniSetTypes_i.idl:82
ObjectId node
Definition: UniSetTypes_i.idl:84
ObjectId id
Definition: UniSetTypes_i.idl:83
Definition: UniSetTypes_i.idl:65
Definition: UniSetTypes_i.idl:94
Definition: UniSetTypes_i.idl:45