Rudiments
/home/dmuse/src/rudiments/include/rudiments/rpcentry.h
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