113 lines
2.7 KiB
C++
113 lines
2.7 KiB
C++
//----------------------------------------------------------------------------
|
|
//
|
|
// 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 <ctime>
|
|
#include <ace/SString.h>
|
|
|
|
// 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 */ |