TAO_Notify_Event Class Reference

Base class abstraction for Events flowing through the EventChannel. More...

#include <Event.h>

Inheritance diagram for TAO_Notify_Event:

Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_Event:

Collaboration graph
[legend]
List of all members.

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_EventTypetype (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 &notification) 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_Eventqueueable_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_Shortpriority (void) const
const TAO_Notify_Property_Timetimeout (void) const
 Timeout.

const TAO_Notify_Property_Booleanreliable (void) const
 Reliable.


Static Public Member Functions

void translate (const CORBA::Any &any, CosNotification::StructuredEvent &notification)
 Translate Any to Structured.

void translate (const CosNotification::StructuredEvent &notification, CORBA::Any &any)
 Translate Structured to Any.

TAO_Notify_Eventunmarshal (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_Eventcopy () 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_

Detailed Description

Base class abstraction for Events flowing through the EventChannel.

Definition at line 45 of file Event.h.


Member Typedef Documentation

typedef TAO_Notify_Refcountable_Guard_T<TAO_Notify_Event> TAO_Notify_Event::Ptr
 

Reimplemented from TAO_Notify_Refcountable.

Definition at line 50 of file Event.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
MARSHAL_ANY 
MARSHAL_STRUCTURED 

Definition at line 53 of file Event.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Notify_Event::TAO_Notify_Event void   ) 
 

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 }

TAO_Notify_Event::~TAO_Notify_Event  )  [virtual]
 

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 }


Member Function Documentation

virtual void TAO_Notify_Event::convert CosNotification::StructuredEvent notification  )  const [pure virtual]
 

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().

virtual TAO_Notify_Event* TAO_Notify_Event::copy  )  const [private, pure virtual]
 

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.

virtual CORBA::Boolean TAO_Notify_Event::do_match CosNotifyFilter::Filter_ptr  filter  )  const [pure virtual]
 

Returns true if the filter matches.

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

virtual void TAO_Notify_Event::marshal TAO_OutputCDR cdr  )  const [pure virtual]
 

marshal this event into a CDR buffer (for persistence)

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE const TAO_Notify_Property_Short & TAO_Notify_Event::priority void   )  const
 

= Accessors Priority

Definition at line 8 of file Event.inl.

Referenced by TAO_Notify_Method_Request_Queueable::init().

00009 {
00010   return this->priority_;
00011 }

virtual void TAO_Notify_Event::push Event_Forwarder::ProxyPushSupplier_ptr  forwarder  )  const [pure virtual]
 

Push event to the Event_Forwarder interface.

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

virtual void TAO_Notify_Event::push Event_Forwarder::StructuredProxyPushSupplier_ptr  forwarder  )  const [pure virtual]
 

Push event to the Event_Forwarder interface.

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

virtual void TAO_Notify_Event::push TAO_Notify_Consumer consumer  )  const [pure virtual]
 

Push event to consumer.

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

Referenced by TAO_Notify_Consumer::dispatch_request().

virtual void TAO_Notify_Event::push_no_filtering Event_Forwarder::ProxyPushSupplier_ptr  forwarder  )  const [pure virtual]
 

Push event to the Event_Forwarder interface.

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

virtual void TAO_Notify_Event::push_no_filtering Event_Forwarder::StructuredProxyPushSupplier_ptr  forwarder  )  const [pure virtual]
 

Push event to the Event_Forwarder interface.

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

TAO_Notify_Event* TAO_Notify_Event::queueable_copy  )  const
 

Return a pointer to a copy of this event on the heap.

void TAO_Notify_Event::release void   )  [private, virtual]
 

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 }

ACE_INLINE const TAO_Notify_Property_Boolean & TAO_Notify_Event::reliable void   )  const
 

Reliable.

Definition at line 20 of file Event.inl.

References reliable_.

00021 {
00022   return this->reliable_;
00023 }

ACE_INLINE const TAO_Notify_Property_Time & TAO_Notify_Event::timeout void   )  const
 

Timeout.

Definition at line 14 of file Event.inl.

Referenced by TAO_Notify_Method_Request_Queueable::init().

00015 {
00016   return this->timeout_;
00017 }

void TAO_Notify_Event::translate const CosNotification::StructuredEvent notification,
CORBA::Any &  any
[static]
 

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 }

void TAO_Notify_Event::translate const CORBA::Any &  any,
CosNotification::StructuredEvent notification
[static]
 

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 }

virtual const TAO_Notify_EventType& TAO_Notify_Event::type void   )  const [pure virtual]
 

Get the event type.

Implemented in TAO_Notify_AnyEvent_No_Copy, and TAO_Notify_StructuredEvent_No_Copy.

TAO_Notify_Event * TAO_Notify_Event::unmarshal TAO_InputCDR cdr  )  [static]
 

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 }


Member Data Documentation

Ptr TAO_Notify_Event::clone_ [mutable, private]
 

Definition at line 127 of file Event.h.

bool TAO_Notify_Event::is_on_heap_ [private]
 

Definition at line 128 of file Event.h.

TAO_Notify_Property_Short TAO_Notify_Event::priority_ [protected]
 

= QoS properties Priority.

Definition at line 113 of file Event.h.

TAO_Notify_Property_Boolean TAO_Notify_Event::reliable_ [protected]
 

Reliability.

Definition at line 119 of file Event.h.

Referenced by reliable().

TAO_Notify_Property_Time TAO_Notify_Event::timeout_ [protected]
 

Timeout.

Definition at line 116 of file Event.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:31:54 2006 for TAO_CosNotification by doxygen 1.3.6