ipc_address Class Reference

#include <address.h>

Inheritance diagram for ipc_address:

Inheritance graph
[legend]
Collaboration diagram for ipc_address:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ipc_address_constraints { MAXIMUM_IPC_NAME_LENGTH = 42 }

Public Member Functions

 ipc_address ()
 ipc_address (const istring &service, const istring &topic)
void fill (const istring &service, const istring &topic)
bool same_host (const address_base &to_compare) const
bool same_port (const address_base &to_compare) const
bool shareable (const address_base &to_compare) const
istring text_form () const
 Provides a text view of all the important info owned by this object.
 IMPLEMENT_CLASS_NAME ("ipc_address")
istring tokenize () const
bool detokenize (const istring &info)
virtual machine_uid convert () const
address_basecreate_copy () const
void pack (byte_array &packed_form) const
 Creates a packed form of the packable object in "packed_form".
bool unpack (byte_array &packed_form)
 Restores the packable from the "packed_form".
virtual int packed_size () const
 Estimates the space needed for the packed structure.

Public Attributes

char service [MAXIMUM_IPC_NAME_LENGTH]
char topic [MAXIMUM_IPC_NAME_LENGTH]

Detailed Description

Definition at line 214 of file address.h.


Member Enumeration Documentation

enum ipc_address::ipc_address_constraints

Enumerator:
MAXIMUM_IPC_NAME_LENGTH 

Definition at line 217 of file address.h.


Constructor & Destructor Documentation

ipc_address::ipc_address (  ) 

Definition at line 838 of file address.cpp.

References fill().

Referenced by create_copy().

ipc_address::ipc_address ( const istring service,
const istring topic 
)

Definition at line 840 of file address.cpp.

References fill(), service, and topic.


Member Function Documentation

void ipc_address::fill ( const istring service,
const istring topic 
)

Definition at line 845 of file address.cpp.

References MAXIMUM_IPC_NAME_LENGTH, service, istring::stuff(), and topic.

Referenced by detokenize(), and ipc_address().

bool ipc_address::same_host ( const address_base to_compare  )  const [virtual]

Implements address_base.

Definition at line 878 of file address.cpp.

bool ipc_address::same_port ( const address_base to_compare  )  const [virtual]

Implements address_base.

Definition at line 880 of file address.cpp.

References CAST_UP, service, and topic.

bool ipc_address::shareable ( const address_base to_compare  )  const [virtual]

Implements address_base.

Definition at line 887 of file address.cpp.

istring ipc_address::text_form (  )  const [virtual]

Provides a text view of all the important info owned by this object.

It is understood that there could be a large amount of information and that this function might take a relatively long time to complete. The information can be provided in multiple lines if desired (it is good to use log_base::platform_ending() for the line breaks to help to ensure that the text is formatted appropriately). the default is quite lame and should be overridden.

Implements address_base.

Definition at line 875 of file address.cpp.

References service, and topic.

ipc_address::IMPLEMENT_CLASS_NAME ( "ipc_address"   ) 

istring ipc_address::tokenize (  )  const [virtual]

Implements address_base.

Definition at line 899 of file address.cpp.

References ADD, DUMP_EXIT, service, STORER_ENTRY, and topic.

bool ipc_address::detokenize ( const istring info  )  [virtual]

Implements address_base.

Definition at line 889 of file address.cpp.

References fill(), GRAB, LOADER_ENTRY, and LOADER_EXIT.

machine_uid ipc_address::convert (  )  const [virtual]

Implements address_base.

Definition at line 843 of file address.cpp.

address_base * ipc_address::create_copy (  )  const [virtual]

Implements address_base.

Definition at line 872 of file address.cpp.

References ipc_address(), service, and topic.

void ipc_address::pack ( byte_array packed_form  )  const [virtual]

Creates a packed form of the packable object in "packed_form".

This must append to the data in "packed_form" rather than clearing prior contents.

Implements packable.

Definition at line 856 of file address.cpp.

References MAXIMUM_IPC_NAME_LENGTH, service, and topic.

bool ipc_address::unpack ( byte_array packed_form  )  [virtual]

Restores the packable from the "packed_form".

This object becomes the unpacked form, and therefore must lose any of its prior contents that depend on the data in "packed_form". This is up to the derived unpack function to figure out. The "packed_form" is modified by extracting all of the pieces that are used for this object; the remainder stays in "packed_form". true is returned if the unpacking was successful.

Implements packable.

Definition at line 862 of file address.cpp.

References array< contents >::length(), MAXIMUM_IPC_NAME_LENGTH, service, array< contents >::stuff(), topic, and array< contents >::zap().

int ipc_address::packed_size (  )  const [virtual]

Estimates the space needed for the packed structure.

Implements address_base.

Definition at line 851 of file address.cpp.

References MAXIMUM_IPC_NAME_LENGTH.


Member Data Documentation

char ipc_address::service[MAXIMUM_IPC_NAME_LENGTH]

Definition at line 221 of file address.h.

Referenced by create_copy(), fill(), ipc_address(), pack(), same_port(), text_form(), tokenize(), and unpack().

char ipc_address::topic[MAXIMUM_IPC_NAME_LENGTH]

Definition at line 222 of file address.h.

Referenced by create_copy(), fill(), ipc_address(), pack(), same_port(), text_form(), tokenize(), and unpack().


The documentation for this class was generated from the following files:
Generated on Fri Aug 29 04:30:33 2008 for HOOPLE Libraries by  doxygen 1.5.1