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

 ACE_CREATE = IPC_CREAT
 ACE_OPEN = 0
 ACE_NOWAIT = IPC_NOWAIT
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

Enumerator:
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, and LM_ERROR.

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, ACE_SV_Message_Queue::control(), and ACE_Typed_SV_Message_Queue< T >::message_queue_.

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(), and ACE_Typed_SV_Message_Queue< T >::message_queue_.

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, ACE_Typed_SV_Message_Queue< T >::message_queue_, and ACE_SV_Message_Queue::open().

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, ACE_Typed_SV_Message_Queue< T >::message_queue_, 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, ACE_Typed_SV_Message_Queue< T >::message_queue_, 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, ACE_Typed_SV_Message< T >::length(), ACE_Typed_SV_Message_Queue< T >::message_queue_, 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.

Referenced by ACE_Typed_SV_Message_Queue< T >::control(), ACE_Typed_SV_Message_Queue< T >::get_id(), ACE_Typed_SV_Message_Queue< T >::open(), ACE_Typed_SV_Message_Queue< T >::recv(), ACE_Typed_SV_Message_Queue< T >::remove(), and ACE_Typed_SV_Message_Queue< T >::send().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:35:50 2010 for ACE by  doxygen 1.4.7