//---------------------------------------------------------------------------- // // Copyright (C) Intel Corporation, 2007 - 2008. // // File: CommonOptions.h // // Contents: A singelton class which caches common options // // Notes: //---------------------------------------------------------------------------- #ifndef COMMON_OPTIONS_H #define COMMON_OPTIONS_H #include #include // A singelton class which caches common options class CommonOptions { public: // Return a Singleton. static CommonOptions& instance(); // Gets the common options data members: inline const unsigned int * getMaximumWinSize() const { return _maximumWinSize; } inline const unsigned int * getMinimumWinSize() const { return _minimumWinSize; } inline const unsigned int * getMaxQueueSize() const { return _maxQueueSize; } inline const unsigned int * getMaxChannels() const { return _maxChannels; } inline const time_t * getMaxTunnelTimeout() const { return _maxTunnelTimeout; } inline const ACE_TString * getMCSocksListenIP() const { return _mcSocksListenIP; } //inline const ACE_TString * getMCSocksListenIPv6() const //{ // return _mcSocksListenIPv6; //} // Sets the Common Options data members: // NOTE: No mutex is taken on these functions, since they are meant // to be called only once in the beginnning of the program's run inline void setMaximumWinSize(const unsigned int * maximumWinSize) { _maximumWinSize = maximumWinSize; } inline void setMinimumWinSize(const unsigned int * minimumWinSize) { _minimumWinSize = minimumWinSize; } inline void setMaxQueueSize(const unsigned int * maxQueueSize) { _maxQueueSize = maxQueueSize; } inline void setMaxChannels(const unsigned int * maxChannels) { _maxChannels = maxChannels; } inline void setMaxTunnelTimeout(const time_t * maxTunnelTimeout) { _maxTunnelTimeout = maxTunnelTimeout; } inline void setMCSocksListenIP(const ACE_TString * mcSocksListenIP) { _mcSocksListenIP = mcSocksListenIP; } //inline void setMCSocksListenIPv6(const ACE_TString * mcSocksListenIP) //{ // _mcSocksListenIPv6 = mcSocksListenIP; //} // Dtor ~CommonOptions(); private: // private ctor CommonOptions():_maximumWinSize(), _minimumWinSize(), _maxQueueSize(), _maxChannels(), _maxTunnelTimeout(), _mcSocksListenIP(){} // ConfigFormats Singleton instance. static CommonOptions * _instance; const unsigned int * _maximumWinSize; const unsigned int * _minimumWinSize; const unsigned int * _maxQueueSize; const unsigned int * _maxChannels; const time_t * _maxTunnelTimeout; const ACE_TString * _mcSocksListenIP; //const ACE_TString * _mcSocksListenIPv6; }; #endif /* COMMON_OPTIONS_H */