UniSet  2.6.0
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  {
46  RawDataOfTransportMessage data;
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  {
76  ObjectId id;
77  ObjectId node;
78  };
79 
80 
82  typedef sequence<ObjectId> IDSeq;
83 
84 
85  };// end of module uniset
86 
87 
88  module UniversalIO
89  {
93  enum IOType
94  {
95  UnknownIOType,
96  DI, // DigitalInput
97  DO, // DigitalOutput
98  AI, // AnalogInput
99  AO // AnalogOutput
100  };
101 
103  enum UIOCommand
104  {
105  UIONotify,
106  UIODontNotify,
107  UIONotifyChange,
108  UIONotifyFirstNotNull
109  };
110 
111  }; // end of module UniversalIO
112 
113 //}; // end of module UniSet
114 // --------------------------------------------------------------------------------------------------------------
115 #endif // of UniSetTypes_i_IDL
Definition: CallbackTimer.h:29
long ThresholdId
Definition: UniSetTypes_i.idl:31
Definition: UniSetTypes_i.idl:88
ObjectId node
Definition: UniSetTypes_i.idl:77
Definition: UniSetTypes_i.idl:74
sequence< ObjectId > IDSeq
Definition: UniSetTypes_i.idl:82
long TimerId
Definition: UniSetTypes_i.idl:32
ObjectId id
Definition: UniSetTypes_i.idl:76
Definition: UniSetTypes_i.idl:44
ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage]
Definition: UniSetTypes_i.idl:36
string< SizeOfObjectType > ObjectType
Definition: UniSetTypes_i.idl:33
Definition: UniSetTypes_i.idl:64
octet ByteOfMessage
Definition: UniSetTypes_i.idl:35
Definition: UniSetTypes_i.idl:54
long ObjectId
Definition: UniSetTypes_i.idl:30