00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00030 #ifndef _OT_LIB_H
00031 #define _OT_LIB_H
00032
00033
00034 #include <iostream>
00035 #include <sstream>
00036 #include <string>
00037 #include <list>
00038 #include <map>
00039 #include <vector>
00040
00041 #include <cc++/buffer.h>
00042 #include <cc++/socket.h>
00043 #include <cstdlib>
00044
00045
00046 using namespace std;
00047
00048
00049
00050 namespace ot_lib
00051 {
00052
00053
00054 #define OT_LIB_VERSION 4.1
00055
00056
00057
00058 typedef enum {
00059 OT_NULL,
00060 OT_INT,
00061 OT_UINT,
00062 OT_FLOAT,
00063 OT_STRING,
00064 OT_VECTOR,
00065 OT_MAP,
00066 OT_LIST,
00067 OT_TIME,
00068 OT_RAWDATA,
00069 OT_IOR,
00070 OT_BOOL,
00071 OT_PATH,
00072
00073 OT_EX_INTERFACE_NOT_EX_FOUND,
00074 OT_EX_CODEC_DECODING_ERROR,
00075 OT_EX_ACCESS_DENY,
00076 OT_EX_FUNCTION_NOT_EX_FOUND,
00077 OT_EX_OUT_OF_MEMORY,
00078 OT_EX_ELEMENT_DELETION_ERROR,
00079 OT_EX_INVALID_INTERFACE_NAME,
00080 OT_EX_INVALID_ATTRIBUTE_NAME,
00081 OT_EX_INVALID_FUNCTION_NAME,
00082 OT_EX_INTERFACE_ALREADY_PRESENT,
00083 OT_EX_ELEMENT_ALREADY_PRESENT,
00084 OT_EX_INTERFACE_ELEMENT_NOT_FOUND,
00085 OT_EX_INTERFACE_FULL,
00086 OT_EX_INTERNAL_ERROR,
00087 OT_EX_ATTRIBUTE_LOCKED,
00088 OT_EX_ENCODING_ERROR,
00089 OT_EX_DECODING_ERROR,
00090 OT_EX_SOCKET_SERVER_INIT_FAILED,
00091 OT_EX_SOCKET_SERVER_BIND_FAILED,
00092 OT_EX_SOCKET_SERVER_SOCKET_CREATION_ERROR,
00093 OT_EX_SOCKET_UTILITY_CONNECTION_FAILED,
00094 OT_EX_SOCKET_UTILITY_WRITING_ERROR,
00095 OT_EX_SOCKET_UTILITY_READING_ERROR,
00096 OT_EX_CODEC_NOT_FOUND,
00097 OT_EX_CODEC_REGISTRATION_FAILED,
00098 } OT_OBJECT_TYPE;
00099
00100
00101
00102 typedef enum {IE_PUBLIC,IE_PRIVATE,IE_DENY} OT_IE_ACCESS;
00103 typedef enum {IE_LOCKED,IE_UNLOCKED} OT_IE_STATUS;
00104
00105
00106
00107
00108 #include "ot_utility.h"
00109 #include "core/ot_xml.h"
00110 #include "core/ot_obj.h"
00111 #include "core/ot_objectFactory.h"
00112 #include "core/ot_exception.h"
00113 #include "core/ot_null.h"
00114 #include "core/ot_bool.h"
00115 #include "core/ot_num.h"
00116 #include "core/ot_int.h"
00117 #include "core/ot_uint.h"
00118 #include "core/ot_float.h"
00119 #include "core/ot_string.h"
00120 #include "core/ot_containerElement.h"
00121 #include "core/ot_list.h"
00122 #include "core/ot_vector.h"
00123 #include "core/ot_map.h"
00124 #include "core/ot_time.h"
00125 #include "core/ot_raw_data.h"
00126 #include "core/ot_ior.h"
00127 #include "core/ot_path.h"
00128
00129 #include "messages/ot_message.h"
00130 #include "messages/ot_messageAction.h"
00131 #include "messages/ot_messageDump.h"
00132 #include "messages/ot_messageError.h"
00133 #include "messages/ot_messageGet.h"
00134 #include "messages/ot_messagePing.h"
00135 #include "messages/ot_messageSet.h"
00136
00137 #include "codec/ot_codec.h"
00138 #include "codec/ot_codecStd.h"
00139 #include "codec/ot_codecGZip.h"
00140 #include "codec/ot_codecRepository.h"
00141
00142 #include "interface/ot_interfaceElement.h"
00143 #include "interface/ot_interfaceRepository.h"
00144 #include "interface/ot_interface.h"
00145 #include "interface/ot_manager.h"
00146 #include "interface/ot_functionManager.h"
00147
00148 #include "net/ot_socketUtility.h"
00149 #include "net/server/ot_serverTCPSocket.h"
00150 #include "net/server/ot_socketServer.h"
00151 #include "net/client/ot_socketManager.h"
00152
00153
00154
00155
00156 #define OT_ASSERT(X) if(!X) {cerr << "**** OT_LIB : ASSERT failed ! file:" << __FILE__ << " line:" << __LINE__ << " [" << #X << "]" << endl;exit(1);}
00157
00158 #define OT_DEBUG_CRITICAL(X) cerr << "**** OT_LIB DEBUG (CRITICAL) : " << X << " file:" << __FILE__ << " line:" << __LINE__ << endl
00159 #define OT_DEBUG_WARNING(X) cerr << "**** OT_LIB DEBUG (WARNING) : " << X << " file:" << __FILE__ << " line:" << __LINE__ << endl
00160
00161 #ifdef DEBUG_OTLIB
00162
00163 #define OT_DEBUG_INFO(X) cout << "**** OT_LIB DEBUG (INFO) : " << X << " file:" << __FILE__ << " line:" << __LINE__ << endl
00164
00165 #else
00166 #define OT_DEBUG_INFO(X)
00167 #endif
00168
00169
00170 #define OT_DEBUG_CRITICAL_FL(X,F,L) cerr << "**** OT_LIB DEBUG (CRITICAL) : " << X << " file:" << F << " line:" << L << endl
00171
00172
00173
00174 #define OT_ASSERT_WE(X,EC) \
00175 { \
00176 try \
00177 { \
00178 X; \
00179 } \
00180 catch(const ot_exception &e) \
00181 { \
00182 if(e.getType() != EC) {cerr << "**** OT_LIB : ASSERT failed ! file:" << __FILE__ << " line:" << __LINE__ << " [" << #X << "]" << endl;exit(1);} \
00183 } \
00184 catch(...) \
00185 { \
00186 cerr << "**** OT_LIB : ASSERT failed ! file:" << __FILE__ << " line:" << __LINE__ << " [" << #X << "]" << endl;exit(1); \
00187 } \
00188 }
00189
00190
00191
00192
00193
00194 }
00195
00196 #endif
00197