Rudiments
|
00001 // Copyright (c) 2002 David Muse 00002 // See the COPYING file for more information. 00003 00004 #ifndef RUDIMENTS_PROTOCOLENTRY_H 00005 #define RUDIMENTS_PROTOCOLENTRY_H 00006 00007 #include <rudiments/private/protocolentryincludes.h> 00008 00009 #ifdef RUDIMENTS_NAMESPACE 00010 namespace rudiments { 00011 #endif 00012 00013 class protocolentryprivate; 00014 00017 class RUDIMENTS_DLLSPEC protocolentry { 00018 public: 00019 00026 static bool getAliasList(const char *protocolname, 00027 char ***aliaslist); 00028 00031 static bool getNumber(const char *protocolname, 00032 int32_t *number); 00033 00036 static bool getName(int32_t number, char **name); 00037 00045 static bool getAliasList(int32_t number, char ***aliaslist); 00046 00047 00049 protocolentry(); 00050 00053 protocolentry(const protocolentry &p); 00054 00057 protocolentry &operator=(const protocolentry &p); 00058 00060 ~protocolentry(); 00061 00064 bool initialize(const char *protocolname); 00065 00068 bool initialize(int32_t number); 00069 00071 const char *getName() const; 00072 00075 const char * const *getAliasList() const; 00076 00078 int32_t getNumber() const; 00079 00081 void print() const; 00082 00085 static bool needsMutex(); 00086 00090 static void setMutex(mutex *mtx); 00091 00092 #include <rudiments/private/protocolentry.h> 00093 }; 00094 00095 #ifdef RUDIMENTS_NAMESPACE 00096 } 00097 #endif 00098 00099 #endif