ACE_Typed_SV_Message_Queue< T > Class Template Reference

Defines the header file for the C++ wrapper facade for typed message queues. More...

#include <Typed_SV_Message_Queue.h>

Collaboration diagram for ACE_Typed_SV_Message_Queue< T >:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { ACE_CREATE = IPC_CREAT, ACE_OPEN = 0, ACE_NOWAIT = IPC_NOWAIT }

Public Member Functions

 ACE_Typed_SV_Message_Queue (void)
 ACE_Typed_SV_Message_Queue (key_t external_id, int create=ACE_OPEN, int perms=ACE_DEFAULT_FILE_PERMS)
int open (key_t external_id, int create=ACE_OPEN, int perms=ACE_DEFAULT_FILE_PERMS)
int close (void)
int remove (void)
 ~ACE_Typed_SV_Message_Queue (void)
int send (const ACE_Typed_SV_Message< T > &mb, int mflags=0)
 Send method.

int recv (ACE_Typed_SV_Message< T > &mb, int mflags=0)
 Recv method.

int get_id (void) const
 Return the id of the underlying ACE_SV_Message_Queue.

int control (int option, void *arg=0)
 Control the underlying message queue.

void dump (void) const
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Private Attributes

ACE_SV_Message_Queue message_queue_

Detailed Description

template<class T>
class ACE_Typed_SV_Message_Queue< T >

Defines the header file for the C++ wrapper facade for typed message queues.

Definition at line 33 of file Typed_SV_Message_Queue.h.


Member Enumeration Documentation

template<class T>
anonymous enum
 

Enumeration values:
ACE_CREATE 
ACE_OPEN 
ACE_NOWAIT 

Definition at line 36 of file Typed_SV_Message_Queue.h.

00037   {
00038     ACE_CREATE = IPC_CREAT,
00039     ACE_OPEN = 0,
00040     ACE_NOWAIT = IPC_NOWAIT
00041   };


Constructor & Destructor Documentation

template<class T>
ACE_Typed_SV_Message_Queue< T >::ACE_Typed_SV_Message_Queue void   ) 
 

Definition at line 32 of file Typed_SV_Message_Queue.cpp.

References ACE_TRACE.

00033 {
00034   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::ACE_Typed_SV_Message_Queue");
00035 }

template<class T>
ACE_Typed_SV_Message_Queue< T >::ACE_Typed_SV_Message_Queue key_t  external_id,
int  create = ACE_OPEN,
int  perms = ACE_DEFAULT_FILE_PERMS
 

Definition at line 38 of file Typed_SV_Message_Queue.cpp.

References ACE_ERROR, ACE_TRACE, LM_ERROR, and ACE_Typed_SV_Message_Queue< T >::open().

00041 {
00042   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::ACE_Typed_SV_Message_Queue");
00043   if (this->open (external_id, create, perms) == -1)
00044     ACE_ERROR ((LM_ERROR,
00045                 "ACE_Typed_SV_Message_Queue::ACE_Typed_SV_Message_Queue"));
00046 }

template<class T>
ACE_Typed_SV_Message_Queue< T >::~ACE_Typed_SV_Message_Queue void   ) 
 

Definition at line 49 of file Typed_SV_Message_Queue.cpp.

References ACE_TRACE.

00050 {
00051   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::~ACE_Typed_SV_Message_Queue");
00052 }


Member Function Documentation

template<class T>
ACE_INLINE int ACE_Typed_SV_Message_Queue< T >::close void   ) 
 

Definition at line 21 of file Typed_SV_Message_Queue.inl.

References ACE_TRACE.

00022 {
00023   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::close");
00024   return 1;
00025 }

template<class T>
ACE_INLINE int ACE_Typed_SV_Message_Queue< T >::control int  option,
void *  arg = 0
 

Control the underlying message queue.

Definition at line 66 of file Typed_SV_Message_Queue.inl.

References ACE_TRACE, and ACE_SV_Message_Queue::control().

00068 {
00069   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::control");
00070 
00071   return this->message_queue_.control (option, arg);
00072 }

template<class T>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Typed_SV_Message_Queue< T >::dump void   )  const
 

Dump the state of an object.

Definition at line 24 of file Typed_SV_Message_Queue.cpp.

References ACE_TRACE.

00025 {
00026 #if defined (ACE_HAS_DUMP)
00027   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::dump");
00028 #endif /* ACE_HAS_DUMP */
00029 }

template<class T>
ACE_INLINE int ACE_Typed_SV_Message_Queue< T >::get_id void   )  const
 

Return the id of the underlying ACE_SV_Message_Queue.

Definition at line 75 of file Typed_SV_Message_Queue.inl.

References ACE_SV_Message_Queue::get_id().

00076 {
00077   return this->message_queue_.get_id ();
00078 }

template<class T>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int ACE_Typed_SV_Message_Queue< T >::open key_t  external_id,
int  create = ACE_OPEN,
int  perms = ACE_DEFAULT_FILE_PERMS
 

Definition at line 10 of file Typed_SV_Message_Queue.inl.

References ACE_TRACE, and ACE_SV_Message_Queue::open().

Referenced by ACE_Typed_SV_Message_Queue< T >::ACE_Typed_SV_Message_Queue().

00013 {
00014   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::open");
00015   return this->message_queue_.open (external_id, create, perms);
00016 }

template<class T>
ACE_INLINE int ACE_Typed_SV_Message_Queue< T >::recv ACE_Typed_SV_Message< T > &  mb,
int  mflags = 0
 

Recv method.

Definition at line 28 of file Typed_SV_Message_Queue.inl.

References ACE_TRACE, and ACE_SV_Message_Queue::recv().

00030 {
00031   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::recv");
00032 
00033   int length =
00034     this->message_queue_.recv (reinterpret_cast<ACE_SV_Message &> (mb),
00035                                mb.max_size (),
00036                                mb.type (),
00037                                mflags);
00038   if (length != -1)
00039     mb.length (length);
00040 
00041   return length;
00042 }

template<class T>
ACE_INLINE int ACE_Typed_SV_Message_Queue< T >::remove void   ) 
 

Definition at line 58 of file Typed_SV_Message_Queue.inl.

References ACE_TRACE, and ACE_SV_Message_Queue::remove().

00059 {
00060   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::remove");
00061 
00062   return this->message_queue_.remove ();
00063 }

template<class T>
ACE_INLINE int ACE_Typed_SV_Message_Queue< T >::send const ACE_Typed_SV_Message< T > &  mb,
int  mflags = 0
 

Send method.

Definition at line 45 of file Typed_SV_Message_Queue.inl.

References ACE_TRACE, and ACE_SV_Message_Queue::send().

00047 {
00048   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::send");
00049   return
00050     this->message_queue_.send (
00051       reinterpret_cast<ACE_SV_Message &> (
00052         const_cast<ACE_Typed_SV_Message<T> &> (mb)),
00053       mb.length (),
00054       mflags);
00055 }


Member Data Documentation

template<class T>
ACE_Typed_SV_Message_Queue< T >::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Definition at line 71 of file Typed_SV_Message_Queue.h.

template<class T>
ACE_SV_Message_Queue ACE_Typed_SV_Message_Queue< T >::message_queue_ [private]
 

Definition at line 74 of file Typed_SV_Message_Queue.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:32:09 2006 for ACE by doxygen 1.3.6