Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages | Examples

ClientInfo.h

00001 #ifndef _RDA_CLIENT_INFO_H_
00002 #define _RDA_CLIENT_INFO_H_
00003 //
00004 // 05 Dec 2002, N.Trofimov
00005 // 13 Jul 2006, W.Gajewski
00006 //    - string management adjusted
00007 
00008 #include <string.h>
00009 #include <rda/Data.h>
00010 
00020 class rdaClientInfo
00021 {
00022    //
00023    // Data members
00024    //
00025    char* hostName;
00026    char* userName;
00027    rdaData* sessionContext;
00028 
00029    // hide
00030    rdaClientInfo(const rdaClientInfo&);
00031    void operator=(const rdaClientInfo&);
00032 
00033    public:
00034 
00035       //
00036       // Constructor
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       // Destructor
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

RDA-2.3 documentation - 27 Jun 2007 - N.Trofimov