dtn::APIRegistration Class Reference

Registration class to represent an actual attached application over the client api. More...

#include <APIRegistration.h>

Inheritance diagram for dtn::APIRegistration:

dtn::Registration

List of all members.

Public Member Functions

 APIRegistration (const oasys::Builder &builder)
 Constructor for deserialization.
 APIRegistration (u_int32_t regid, const EndpointIDPattern &endpoint, failure_action_t action, u_int32_t session_flags, u_int32_t expiration, const std::string &script="")
 Constructor.
 ~APIRegistration ()
void serialize (oasys::SerializeAction *a)
 Virtual from SerializableObject.
void deliver_bundle (Bundle *bundle)
 Virtual from Registration.
void session_notify (Bundle *bundle)
 Hook for subclasses to handle a new session notification on this registration.
BlockingBundleListbundle_list ()
 Accessor for the queue of bundles for the registration.
BlockingBundleListsession_notify_list ()
 Accessor for notification of session subscribers / unsubscribers (currently just the subscription bundles).

Protected Attributes

BlockingBundleListbundle_list_
 Queue of bundles for the registration.
BlockingBundleListsession_notify_list_
 Queue of subscription notification bundles.


Detailed Description

Registration class to represent an actual attached application over the client api.

Definition at line 31 of file APIRegistration.h.


Constructor & Destructor Documentation

dtn::APIRegistration::APIRegistration ( const oasys::Builder &  builder  ) 

Constructor for deserialization.

Definition at line 30 of file APIRegistration.cc.

References bundle_list_, and session_notify_list_.

dtn::APIRegistration::APIRegistration ( u_int32_t  regid,
const EndpointIDPattern endpoint,
failure_action_t  action,
u_int32_t  session_flags,
u_int32_t  expiration,
const std::string &  script = "" 
)

Constructor.

Definition at line 38 of file APIRegistration.cc.

References bundle_list_, dtn::Session::CUSTODY, and session_notify_list_.

dtn::APIRegistration::~APIRegistration (  ) 

Definition at line 70 of file APIRegistration.cc.

References bundle_list_, and session_notify_list_.


Member Function Documentation

BlockingBundleList* dtn::APIRegistration::bundle_list (  )  [inline]

Accessor for the queue of bundles for the registration.

Definition at line 60 of file APIRegistration.h.

References bundle_list_.

Referenced by dtn::APIClient::handle_recv(), and dtn::APIClient::wait_for_notify().

void dtn::APIRegistration::deliver_bundle ( Bundle bundle  )  [virtual]

void dtn::APIRegistration::serialize ( oasys::SerializeAction *  a  ) 

Virtual from SerializableObject.

Reimplemented from dtn::Registration.

Definition at line 57 of file APIRegistration.cc.

References dtn::Session::CUSTODY, dtn::Registration::session_flags_, and session_notify_list_.

void dtn::APIRegistration::session_notify ( Bundle bundle  )  [virtual]

Hook for subclasses to handle a new session notification on this registration.

Must be implemented by any custody registration subclasses since the default implementation just panics.

Reimplemented from dtn::Registration.

Definition at line 117 of file APIRegistration.cc.

References dtn::BundleList::push_back(), and session_notify_list_.

BlockingBundleList* dtn::APIRegistration::session_notify_list (  )  [inline]

Accessor for notification of session subscribers / unsubscribers (currently just the subscription bundles).

Definition at line 66 of file APIRegistration.h.

References session_notify_list_.

Referenced by dtn::APIClient::handle_register(), dtn::APIClient::handle_session_update(), and dtn::APIClient::wait_for_notify().


Member Data Documentation

Queue of bundles for the registration.

Definition at line 70 of file APIRegistration.h.

Referenced by APIRegistration(), bundle_list(), deliver_bundle(), and ~APIRegistration().

Queue of subscription notification bundles.

Definition at line 73 of file APIRegistration.h.

Referenced by APIRegistration(), serialize(), session_notify(), session_notify_list(), and ~APIRegistration().


The documentation for this class was generated from the following files:

Generated on Fri Jan 30 09:43:14 2009 for DTN Reference Implementation by  doxygen 1.5.8