Rudiments
/home/dmuse/src/rudiments/include/rudiments/unixclientsocket.h
00001 // Copyright (c) 2002 David Muse
00002 // See the COPYING file for more information.
00003 
00004 #ifndef RUDIMENTS_UNIXCLIENTSOCKET_H
00005 #define RUDIMENTS_UNIXCLIENTSOCKET_H
00006 
00007 #include <rudiments/private/unixclientsocketincludes.h>
00008 
00009 #ifdef RUDIMENTS_NAMESPACE
00010 namespace rudiments {
00011 #endif
00012 
00013 class unixclientsocketprivate;
00014 
00025 class RUDIMENTS_DLLSPEC unixclientsocket : public clientsocket, private unixsocketutil {
00026         public:
00027 
00029                 unixclientsocket();
00030 
00033                 unixclientsocket(const unixclientsocket &u);
00034 
00037                 unixclientsocket        &operator=(const unixclientsocket &u);
00038 
00040                 virtual         ~unixclientsocket();
00041 
00042                 // This convenience method that calls the initialize() and
00043                 // connect() methods of this class.
00044                 //
00045                 // Returns RESULT_SUCCESS on success and RESULT_ERROR
00046                 // on failure.
00047                 int32_t connect(const char *filename,
00048                                         long timeoutsec,
00049                                         long timeoutusec,
00050                                         unsigned long retrywait,
00051                                         unsigned long retrycount);
00052 
00053 
00054 
00059                 void    initialize(constnamevaluepairs *cd);
00060 
00064                 void    initialize(const char *filename,
00065                                                 long timeoutsec,
00066                                                 long timeoutusec,
00067                                                 unsigned long retrywait,
00068                                                 unsigned long retrycount);
00069 
00088                 int32_t connect();
00089 
00090         #include <rudiments/private/unixclientsocket.h>
00091 };
00092 
00093 #ifdef RUDIMENTS_NAMESPACE
00094 }
00095 #endif
00096 
00097 #endif