UniSet  2.0.0
UniSetTypes_i.idl
См. документацию.
00001 /* This file is part of the UniSet project
00002  * Copyright (c) 2002 Free Software Foundation, Inc.
00003  * Copyright (c) 2002 Pavel Vainerman
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018  */
00019 // --------------------------------------------------------------------------
00023 // --------------------------------------------------------------------------
00024 #ifndef UniSetTypes_i_IDL_
00025 #define UniSetTypes_i_IDL_
00026 // --------------------------------------------------------------------------
00027 //module UniSet
00028 //{
00029     module UniSetTypes
00030     {
00031         typedef long ObjectId;          
00032         typedef long ThresholdId;       
00033         typedef long TimerId;           
00034         typedef string<30> ObjectType;  
00036         const unsigned short SizeOfTransportMessage=85;
00037 
00038         typedef octet ByteOfMessage;        
00039         typedef ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage];    
00047         struct TransportMessage
00048         {
00049             RawDataOfTransportMessage data;
00050         };
00051 
00052 
00056         struct NodeInfo
00057         {
00058             ObjectId id;
00059             boolean connected;
00060             ObjectId dbserver;
00061             string host;
00062             string port;
00063         };
00064 
00066         struct SimpleInfo
00067         {
00068             ObjectId id;
00069             string info;
00070         };
00071 
00072         typedef sequence<SimpleInfo> SimpleInfoSeq;
00073 
00074 
00076         struct ConsumerInfo
00077         {
00078             ObjectId id;    
00079             ObjectId node;  
00080         };
00081 
00082 
00084         typedef sequence<ObjectId> IDSeq;
00085 
00086 
00087     };// end of module UniSetTypes
00088 
00089 
00090     module UniversalIO
00091     {
00095         enum IOType
00096         {
00097             UnknownIOType,
00098             DI, // DigitalInput
00099             DO, // DigitalOutput
00100             AI, // AnalogInput
00101             AO  // AnalogOutput
00102         };
00103 
00105          enum UIOCommand
00106          {
00107              UIONotify,            
00108              UIODontNotify,        
00109              UIONotifyChange,      
00110              UIONotifyFirstNotNull 
00111          };
00112 
00113     };    // end of module UniversalIO
00114 
00115 //};    // end of module UniSet
00116 // --------------------------------------------------------------------------------------------------------------
00117 #endif // of UniSetTypes_i_IDL