⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profile.cxx

📁 这是国外的resip协议栈
💻 CXX
📖 第 1 页 / 共 2 页
字号:
#include "resip/dum/Profile.hxx"#include "resip/stack/SipMessage.hxx"#include "resip/stack/HeaderTypes.hxx"using namespace resip;#define RESIPROCATE_SUBSYSTEM Subsystem::DUMProfile::Profile() :   mHasOutboundDecorator(false){   reset();  // set defaults}Profile::Profile(SharedPtr<Profile> baseProfile) :    mHasOutboundDecorator(false),   mBaseProfile(baseProfile){   assert(baseProfile.get());   reset();  // default all settings to fallthrough to mBaseProfile}Profile::~Profile(){}voidProfile::reset(){   unsetDefaultRegistrationTime();     unsetDefaultMaxRegistrationTime();      unsetDefaultRegistrationRetryTime();      unsetDefaultSubscriptionTime();      unsetDefaultPublicationTime();     unsetDefaultStaleCallTime();     unsetDefaultStaleReInviteTime();     unsetDefaultSessionTime();    unsetDefaultSessionTimerMode();      unset1xxRetransmissionTime();      unsetOverrideHostAndPort();    unsetAdvertisedCapabilities();   unsetOutboundProxy();    unsetRportEnabled();    unsetUserAgent();    unsetProxyRequires();    unsetKeepAliveTimeForDatagram();   unsetKeepAliveTimeForStream();   unsetFixedTransportPort();    unsetFixedTransportInterface();    unsetRinstanceEnabled();   unsetOutboundDecorator();   unsetMethodsParamEnabled();   unsetExpressOutboundAsRouteSetEnabled();}voidProfile::setDefaultRegistrationTime(UInt32 secs){   mDefaultRegistrationExpires = secs;   mHasDefaultRegistrationExpires = true;}UInt32 Profile::getDefaultRegistrationTime() const{   // Fall through seting (if required)   if(!mHasDefaultRegistrationExpires && mBaseProfile.get())   {       return mBaseProfile->getDefaultRegistrationTime();   }   return mDefaultRegistrationExpires;}voidProfile::unsetDefaultRegistrationTime(){   if(mBaseProfile.get())    {      mHasDefaultRegistrationExpires = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultRegistrationExpires = true;      mDefaultRegistrationExpires = 3600; // 1 hour   }}voidProfile::setDefaultMaxRegistrationTime(UInt32 secs){   mDefaultMaxRegistrationExpires = secs;   mHasDefaultMaxRegistrationExpires = true;}UInt32 Profile::getDefaultMaxRegistrationTime() const{   // Fall through seting (if required)   if(!mHasDefaultMaxRegistrationExpires && mBaseProfile.get())   {       return mBaseProfile->getDefaultMaxRegistrationTime();   }   return mDefaultMaxRegistrationExpires;}voidProfile::unsetDefaultMaxRegistrationTime(){   if(mBaseProfile.get())    {      mHasDefaultMaxRegistrationExpires = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultMaxRegistrationExpires = true;      mDefaultMaxRegistrationExpires = 0; // No restriction   }}voidProfile::setDefaultRegistrationRetryTime(int secs){   mDefaultRegistrationRetryInterval = secs;   mHasDefaultRegistrationRetryInterval = true;}int Profile::getDefaultRegistrationRetryTime() const{   // Fall through seting (if required)   if(!mHasDefaultRegistrationRetryInterval && mBaseProfile.get())   {       return mBaseProfile->getDefaultRegistrationRetryTime();   }   return mDefaultRegistrationRetryInterval;}voidProfile::unsetDefaultRegistrationRetryTime(){   if(mBaseProfile.get())    {      mHasDefaultRegistrationRetryInterval = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultRegistrationRetryInterval = true;      mDefaultRegistrationRetryInterval = 0; // Retries disabled   }}voidProfile::setDefaultSubscriptionTime(UInt32 secs){   mDefaultSubscriptionExpires = secs;   mHasDefaultSubscriptionExpires = true;}UInt32 Profile::getDefaultSubscriptionTime() const{   // Fall through seting (if required)   if(!mHasDefaultSubscriptionExpires && mBaseProfile.get())   {       return mBaseProfile->getDefaultSubscriptionTime();   }   return mDefaultSubscriptionExpires;}voidProfile::unsetDefaultSubscriptionTime(){   if(mBaseProfile.get())    {      mHasDefaultSubscriptionExpires = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultSubscriptionExpires = true;      mDefaultSubscriptionExpires = 3600; // 1 hour   }}voidProfile::setDefaultPublicationTime(UInt32 secs){   mDefaultPublicationExpires = secs;   mHasDefaultPublicationExpires = true;}UInt32 Profile::getDefaultPublicationTime() const{   // Fall through seting (if required)   if(!mHasDefaultPublicationExpires && mBaseProfile.get())   {       return mBaseProfile->getDefaultPublicationTime();   }   return mDefaultPublicationExpires;}voidProfile::unsetDefaultPublicationTime(){   if(mBaseProfile.get())    {      mHasDefaultPublicationExpires = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultPublicationExpires = true;      mDefaultPublicationExpires = 3600;  // 1 hour   }}voidProfile::setDefaultStaleCallTime(int secs){   mDefaultStaleCallTime = secs;   mHasDefaultStaleCallTime = true;}int Profile::getDefaultStaleCallTime() const{   // Fall through seting (if required)   if(!mHasDefaultStaleCallTime && mBaseProfile.get())   {       return mBaseProfile->getDefaultStaleCallTime();   }   return mDefaultStaleCallTime;}voidProfile::unsetDefaultStaleCallTime(){   if(mBaseProfile.get())    {      mHasDefaultStaleCallTime = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultStaleCallTime = true;      mDefaultStaleCallTime = 180;        // 3 minutes   }}voidProfile::setDefaultStaleReInviteTime(int secs){   mDefaultStaleReInviteTime = secs;   mHasDefaultStaleReInviteTime = true;}int Profile::getDefaultStaleReInviteTime() const{   // Fall through seting (if required)   if(!mHasDefaultStaleReInviteTime && mBaseProfile.get())   {       return mBaseProfile->getDefaultStaleReInviteTime();   }   return mDefaultStaleReInviteTime;}voidProfile::unsetDefaultStaleReInviteTime(){   if(mBaseProfile.get())    {      mHasDefaultStaleReInviteTime = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultStaleReInviteTime = true;      mDefaultStaleReInviteTime = 40;        // 40 Seconds (slightly longer than T1*64)   }}voidProfile::setDefaultSessionTime(UInt32 secs){   mDefaultSessionExpires = secs;   mHasDefaultSessionExpires = true;}UInt32 Profile::getDefaultSessionTime() const{   // Fall through seting (if required)   if(!mHasDefaultSessionExpires && mBaseProfile.get())   {       return mBaseProfile->getDefaultSessionTime();   }   return mDefaultSessionExpires;}voidProfile::unsetDefaultSessionTime(){   if(mBaseProfile.get())    {      mHasDefaultSessionExpires = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultSessionExpires = true;      mDefaultSessionExpires = 1800;      // 30 minutes   }}voidProfile::setDefaultSessionTimerMode(Profile::SessionTimerMode mode){   mDefaultSessionTimerMode = mode;   mHasDefaultSessionTimerMode = true;}Profile::SessionTimerMode Profile::getDefaultSessionTimerMode() const{   // Fall through seting (if required)   if(!mHasDefaultSessionTimerMode && mBaseProfile.get())   {       return mBaseProfile->getDefaultSessionTimerMode();   }   return mDefaultSessionTimerMode;}voidProfile::unsetDefaultSessionTimerMode(){   if(mBaseProfile.get())    {      mHasDefaultSessionTimerMode = false;   }   else // No Base profile - so return to default setting   {      mHasDefaultSessionTimerMode = true;      mDefaultSessionTimerMode = Profile::PreferUACRefreshes;   }}voidProfile::set1xxRetransmissionTime(int secs){   m1xxRetransmissionTime = secs;   mHas1xxRetransmissionTime = true;}int Profile::get1xxRetransmissionTime() const{   // Fall through seting (if required)   if(!mHas1xxRetransmissionTime && mBaseProfile.get())   {       return mBaseProfile->get1xxRetransmissionTime();   }   return m1xxRetransmissionTime;}voidProfile::unset1xxRetransmissionTime(){   if(mBaseProfile.get())    {      mHas1xxRetransmissionTime = false;   }   else // No Base profile - so return to default setting   {      mHas1xxRetransmissionTime = true;      m1xxRetransmissionTime = 60;  // RFC3261 13.3.1 specifies this timeout should be 1 minute   }}void Profile::setOverrideHostAndPort(const Uri& hostPort){   mOverrideHostPort = hostPort;      mHasOverrideHostPort = true;   }bool Profile::hasOverrideHostAndPort() const{   // Fall through seting (if required)   if(!mHasOverrideHostPort && mBaseProfile.get())   {       return mBaseProfile->hasOverrideHostAndPort();   }   return mHasOverrideHostPort;}const Uri& Profile::getOverrideHostAndPort() const{   // Fall through seting (if required)   if(!mHasOverrideHostPort && mBaseProfile.get())   {       return mBaseProfile->getOverrideHostAndPort();   }   return mOverrideHostPort;}voidProfile::unsetOverrideHostAndPort(){   if(mBaseProfile.get())    {      mHasOverrideHostPort = false;   }   else // No Base profile - so return to default setting   {      mHasOverrideHostPort = false;   }}void Profile::addAdvertisedCapability(const Headers::Type header){   assert(header == Headers::Allow ||		  header == Headers::AcceptEncoding ||		  header == Headers::AcceptLanguage ||		  header == Headers::Supported);   mAdvertisedCapabilities.insert(header);   mHasAdvertisedCapabilities = true;} bool Profile::isAdvertisedCapability(const Headers::Type header) const{   // Fall through seting (if required)   if(!mHasAdvertisedCapabilities && mBaseProfile.get())   {       return mBaseProfile->isAdvertisedCapability(header);   }   return mAdvertisedCapabilities.count(header) != 0;}void Profile::clearAdvertisedCapabilities(void){   mHasAdvertisedCapabilities = true;   return mAdvertisedCapabilities.clear();}voidProfile::unsetAdvertisedCapabilities(){   if(mBaseProfile.get())    {      mHasAdvertisedCapabilities = false;   }   else // No Base profile - so return to default setting   {      mHasAdvertisedCapabilities = true;      addAdvertisedCapability(Headers::Allow);        addAdvertisedCapability(Headers::Supported);     }}void Profile::setOutboundProxy( const Uri& uri ){   Uri tmpUri(uri);   tmpUri.param(p_lr);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -