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
00039 #ifndef RC_EVENT_QUEUE_ACCESSOR_H_
00040 #define RC_EVENT_QUEUE_ACCESSOR_H_
00041
00042 #include "ReChannel/communication/accessors/rc_accessor.h"
00043
00044 namespace ReChannel {
00045
00049 RC_FALLBACK_INTERFACE(sc_event_queue_if)
00050 {
00051 public:
00052 virtual void notify(double t, sc_time_unit tu)
00053 { }
00054 virtual void notify(const sc_time& t)
00055 { }
00056 virtual void cancel_all()
00057 { }
00058 virtual const sc_event& default_event() const
00059 {
00060 SC_REPORT_WARNING(RC_ID_UNDEFINED_EVENT_WARNING_, 0);
00061 return p_undef;
00062 }
00063 private:
00064 sc_event p_undef;
00065 };
00066
00070 RC_ACCESSOR(sc_event_queue_if)
00071 {
00072 RC_ACCESSOR_CTOR(sc_event_queue_if) { }
00073
00074 RC_EVENT(default_event);
00075
00076 virtual void notify(double t, sc_time_unit tu)
00077 {
00078 this->rc_nb_forward(&if_type::notify, t, tu);
00079 }
00080 virtual void notify(const sc_time& t)
00081 {
00082 this->rc_nb_forward(&if_type::notify, t);
00083 }
00084 virtual void cancel_all()
00085 {
00086 this->rc_nb_forward(&if_type::cancel_all);
00087 }
00088 };
00089
00090 }
00091
00092 #endif // RC_EVENT_QUEUE_ACCESSOR_H_
00093
00094
00095
00096
00097