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 #ifndef OSDL_ENGINE_COMMON_H_
00028 #define OSDL_ENGINE_COMMON_H_
00029
00030
00031
00032 #include "OSDLException.h"
00033 #include "OSDLEvents.h"
00034
00035 #include <string>
00036 #include <list>
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 namespace OSDL
00051 {
00052
00053
00054
00055 namespace Engine
00056 {
00057
00058
00059
00060
00061 class ActiveObject ;
00062
00063 class PeriodicalActiveObject ;
00064 class ProgrammedActiveObject ;
00065
00066
00067
00069 class OSDL_DLL EngineException : public OSDL::Exception
00070 {
00071 public:
00072
00073 explicit EngineException( const std::string & reason ) ;
00074
00075 virtual ~EngineException() throw() ;
00076
00077 } ;
00078
00079
00080
00082 class OSDL_DLL SchedulingException : public EngineException
00083 {
00084 public:
00085
00086 explicit SchedulingException( const std::string & reason ) ;
00087
00088 virtual ~SchedulingException() throw() ;
00089
00090 } ;
00091
00092
00093
00102 typedef std::list<PeriodicalActiveObject *> ListOfActiveObjects ;
00103
00104
00105
00110 typedef std::list<PeriodicalActiveObject *>
00111 ListOfPeriodicalActiveObjects ;
00112
00113
00114
00119 typedef std::list<ProgrammedActiveObject *>
00120 ListOfProgrammedActiveObjects ;
00121
00122
00123
00132 typedef Ceylan::Uint16 Weight ;
00133
00134
00135
00151 enum ObjectSchedulingPolicy { relaxed, strict } ;
00152
00153
00154
00156 typedef std::list<Events::SimulationTick> SimulationTickList ;
00157
00158
00159
00161 typedef Ceylan::Uint32 Delay ;
00162
00163
00164
00165 }
00166
00167 }
00168
00169
00170
00171 #endif // OSDL_ENGINE_COMMON_H_
00172