UniSet  2.6.0
UniSetTypes_i.idl
00001 /*
00002  * Copyright (c) 2015 Pavel Vainerman.
00003  *
00004  * This program is free software: you can redistribute it and/or modify
00005  * it under the terms of the GNU Lesser General Public License as
00006  * published by the Free Software Foundation, version 2.1.
00007  *
00008  * This program is distributed in the hope that it will be useful, but
00009  * WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00011  * Lesser General Lesser Public License for more details.
00012  *
00013  * You should have received a copy of the GNU Lesser General Public License
00014  * along with this program. If not, see <http://www.gnu.org/licenses/>.
00015  */
00016 // --------------------------------------------------------------------------
00020 // --------------------------------------------------------------------------
00021 #ifndef UniSetTypes_i_IDL_
00022 #define UniSetTypes_i_IDL_
00023 // --------------------------------------------------------------------------
00024 #include "UniSetBaseConstants.idl"
00025 // --------------------------------------------------------------------------
00026 //module UniSet
00027 //{
00028     module uniset
00029     {
00030         typedef long ObjectId;          
00031         typedef long ThresholdId;       
00032         typedef long TimerId;           
00033         typedef string<SizeOfObjectType> ObjectType;  
00035         typedef octet ByteOfMessage;        
00036         typedef ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage];    
00044         struct TransportMessage
00045         {
00046             RawDataOfTransportMessage data;
00047             ObjectId consumer;
00048         };
00049 
00050 
00054         struct NodeInfo
00055         {
00056             ObjectId id;
00057             boolean connected;
00058             ObjectId dbserver;
00059             string<30> host;
00060             string<10> port;
00061         };
00062 
00064         struct SimpleInfo
00065         {
00066             ObjectId id;
00067             string info;
00068         };
00069 
00070         typedef sequence<SimpleInfo> SimpleInfoSeq;
00071 
00072 
00074         struct ConsumerInfo
00075         {
00076             ObjectId id;    
00077             ObjectId node;  
00078         };
00079 
00080 
00082         typedef sequence<ObjectId> IDSeq;
00083 
00084 
00085     };// end of module uniset
00086 
00087 
00088     module UniversalIO
00089     {
00093         enum IOType
00094         {
00095             UnknownIOType,
00096             DI, // DigitalInput
00097             DO, // DigitalOutput
00098             AI, // AnalogInput
00099             AO  // AnalogOutput
00100         };
00101 
00103          enum UIOCommand
00104          {
00105              UIONotify,            
00106              UIODontNotify,        
00107              UIONotifyChange,      
00108              UIONotifyFirstNotNull 
00109          };
00110 
00111     };    // end of module UniversalIO
00112 
00113 //};    // end of module UniSet
00114 // --------------------------------------------------------------------------------------------------------------
00115 #endif // of UniSetTypes_i_IDL