Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

TAO_Notify_StructuredEvent_No_Copy Class Reference

StructuredEvent implementation. More...

#include <StructuredEvent.h>

Inheritance diagram for TAO_Notify_StructuredEvent_No_Copy:
Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_StructuredEvent_No_Copy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_Notify_StructuredEvent_No_Copy (const CosNotification::StructuredEvent &notification)
 Constructor.
virtual ~TAO_Notify_StructuredEvent_No_Copy ()
 Destructor.
virtual void marshal (TAO_OutputCDR &cdr) const
 marshal this event into a CDR buffer (for persistence)
CORBA::Boolean do_match (CosNotifyFilter::Filter_ptr filter) const
 Returns true if the filter matches.
virtual void convert (CosNotification::StructuredEvent &notification) const
 Convert to CosNotification::Structured type.
virtual const
TAO_Notify_EventType
type (void) const
 Get the event type.
virtual void push (TAO_Notify_Consumer *consumer) const
 Push event to consumer.
virtual void push (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder) const
 Push event to the Event_Forwarder interface.
virtual void push_no_filtering (Event_Forwarder::StructuredProxyPushSupplier_ptr forwarder) const
 Push event to the Event_Forwarder interface.
virtual void push (Event_Forwarder::ProxyPushSupplier_ptr forwarder) const
 Push event to the Event_Forwarder interface.
virtual void push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder) const
 Push event to the Event_Forwarder interface.

Static Public Member Functions

static TAO_Notify_StructuredEventunmarshal (TAO_InputCDR &cdr)

Protected Member Functions

virtual TAO_Notify_Eventcopy (void) const
 returns a copy of this event allocated on the heap

Protected Attributes

const
CosNotification::StructuredEvent
notification_
 Structured Event.
const TAO_Notify_EventType type_
 Our type.

Detailed Description

StructuredEvent implementation.

Definition at line 36 of file StructuredEvent.h.


Constructor & Destructor Documentation

TAO_Notify_StructuredEvent_No_Copy::TAO_Notify_StructuredEvent_No_Copy ( const CosNotification::StructuredEvent notification  ) 

Constructor.

Definition at line 14 of file StructuredEvent.cpp.

  : notification_ (&notification), type_ (notification.header.fixed_header.event_type)
{
  const CosNotification::PropertySeq& prop_seq = notification.header.variable_header;

  for (CORBA::ULong i = 0; i < prop_seq.length (); ++i)
    {
      if (ACE_OS::strcmp (prop_seq[i].name.in (), CosNotification::Priority) == 0)
        this->priority_.set (prop_seq[i].value);
      else if (ACE_OS::strcmp (prop_seq[i].name.in (), CosNotification::Timeout) == 0)
        this->timeout_.set (prop_seq[i].value);
    }
}

TAO_Notify_StructuredEvent_No_Copy::~TAO_Notify_StructuredEvent_No_Copy (  )  [virtual]

Destructor.

Definition at line 34 of file StructuredEvent.cpp.

{
}


Member Function Documentation

void TAO_Notify_StructuredEvent_No_Copy::convert ( CosNotification::StructuredEvent notification  )  const [virtual]

Convert to CosNotification::Structured type.

Implements TAO_Notify_Event.

Definition at line 80 of file StructuredEvent.cpp.

{
  notification = *this->notification_;
}

TAO_Notify_Event * TAO_Notify_StructuredEvent_No_Copy::copy ( void   )  const [protected, virtual]

returns a copy of this event allocated on the heap

Implements TAO_Notify_Event.

Definition at line 60 of file StructuredEvent.cpp.

{
  TAO_Notify_Event * new_event;
  ACE_NEW_THROW_EX (new_event,
                    TAO_Notify_StructuredEvent (*this->notification_),
                    CORBA::NO_MEMORY ());
  return new_event;
}

CORBA::Boolean TAO_Notify_StructuredEvent_No_Copy::do_match ( CosNotifyFilter::Filter_ptr  filter  )  const [virtual]

Returns true if the filter matches.

Implements TAO_Notify_Event.

Definition at line 70 of file StructuredEvent.cpp.

{
  if (TAO_debug_level > 0)
    ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
                "TAO_Notify_StructuredEvent::do_match ()\n"));

  return filter->match_structured (*this->notification_);
}

void TAO_Notify_StructuredEvent_No_Copy::marshal ( TAO_OutputCDR cdr  )  const [virtual]

marshal this event into a CDR buffer (for persistence)

Implements TAO_Notify_Event.

Definition at line 39 of file StructuredEvent.cpp.

{
  static const ACE_CDR::Octet STRUCTURED_CODE = MARSHAL_STRUCTURED;
  cdr.write_octet (STRUCTURED_CODE);
  cdr << (*this->notification_);
}

void TAO_Notify_StructuredEvent_No_Copy::push ( Event_Forwarder::ProxyPushSupplier_ptr  forwarder  )  const [virtual]

Push event to the Event_Forwarder interface.

Implements TAO_Notify_Event.

Definition at line 109 of file StructuredEvent.cpp.

{
  CORBA::Any any;

  TAO_Notify_Event::translate (*this->notification_, any);

  forwarder->forward_any (any);
}

void TAO_Notify_StructuredEvent_No_Copy::push ( TAO_Notify_Consumer consumer  )  const [virtual]

Push event to consumer.

Implements TAO_Notify_Event.

Definition at line 86 of file StructuredEvent.cpp.

{
  if (TAO_debug_level > 0)
    ACE_DEBUG ((LM_DEBUG, "Notify (%P|%t) - "
                          "TAO_Notify_StructuredEvent::do_push ("
                          "CosNotifyComm::StructuredPushConsumer_ptr)\n"));

  consumer->push (*this->notification_);
}

void TAO_Notify_StructuredEvent_No_Copy::push ( Event_Forwarder::StructuredProxyPushSupplier_ptr  forwarder  )  const [virtual]

Push event to the Event_Forwarder interface.

Implements TAO_Notify_Event.

Definition at line 97 of file StructuredEvent.cpp.

{
  forwarder->forward_structured (*this->notification_);
}

void TAO_Notify_StructuredEvent_No_Copy::push_no_filtering ( Event_Forwarder::StructuredProxyPushSupplier_ptr  forwarder  )  const [virtual]

Push event to the Event_Forwarder interface.

Implements TAO_Notify_Event.

Definition at line 103 of file StructuredEvent.cpp.

{
  forwarder->forward_structured_no_filtering (*this->notification_);
}

void TAO_Notify_StructuredEvent_No_Copy::push_no_filtering ( Event_Forwarder::ProxyPushSupplier_ptr  forwarder  )  const [virtual]

Push event to the Event_Forwarder interface.

Implements TAO_Notify_Event.

Definition at line 119 of file StructuredEvent.cpp.

{
  CORBA::Any any;

  TAO_Notify_Event::translate (*this->notification_, any);

  forwarder->forward_any_no_filtering (any);
}

const TAO_Notify_EventType & TAO_Notify_StructuredEvent_No_Copy::type ( void   )  const [virtual]

Get the event type.

Implements TAO_Notify_Event.

Definition at line 29 of file StructuredEvent.cpp.

{
  return this->type_;
}

TAO_Notify_StructuredEvent * TAO_Notify_StructuredEvent_No_Copy::unmarshal ( TAO_InputCDR cdr  )  [static]

unmarshal this event from a CDR buffer (for persistence)

Returns:
the new event, or NULL if this is the wrong type of event.

Reimplemented from TAO_Notify_Event.

Definition at line 48 of file StructuredEvent.cpp.

{
  TAO_Notify_StructuredEvent * event = 0;
  CosNotification::StructuredEvent body;
  if (cdr >> body)
  {
    event = new TAO_Notify_StructuredEvent (body);
  }
  return event;
}


Member Data Documentation

Structured Event.

Definition at line 80 of file StructuredEvent.h.

Our type.

Definition at line 83 of file StructuredEvent.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines