SSL_SOCK.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    SSL_SOCK.h
00006  *
00007  *  SSL_SOCK.h,v 1.7 2005/10/28 16:14:56 ossama Exp
00008  *
00009  *  @author Ossama Othman <ossama@ece.uci.edu>
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef ACE_SSL_SOCK_H
00015 #define ACE_SSL_SOCK_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "SSL_Export.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "ace/SOCK.h"
00026 
00027 #if defined (ACE_HAS_TEMPLATE_TYPEDEFS)
00028 # define ACE_SSL_SOCK_ACCEPTOR ACE_SSL_SOCK_Acceptor
00029 # define ACE_SSL_SOCK_CONNECTOR ACE_SSL_SOCK_Connector
00030 # define ACE_SSL_SOCK_STREAM ACE_SSL_SOCK_Stream
00031 #else
00032 # define ACE_SSL_SOCK_ACCEPTOR ACE_SSL_SOCK_Acceptor, ACE_INET_Addr
00033 # define ACE_SSL_SOCK_CONNECTOR ACE_SSL_SOCK_Connector, ACE_INET_Addr
00034 # define ACE_SSL_SOCK_STREAM ACE_SSL_SOCK_Stream, ACE_INET_Addr
00035 #endif /* ACE_HAS_TEMPLATE_TYPEDEFS */
00036 
00037 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00038 
00039 /**
00040  * @class ACE_SSL_SOCK
00041  *
00042  * @brief An abstract class that forms the basis for more specific
00043  * classes, such as "ACE_SSL_SOCK_Acceptor" and
00044  * "ACE_SSL_SOCK_Stream".  Do not instantiate this class.
00045  *
00046  * This class provides functions that are common to all of the
00047  * ACE_SSL_SOCK_* classes.  ACE_SSL_SOCK provides the ability
00048  * to get and set socket options, get the local and remote
00049  * addresses, and close the socket.
00050  */
00051 class ACE_SSL_Export ACE_SSL_SOCK : public ACE_SOCK
00052 {
00053 public:
00054 
00055   /**
00056    * Override ACE_SOCK base class implementations with these SSL
00057    * specific ones.
00058    */
00059   //@{
00060   int set_option (int level,
00061                   int option,
00062                   void *optval,
00063                   int optlen) const;
00064   int get_option (int level,
00065                   int option,
00066                   void *optval,
00067                   int *optlen) const;
00068   int enable (int value) const;
00069   int disable (int value) const;
00070   void set_handle (ACE_HANDLE);
00071   ACE_HANDLE get_handle (void) const;
00072   int control (int cmd, void *arg) const;
00073   //@}
00074 
00075 protected:
00076 
00077   /// Default constructor is private to prevent instances of this class
00078   /// from being defined.
00079   ACE_SSL_SOCK (void);
00080 
00081   /// Destructor
00082   /**
00083    * Not a virtual destructor.  Protected destructor to prevent
00084    * operator delete() from being called through a base class
00085    * ACE_SSL_SOCK pointer/reference.
00086    */
00087   ~ACE_SSL_SOCK (void);
00088 
00089 };
00090 
00091 ACE_END_VERSIONED_NAMESPACE_DECL
00092 
00093 #if defined (__ACE_INLINE__)
00094 #include "SSL_SOCK.i"
00095 #endif /* __ACE_INLINE__ */
00096 
00097 #include /**/ "ace/post.h"
00098 
00099 #endif /* ACE_SSL_SOCK_H */
00100 
00101 
00102 
00103 

Generated on Thu Nov 9 11:41:56 2006 for ACE_SSL by doxygen 1.3.6