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

LSOCK.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    LSOCK.h
00006  *
00007  *  $Id: LSOCK.h,v 1.1.1.4 2003/02/21 18:36:32 chad Exp $
00008  *
00009  *  @author Doug Schmidt
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef ACE_LOCAL_SOCK_H
00015 #define ACE_LOCAL_SOCK_H
00016 #include "ace/pre.h"
00017 
00018 #include "ace/config-all.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS)
00025 
00026 #include "ace/SOCK.h"
00027 
00028 /**
00029  * @class ACE_LSOCK
00030  *
00031  * @brief Create a Local ACE_SOCK, which is used for passing file
00032  * descriptors.
00033  */
00034 class ACE_Export ACE_LSOCK
00035 {
00036 public:
00037 #if defined (ACE_HAS_MSG)
00038   /// Send an open FD to another process.
00039   int send_handle (const ACE_HANDLE handle) const;
00040 
00041   /// Recv an open FD from another process.
00042   int recv_handle (ACE_HANDLE &handles,
00043                    char *pbuf = 0,
00044                    int *len = 0) const;
00045 #endif /* ACE_HAS_MSG */
00046 
00047   /// Dump the state of an object.
00048   void dump (void) const;
00049 
00050   /// Declare the dynamic allocation hooks.
00051   ACE_ALLOC_HOOK_DECLARE;
00052 
00053 protected:
00054   // = Ensure that ACE_LSOCK is an abstract base class
00055 
00056   /// Default constructor.
00057   ACE_LSOCK (void);
00058 
00059   /// Initialize based on <handle>
00060   ACE_LSOCK (ACE_HANDLE handle);
00061 
00062   /// Get handle.
00063   ACE_HANDLE get_handle (void) const;
00064 
00065   /// Set handle.
00066   void set_handle (ACE_HANDLE handle);
00067 
00068 private:
00069   /// An auxiliary handle used to avoid virtual base classes...
00070   ACE_HANDLE aux_handle_;
00071 };
00072 
00073 #if !defined (ACE_LACKS_INLINE_FUNCTIONS)
00074 #include "ace/LSOCK.i"
00075 #endif
00076 
00077 #endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */
00078 #include "ace/post.h"
00079 #endif /* ACE_LOCAL_SOCK_H */

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