dtn::APIRegistration Class Reference

#include <APIRegistration.h>

Inheritance diagram for dtn::APIRegistration:

dtn::Registration

List of all members.


Detailed Description

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

Definition at line 31 of file APIRegistration.h.


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.

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

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::serialize(), dtn::Registration::session_flags_, and session_notify_list_.

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

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

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 Mon Jul 21 14:12:21 2008 for DTN Reference Implementation by  doxygen 1.5.6