00001 #ifndef _RDA_CLIENT_INFO_H_
00002 #define _RDA_CLIENT_INFO_H_
00003
00004
00005
00006
00007
00008 #include <string.h>
00009 #include <rda/Data.h>
00010
00020 class rdaClientInfo
00021 {
00022
00023
00024
00025 char* hostName;
00026 char* userName;
00027 rdaData* sessionContext;
00028
00029
00030 rdaClientInfo(const rdaClientInfo&);
00031 void operator=(const rdaClientInfo&);
00032
00033 public:
00034
00035
00036
00037
00038 rdaClientInfo(const char* host, const char* user, const rdaData* ctx)
00039 {
00040 hostName = strdup(host);
00041 userName = strdup(user);
00042 if (ctx == 0) sessionContext = 0;
00043 else
00044 {
00045 sessionContext = new rdaData;
00046 *sessionContext = *ctx;
00047 }
00048 }
00049
00050
00051
00052
00053 virtual ~rdaClientInfo()
00054 {
00055 free( hostName );
00056 free( userName );
00057 if (sessionContext != 0) delete sessionContext;
00058 }
00059
00063 const char* getHostName() const { return hostName; }
00064
00068 const char* getUserName() const { return userName; }
00069
00075 const rdaData* getSessionContext() const { return sessionContext; }
00076 };
00077
00078 #endif