Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef KOGMO_RTDB_H
00010 #define KOGMO_RTDB_H
00011
00012
00013
00014
00015 #ifdef KOGNIMOBIL_OLD_INCLUDES
00016 #ifndef KOGMO_RTDB_OBJ_TYPEIDS_PROJECT1_FILE
00017 #define KOGMO_RTDB_OBJ_TYPEIDS_PROJECT1_FILE "kogmo_rtdb_obj_typeids.h"
00018 #endif
00019 #ifndef KOGMO_RTDB_OBJ_DEFS_PROJECT1_FILE
00020 #define KOGMO_RTDB_OBJ_DEFS_PROJECT1_FILE "kogmo_rtdb_obj_defs.h"
00021 #endif
00022 #ifndef KOGMO_RTDB_OBJ_CLASSES_PROJECT1_FILE
00023 #define KOGMO_RTDB_OBJ_CLASSES_PROJECT1_FILE "kogmo_rtdb_obj_classes.hxx"
00024 #endif
00025 #endif
00026
00027
00028
00029 #include "kogmo_time.h"
00030 #include "kogmo_rtdb_types.h"
00031 #include "kogmo_rtdb_funcs.h"
00032
00033
00034 #include "kogmo_rtdb_obj_tids.h"
00035
00036
00037 #include "kogmo_rtdb_obj_base.h"
00038 #include "kogmo_rtdb_obj_base_funcs.h"
00039
00040
00041 #ifdef __cplusplus
00042 #include "kogmo_time.hxx"
00043 #include "kogmo_rtdb_conn.hxx"
00044 #include "kogmo_rtdb_obj_base_classes.hxx"
00045 #include "kogmo_rtdb_obj_base_system_classes.hxx"
00046 #endif
00047
00048
00049
00050 #ifdef __cplusplus
00051 #define DEFINE_KOGMO_RTDB_OBJECT(Name,TypeID,Description,Definition) \
00052 namespace KogniMobil { \
00053 extern "C" { \
00054 \
00055 typedef PACKED_struct { \
00056 Definition \
00057 } kogmo_rtdb_subobj_ ## Name ## _t; \
00058 typedef PACKED_struct { \
00059 kogmo_rtdb_subobj_base_t base; \
00060 kogmo_rtdb_subobj_ ## Name ## _t data; \
00061 } kogmo_rtdb_obj_ ## Name ## _t; \
00062 }; \
00063 typedef RTDBObj_T < kogmo_rtdb_subobj_ ## Name ## _t, TypeID , RTDBObj > Name ## _T; \
00064 }
00065 #else
00066 #define DEFINE_KOGMO_RTDB_OBJECT(Name,TypeID,Description,Definition) \
00067 \
00068 typedef PACKED_struct { \
00069 Definition \
00070 } kogmo_rtdb_subobj_ ## Name ## _t; \
00071 typedef PACKED_struct { \
00072 kogmo_rtdb_subobj_base_t base; \
00073 kogmo_rtdb_subobj_ ## Name ## _t data; \
00074 } kogmo_rtdb_obj_ ## Name ## _t;
00075 #endif
00076
00077
00078
00079
00080
00081
00082 #if ! defined(KOGMO_RTDB_DONT_INCLUDE_ALL_OBJECTS)
00083
00084 #ifdef KOGMO_RTDB_OBJ_DEFS_PROJECT1_FILE
00085 #include KOGMO_RTDB_OBJ_DEFS_PROJECT1_FILE
00086 #endif
00087
00088 #ifdef KOGMO_RTDB_OBJ_DEFS_SUBPROJECT1_FILE
00089 #include KOGMO_RTDB_OBJ_DEFS_SUBPROJECT1_FILE
00090 #endif
00091
00092 #ifdef KOGMO_RTDB_OBJ_DEFS_PRIVATE1_FILE
00093 #include KOGMO_RTDB_OBJ_DEFS_PRIVATE1_FILE
00094 #endif
00095
00096 #ifdef KOGMO_RTDB_OBJ_DEFS_PROJECT2_FILE
00097 #include KOGMO_RTDB_OBJ_DEFS_PROJECT2_FILE
00098 #endif
00099
00100 #ifdef KOGMO_RTDB_OBJ_DEFS_SUBPROJECT2_FILE
00101 #include KOGMO_RTDB_OBJ_DEFS_SUBPROJECT2_FILE
00102 #endif
00103
00104 #ifdef KOGMO_RTDB_OBJ_DEFS_PRIVATE2_FILE
00105 #include KOGMO_RTDB_OBJ_DEFS_PRIVATE2_FILE
00106 #endif
00107
00108 #ifdef KOGMO_RTDB_OBJ_DEFS_AUTOGENERATED_FILE
00109 #include KOGMO_RTDB_OBJ_DEFS_AUTOGENERATED_FILE
00110 #endif
00111
00112
00113 #ifdef __cplusplus
00114
00115 #ifdef KOGMO_RTDB_OBJ_CLASSES_PROJECT1_FILE
00116 #include KOGMO_RTDB_OBJ_CLASSES_PROJECT1_FILE
00117 #endif
00118
00119 #ifdef KOGMO_RTDB_OBJ_CLASSES_SUBPROJECT1_FILE
00120 #include KOGMO_RTDB_OBJ_CLASSES_SUBPROJECT1_FILE
00121 #endif
00122
00123 #ifdef KOGMO_RTDB_OBJ_CLASSES_PRIVATE1_FILE
00124 #include KOGMO_RTDB_OBJ_CLASSES_PRIVATE1_FILE
00125 #endif
00126
00127 #ifdef KOGMO_RTDB_OBJ_CLASSES_PROJECT2_FILE
00128 #include KOGMO_RTDB_OBJ_CLASSES_PROJECT2_FILE
00129 #endif
00130
00131 #ifdef KOGMO_RTDB_OBJ_CLASSES_SUBPROJECT2_FILE
00132 #include KOGMO_RTDB_OBJ_CLASSES_SUBPROJECT2_FILE
00133 #endif
00134
00135 #ifdef KOGMO_RTDB_OBJ_CLASSES_PRIVATE2_FILE
00136 #include KOGMO_RTDB_OBJ_CLASSES_PRIVATE2_FILE
00137 #endif
00138
00139 #include "kogmo_rtdb_obj_dump.hxx"
00140
00141 #endif
00142
00143 #endif
00144
00145
00146 #endif