#include <Event.h>
Inheritance diagram for TAO_Notify_Event:
Public Types | |
typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Event > | Ptr |
enum | { MARSHAL_ANY = 1, MARSHAL_STRUCTURED = 2 } |
Public Member Functions | |
TAO_Notify_Event (void) | |
Constuctor. | |
virtual | ~TAO_Notify_Event () |
Destructor. | |
virtual const TAO_Notify_EventType & | type (void) const=0 |
Get the event type. | |
virtual CORBA::Boolean | do_match (CosNotifyFilter::Filter_ptr filter) const=0 |
Returns true if the filter matches. | |
virtual void | convert (CosNotification::StructuredEvent ¬ification) const=0 |
Convert to CosNotification::Structured type. | |
virtual void | push (TAO_Notify_Consumer *consumer) const=0 |
Push event to consumer. | |
virtual void | push (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder) const=0 |
Push event to the Event_Forwarder interface. | |
virtual void | push_no_filtering (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder) const=0 |
Push event to the Event_Forwarder interface. | |
virtual void | push (Event_Forwarder::ProxyPushSupplier_ptr forwarder) const=0 |
Push event to the Event_Forwarder interface. | |
virtual void | push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder) const=0 |
Push event to the Event_Forwarder interface. | |
TAO_Notify_Event * | queueable_copy () const |
Return a pointer to a copy of this event on the heap. | |
virtual void | marshal (TAO_OutputCDR &cdr) const=0 |
marshal this event into a CDR buffer (for persistence) | |
const TAO_Notify_Property_Short & | priority (void) const |
const TAO_Notify_Property_Time & | timeout (void) const |
Timeout. | |
const TAO_Notify_Property_Boolean & | reliable (void) const |
Reliable. | |
Static Public Member Functions | |
void | translate (const CORBA::Any &any, CosNotification::StructuredEvent ¬ification) |
Translate Any to Structured. | |
void | translate (const CosNotification::StructuredEvent ¬ification, CORBA::Any &any) |
Translate Structured to Any. | |
TAO_Notify_Event * | unmarshal (TAO_InputCDR &cdr) |
Unmarshal an event from a CDR. (for persistence). | |
Protected Attributes | |
TAO_Notify_Property_Short | priority_ |
= QoS properties Priority. | |
TAO_Notify_Property_Time | timeout_ |
Timeout. | |
TAO_Notify_Property_Boolean | reliable_ |
Reliability. | |
Private Member Functions | |
virtual TAO_Notify_Event * | copy () const=0 |
Return a pointer to a copy of this event on the heap. | |
virtual void | release (void) |
The release method is called when the refcount reaches 0. | |
Private Attributes | |
Ptr | clone_ |
bool | is_on_heap_ |
Definition at line 45 of file Event.h.
|
Reimplemented from TAO_Notify_Refcountable. |
|
Definition at line 53 of file Event.h.
00053 {MARSHAL_ANY=1,MARSHAL_STRUCTURED=2}; |
|
Constuctor.
Definition at line 22 of file Event.cpp.
00023 : priority_ (CosNotification::Priority, CosNotification::DefaultPriority) 00024 , timeout_ (CosNotification::Timeout) 00025 , reliable_ (CosNotification::EventReliability, false) 00026 , clone_ (0) 00027 , is_on_heap_ (false) 00028 { 00029 // if (TAO_debug_level > 0) 00030 // ACE_DEBUG ((LM_DEBUG,"event:%x created\n", this )); 00031 } |
|
Destructor.
Definition at line 33 of file Event.cpp.
00034 { 00035 // if (TAO_debug_level > 1) 00036 // ACE_DEBUG ((LM_DEBUG,"event:%x destroyed\n", this )); 00037 } |
|
Convert to CosNotification::Structured type.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. Referenced by TAO_Notify_SequencePushConsumer::dispatch_from_queue(). |
|
Return a pointer to a copy of this event on the heap.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
Returns true if the filter matches.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
marshal this event into a CDR buffer (for persistence)
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
= Accessors Priority Definition at line 8 of file Event.inl. Referenced by TAO_Notify_Method_Request_Queueable::init().
00009 { 00010 return this->priority_; 00011 } |
|
Push event to the Event_Forwarder interface.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
Push event to the Event_Forwarder interface.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
Push event to consumer.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. Referenced by TAO_Notify_Consumer::dispatch_request(). |
|
Push event to the Event_Forwarder interface.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
Push event to the Event_Forwarder interface.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
Return a pointer to a copy of this event on the heap.
|
|
The release method is called when the refcount reaches 0.
Implements TAO_Notify_Refcountable. Definition at line 39 of file Event.cpp.
00040 { 00041 delete this; 00042 } |
|
Reliable.
Definition at line 20 of file Event.inl. References reliable_.
00021 { 00022 return this->reliable_; 00023 } |
|
Timeout.
Definition at line 14 of file Event.inl. Referenced by TAO_Notify_Method_Request_Queueable::init().
00015 { 00016 return this->timeout_; 00017 } |
|
Translate Structured to Any.
Definition at line 53 of file Event.cpp.
00054 {
00055 any <<= notification; // is the typecode set by this operation or do we need to set it explicity.
00056 }
|
|
Translate Any to Structured.
Definition at line 45 of file Event.cpp. References CosNotification::StructuredEvent::header, CosNotification::StructuredEvent::remainder_of_body, and CORBA::string_dup(). Referenced by TAO_Notify_AnyEvent_No_Copy::convert(), TAO_Notify_StructuredPushConsumer::push(), TAO_Notify_StructuredEvent_No_Copy::push(), TAO_Notify_PushConsumer::push(), TAO_Notify_AnyEvent_No_Copy::push(), TAO_Notify_StructuredEvent_No_Copy::push_no_filtering(), and TAO_Notify_AnyEvent_No_Copy::push_no_filtering().
00046 { 00047 notification.remainder_of_body <<= any; 00048 notification.header.fixed_header.event_type.type_name = CORBA::string_dup ("%ANY"); 00049 notification.header.fixed_header.event_type.domain_name = CORBA::string_dup (""); 00050 } |
|
Get the event type.
Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. |
|
Unmarshal an event from a CDR. (for persistence).
Reimplemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy. Definition at line 60 of file Event.cpp. References ACE_ERROR, ACE_TEXT(), LM_ERROR, MARSHAL_ANY, MARSHAL_STRUCTURED, ACE_InputCDR::read_octet(), TAO_Notify_StructuredEvent_No_Copy::unmarshal(), and TAO_Notify_AnyEvent_No_Copy::unmarshal().
00061 { 00062 TAO_Notify_Event * result = 0; 00063 ACE_CDR::Octet code = 0; 00064 if (cdr.read_octet (code)) 00065 { 00066 switch (code) 00067 { 00068 case MARSHAL_ANY: 00069 result = TAO_Notify_AnyEvent::unmarshal (cdr); 00070 break; 00071 case MARSHAL_STRUCTURED: 00072 result = TAO_Notify_StructuredEvent::unmarshal (cdr); 00073 break; 00074 default: 00075 ACE_ERROR ((LM_ERROR, 00076 ACE_TEXT ("(%P|%t) TAO_Notify_Event::unmarshal: unknown event code %d\n"), 00077 code)); 00078 break; 00079 } 00080 } 00081 return result; 00082 } |
|
|
|
|
|
= QoS properties Priority.
|
|
Reliability.
Definition at line 119 of file Event.h. Referenced by reliable(). |
|
Timeout.
|