Rudiments
|
00001 // Copyright (c) 2002 David Muse 00002 // See the COPYING file for more information. 00003 00004 #ifndef RUDIMENTS_RPCENTRY_H 00005 #define RUDIMENTS_RPCENTRY_H 00006 00007 #include <rudiments/private/rpcentryincludes.h> 00008 00009 #ifdef RUDIMENTS_NAMESPACE 00010 namespace rudiments { 00011 #endif 00012 00013 class rpcentryprivate; 00014 00017 class RUDIMENTS_DLLSPEC rpcentry { 00018 public: 00019 00023 static bool getNumber(const char *name, int32_t *number); 00024 00031 static bool getAliasList(const char *name, 00032 char ***aliaslist); 00033 00037 static bool getName(int32_t number, char **name); 00038 00045 static bool getAliasList(int32_t number, char ***aliaslist); 00046 00048 rpcentry(); 00049 00052 rpcentry(const rpcentry &r); 00053 00056 rpcentry &operator=(const rpcentry &r); 00057 00059 ~rpcentry(); 00060 00063 bool initialize(const char *name); 00064 00067 bool initialize(int32_t number); 00068 00070 const char *getName() const; 00071 00073 int32_t getNumber() const; 00074 00077 const char * const *getAliasList() const; 00078 00080 void print() const; 00081 00084 static bool needsMutex(); 00085 00089 static void setMutex(mutex *mtx); 00090 00091 #include <rudiments/private/rpcentry.h> 00092 }; 00093 00094 #ifdef RUDIMENTS_NAMESPACE 00095 } 00096 #endif 00097 00098 #endif