diff options
author | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-14 17:38:51 +0000 |
---|---|---|
committer | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-14 17:38:51 +0000 |
commit | 02b70d21b5b2fb3c8ef6c74cb838526f18b2956e (patch) | |
tree | 62378d6f650fed55f79e1053d458b41b7298ad92 | |
parent | 0642389ac480f28e58fdf945fae9b24b85ed8d38 (diff) | |
download | ATCD-02b70d21b5b2fb3c8ef6c74cb838526f18b2956e.tar.gz |
*** empty log message ***
-rw-r--r-- | Kokyu/Kokyu.cpp | 37 | ||||
-rw-r--r-- | Kokyu/Kokyu.h | 24 | ||||
-rw-r--r-- | Kokyu/Makefile | 3 |
3 files changed, 63 insertions, 1 deletions
diff --git a/Kokyu/Kokyu.cpp b/Kokyu/Kokyu.cpp index ef5c190711b..9398e3d92cc 100644 --- a/Kokyu/Kokyu.cpp +++ b/Kokyu/Kokyu.cpp @@ -42,4 +42,41 @@ create_dispatcher (const ConfigInfoSet& config_info_set) return disp; } +ACE_INLINE void +DSRT_Dispatcher::implementation (DSRT_Dispatcher_Impl* impl) +{ + dispatcher_impl_ = impl; +} + +int +DSRT_Dispatcher::schedule (guid_t guid, const QoSDescriptor& qos) +{ + return dispatcher_impl_->schedule (guid, qos); +} + +ACE_INLINE int +DSRT_Dispatcher::update_schedule (guid_t guid, const QoSDescriptor& qos) +{ + return dispatcher_impl_->update_schedule (guid, qos); +} + +ACE_INLINE int +DSRT_Dispatcher::cancel_schedule (guid_t guid, const QoSDescriptor& qos) +{ + return dispatcher_impl_->cancel_schedule (guid, qos); +} + +DSRT_Dispatcher* +Dispatcher_Factory:: +create_DSRT_dispatcher (const DSRT_ConfigInfo& config_info) +{ + DSRT_Dispatcher_Impl* tmp; + ACE_NEW_RETURN (tmp, DSRT_Dispatcher_Impl, (DSRT_Dispatcher*)0); + DSRT_Dispatcher* disp; + ACE_NEW_RETURN (disp, DSRT_Dispatcher, (DSRT_Dispatcher*)0); + disp->implementation (tmp); + tmp->init (config_info); + return disp; +} + } diff --git a/Kokyu/Kokyu.h b/Kokyu/Kokyu.h index 4d18b0d9399..669d86f7131 100644 --- a/Kokyu/Kokyu.h +++ b/Kokyu/Kokyu.h @@ -83,6 +83,7 @@ namespace Kokyu Priority_t preemption_priority_; Deadline_t deadline_; Execution_Time_t execution_time_; + Importance_t importance_; }; class Kokyu_Export Dispatch_Command @@ -107,6 +108,27 @@ namespace Kokyu }; class Dispatcher_Impl; + class DSRT_Dispatcher_Impl; + + enum DSRT_Sched_t {SCHED_MIF}; + + struct DSRT_ConfigInfo + { + DSRT_Sched_t scheduler_type_; + }; + + typedef int guid_t; + class Kokyu_Export DSRT_Dispatcher + { + public: + int schedule (guid_t guid, const QoSDescriptor&); + int update_schedule (guid_t guid, const QoSDescriptor&); + int cancel_schedule (guid_t guid, const QoSDescriptor&); + void implementation (DSRT_Dispatcher_Impl*); + + private: + DSRT_Dispatcher_Impl* dispatcher_impl_; + }; class Kokyu_Export Dispatcher { @@ -123,6 +145,7 @@ namespace Kokyu public: //@@ Should we return auto_ptr<Dispatcher> instead? static Dispatcher* create_dispatcher (const ConfigInfoSet&); + static DSRT_Dispatcher* create_DSRT_dispatcher (const DSRT_ConfigInfo&); }; } //end of namespace @@ -131,6 +154,7 @@ namespace Kokyu #endif /* __ACE_INLINE__ */ #include "Dispatcher_Impl.h" +#include "DSRT_Dispatcher_Impl.h" #include "ace/post.h" #endif /* KOKYU_H */ diff --git a/Kokyu/Makefile b/Kokyu/Makefile index 5d6a5302e0b..87ea9a38270 100644 --- a/Kokyu/Makefile +++ b/Kokyu/Makefile @@ -13,7 +13,8 @@ CPP_SRCS += \ Kokyu \ Dispatcher_Impl \ Dispatcher_Task \ - Default_Dispatcher_Impl + Default_Dispatcher_Impl \ + DSRT_Dispatcher_Impl FILES = $(CPP_SRCS) DEFS = $(addsuffix .h,$(FILES)) |