Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Typed_SV_Message_Queue.i

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 // $Id: Typed_SV_Message_Queue.i,v 1.1.1.2 2001/12/04 14:33:11 chad Exp $
00003 
00004 // Typed_SV_Message_Queue.i
00005 
00006 #include "ace/SV_Message_Queue.h"
00007 
00008 template <class T> ACE_INLINE int 
00009 ACE_Typed_SV_Message_Queue<T>::open (key_t external_id, 
00010                                      int create, 
00011                                      int perms)
00012 {
00013   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::open");
00014   return this->message_queue_.open (external_id, create, perms);
00015 }
00016 
00017 // What does it mean to close a message queue?!
00018 
00019 template <class T> ACE_INLINE int 
00020 ACE_Typed_SV_Message_Queue<T>::close (void)
00021 {
00022   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::close");
00023   return 1;
00024 }
00025 
00026 template <class T> ACE_INLINE int
00027 ACE_Typed_SV_Message_Queue<T>::recv (ACE_Typed_SV_Message<T> &mb, 
00028                                      int mflags)
00029 {
00030   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::recv");
00031 
00032   int length = this->message_queue_.recv (ACE_reinterpret_cast (ACE_SV_Message &,
00033                                                                 mb),
00034                                           mb.max_size (),
00035                                           mb.type (),
00036                                           mflags);
00037   if (length != -1)
00038     mb.length (length);
00039 
00040   return length;
00041 }
00042 
00043 template <class T> ACE_INLINE int
00044 ACE_Typed_SV_Message_Queue<T>::send (const ACE_Typed_SV_Message<T> &mb, 
00045                                      int mflags)
00046 {
00047   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::send");
00048   return this->message_queue_.
00049     send (ACE_reinterpret_cast (ACE_SV_Message &,
00050                                 ACE_const_cast (ACE_Typed_SV_Message<T> &,
00051                                                 mb)),
00052           mb.length (),
00053           mflags);
00054 }
00055 
00056 template <class T> ACE_INLINE int
00057 ACE_Typed_SV_Message_Queue<T>::remove (void)
00058 {
00059   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::remove");
00060 
00061   return this->message_queue_.remove ();
00062 }
00063 
00064 template <class T> ACE_INLINE int
00065 ACE_Typed_SV_Message_Queue<T>::control (int option, 
00066                                         void *arg)
00067 {
00068   ACE_TRACE ("ACE_Typed_SV_Message_Queue<T>::control");
00069 
00070   return this->message_queue_.control (option, arg);
00071 }
00072 
00073 template <class T> ACE_INLINE int
00074 ACE_Typed_SV_Message_Queue<T>::get_id (void) const
00075 {
00076   return this->message_queue_.get_id ();
00077 }

Generated on Mon Jun 16 11:22:00 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002