Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00040 #ifndef __TYPES_H__
00041 #define __TYPES_H__
00042
00043
00044
00045 #include <string>
00046 #include <list>
00047 #include <designators/CDesignator.h>
00048 #include <vector>
00049 #include <map>
00050
00051
00052 #include <Node.h>
00053
00054
00055 namespace beliefstate {
00056 class PluginInstance;
00057
00059 typedef enum {
00061 SI_REQUEST,
00063 SI_RESPONSE
00064 } ServiceIdentifier;
00065
00067 typedef enum {
00069 SM_FIRST_RESULT,
00071 SM_AGGREGATE_RESULTS,
00073 SM_IGNORE_RESULTS
00074 } ServiceModifier;
00075
00080 typedef enum {
00084 RI_NONE,
00086 RI_PLUGIN_LOADING_FAILED,
00088 RI_CONFIG_FILE_NOT_FOUND,
00090 RI_FILE_NOT_FOUND,
00092 RI_PLUGIN_DEPENDENCY_NOT_MET,
00101 RI_PLUGIN_DEVELOPMENT_NOT_LOADING
00102 } ResultIdentifier;
00103
00105 typedef struct {
00107 std::string strColorCode;
00109 bool bBold;
00114 std::string strPrefix;
00116 std::string strMessage;
00117 } StatusMessage;
00118
00120 typedef struct {
00128 std::string strEventName;
00129 int nContextID;
00134 CDesignator* cdDesignator;
00135 std::string strSupplementary;
00137 std::string strAnnotation;
00139 int nOriginID;
00140 int nOpenRequestID;
00141 bool bRequest;
00142 bool bPreempt;
00143 StatusMessage msgStatusMessage;
00145 std::list<Node*> lstNodes;
00146 std::list<Node*> lstRootNodes;
00147 std::list< std::pair<std::string, std::string> > lstDesignatorIDs;
00148 std::list< std::pair<std::string, std::string> > lstEquations;
00149 std::list< std::pair<std::string, std::string> > lstEquationTimes;
00150 int nSequenceNumber;
00151 } Event;
00152
00154 typedef struct {
00155 ServiceIdentifier siServiceIdentifier;
00156 ServiceModifier smResultModifier;
00157 std::string strServiceName;
00158 int nServiceEventID;
00159 bool bPreserve;
00160 int nRequesterID;
00161 CDesignator* cdDesignator;
00162 std::list<Event> lstResultEvents;
00163 int nSequenceNumber;
00164 } ServiceEvent;
00165
00170 typedef struct {
00171
00172 bool bSuccess;
00173 ResultIdentifier riResultIdentifier;
00174 std::list<Event> lstEvents;
00175 std::list<ServiceEvent> lstServiceEvents;
00176
00177
00178 std::string strErrorMessage;
00179
00180
00181 std::list<StatusMessage> lstStatusMessages;
00182
00183 PluginInstance* piPlugin;
00184 } Result;
00185
00189 typedef struct {
00190
00191 std::string strBaseDataDirectory;
00192 std::string strExperimentNameMask;
00193
00194
00195 std::string strExperimentDirectory;
00196 std::string strSymlinkName;
00197
00198
00199 bool bUseMongoDB;
00200 std::string strMongoDBHost;
00201 int nMongoDBPort;
00202 std::string strMongoDBDatabase;
00203
00204
00205 bool bLoadDevelopmentPlugins;
00206 bool bFailedPluginsInvalidateStartup;
00207
00208
00209 std::vector<std::string> vecPluginOutputColors;
00210
00211
00212 bool bDisplayUnhandledEvents;
00213 bool bDisplayUnhandledServiceEvents;
00214 bool bOnlyDisplayImportant;
00215 } ConfigSettings;
00216 }
00217
00218
00219 #endif