OSDLEngineCommon.h

Go to the documentation of this file.
00001 #ifndef OSDL_ENGINE_COMMON_H_
00002 #define OSDL_ENGINE_COMMON_H_
00003 
00004 
00005 
00006 #include "OSDLException.h"            // for Exception
00007 
00008 #include <string>
00009 #include <list>
00010 
00011 
00012 
00013 /*
00014  * This file has for purpose to solve all intricated dependency links 
00015  * existing between the scheduler, the active objects and the periodic slots.
00016  *
00017  */
00018  
00019  
00020 
00021 namespace OSDL
00022 {
00023 
00024 
00025     namespace Engine 
00026     {
00027     
00028     
00029         
00030         // Forward declaration.
00031         class ActiveObject ;
00032         
00033         
00035         class OSDL_DLL EngineException : public OSDL::Exception
00036         {
00037             public:
00038         
00039                 explicit EngineException( const std::string & reason ) throw() ;
00040                 virtual ~EngineException() throw() ;
00041             
00042         } ;
00043 
00044         
00045         
00047         class OSDL_DLL SchedulingException : public EngineException
00048         {
00049             public:
00050         
00051                 explicit SchedulingException( const std::string & reason )
00052                     throw() ;
00053                 virtual ~SchedulingException() throw() ;
00054             
00055         } ;
00056 
00057 
00066         typedef std::list<ActiveObject *> ListOfActiveObjects ;
00067         
00068 
00069 
00078         typedef Ceylan::Uint16 Weight ;
00079         
00080         
00096         enum ObjectSchedulingPolicy { relaxed, strict } ;
00097         
00098     
00099     
00100     }
00101     
00102 }   
00103 
00104 
00105 #endif // OSDL_ENGINE_COMMON_H_
00106 

Generated on Fri Mar 30 14:46:59 2007 for OSDL by  doxygen 1.5.1