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

📄 statusqosdata.cpp

📁 java开源的企业总线.xmlBlaster
💻 CPP
字号:
/*------------------------------------------------------------------------------Name:      StatusQosData.cppProject:   xmlBlaster.orgCopyright: xmlBlaster.org, see xmlBlaster-LICENSE file------------------------------------------------------------------------------*//** * Data container handling of status returned by subscribe(), unSubscribe(), erase() and ping().  * <p> * This data holder is accessible through decorators, each of them allowing a specialized view on the data: * </p> * <ul> * <li>SubscribeReturnQos Returned QoS of a subscribe() invocation (Client side)</i> * <li>UnSubscribeReturnQos Returned QoS of a unSubscribe() invocation (Client side)</i> * <li>EraseReturnQos Returned QoS of an erase() invocation (Client side)</i> * </ul> * <p> * For the xml representation see StatusQosSaxFactory. * </p> * @see org.xmlBlaster.util.qos.StatusQosSaxFactory * @see org.xmlBlaster.test.classtest.qos.StatusQosFactoryTest * @author xmlBlaster@marcelruff.info * @author michele@laghi.eu */#include <util/qos/StatusQosData.h>#include <util/Global.h>// #include <lexical_cast.hpp>// using namespace org::xmlBlaster::util;using namespace std;namespace org { namespace xmlBlaster { namespace util { namespace qos {void StatusQosData::copy(const StatusQosData& data){   state_          = data.state_;   stateInfo_      = data.stateInfo_;   subscriptionId_ = data.subscriptionId_;   keyOid_         = data.keyOid_;   rcvTimestamp_   = data.rcvTimestamp_;   persistent_     = data.persistent_;}StatusQosData::StatusQosData(Global& global)   : ME("StatusQosData"), global_(global){   state_ = Constants::STATE_OK;   rcvTimestamp_ = 0;   persistent_ = false;}StatusQosData::StatusQosData(const StatusQosData& data)  : ME(data.ME), global_(data.global_){   copy(data);}StatusQosData StatusQosData::operator =(const StatusQosData& data){   copy(data);   return *this;}void StatusQosData::setState(const string& state){   state_ = state;}string StatusQosData::getState() const{   return state_;}bool StatusQosData::isOk() const{   return Constants::STATE_OK == state_;}bool StatusQosData::isErased() const{   return Constants::STATE_ERASED == state_;}bool StatusQosData::isTimeout() const{   return Constants::STATE_TIMEOUT == state_;}bool StatusQosData::isForwardError() const{   return Constants::STATE_FORWARD_ERROR == state_;}void StatusQosData::setStateInfo(const string& stateInfo){   stateInfo_ = stateInfo;}string StatusQosData::getStateInfo() const{   return stateInfo_;}void StatusQosData::setSubscriptionId(const string& subscriptionId){   subscriptionId_ = subscriptionId;}string StatusQosData::getSubscriptionId() const{   return subscriptionId_;}string StatusQosData::getKeyOid() const{   return keyOid_;}void StatusQosData::setKeyOid(const string& oid){   keyOid_ = oid;}int StatusQosData::size() const{   return (int)toXml().length();}string StatusQosData::toXml(const string& extraOffset) const{   string ret;   string offset = Constants::OFFSET + extraOffset;   ret += offset + "<qos>"; // <!-- SubscribeRetQos -->");   if (!isOk() || !getStateInfo().empty()) {      ret += offset + " <state id='" + getState();      if (!getStateInfo().empty())         ret += "' info='" + getStateInfo();      ret += "'/>";   }   if (!getSubscriptionId().empty())      ret += offset + " <subscribe id='" + getSubscriptionId() + "'/>";   if (!getKeyOid().empty())      ret += offset + " <key oid='" + getKeyOid() + "'/>";   ret += offset + "</qos>";   if (isPersistent())      ret += offset + " <persistent/>";   if (ret.length() < 16)      return "<qos/>";  // minimal footprint   return ret;}void StatusQosData::setRcvTimestamp(Timestamp rcvTimestamp){   rcvTimestamp_ = rcvTimestamp;}Timestamp StatusQosData::getRcvTimestamp() const{   return rcvTimestamp_;}void StatusQosData::touchRcvTimestamp(){   rcvTimestamp_ = TimestampFactory::getInstance().getTimestamp();}/** * @param persistent mark a message as persistent */void StatusQosData::setPersistent(bool persistent){   persistent_ = persistent;}/** * @return true/false */bool StatusQosData::isPersistent() const{   return persistent_;}}}}} // namespace

⌨️ 快捷键说明

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