00001 /*------------------------------------------------------------------------------ 00002 Name: StatusQosData.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 ------------------------------------------------------------------------------*/ 00006 00026 #ifndef _UTIL_QOS_STATUSQOSDATA_H 00027 #define _UTIL_QOS_STATUSQOSDATA_H 00028 00029 #include <util/xmlBlasterDef.h> 00030 #include <util/Constants.h> 00031 #include <string> 00032 00033 00034 namespace org { namespace xmlBlaster { namespace util { namespace qos { 00035 00036 class Dll_Export StatusQosData 00037 { 00038 private: 00039 std::string ME; 00040 org::xmlBlaster::util::Global& global_; 00041 00043 std::string state_; // = Constants::STATE_OK; 00044 std::string stateInfo_; 00045 00047 std::string subscriptionId_; 00048 00050 std::string keyOid_; 00051 00052 bool persistent_; // = DEFAULT_persistent; 00053 00059 Timestamp rcvTimestamp_; 00060 00061 void copy(const StatusQosData& data); 00062 00063 public: 00064 00073 StatusQosData(org::xmlBlaster::util::Global& global); 00074 00075 StatusQosData(const StatusQosData& data); 00076 00077 StatusQosData operator =(const StatusQosData& data); 00078 00082 void setState(const std::string& state); 00083 00088 std::string getState() const; 00089 00093 bool isOk() const; 00094 00099 bool isErased() const; 00100 00108 bool isTimeout() const; 00109 00113 bool isForwardError() const; 00114 00118 void setStateInfo(const std::string& stateInfo); 00119 00124 std::string getStateInfo() const; 00125 00130 void setSubscriptionId(const std::string& subscriptionId); 00131 00136 std::string getSubscriptionId() const; 00137 00142 std::string getKeyOid() const; 00143 00147 void setKeyOid(const std::string& oid); 00148 00152 int size() const; 00153 00160 std::string toXml(const std::string& extraOffset="") const; 00161 00167 void setRcvTimestamp(Timestamp rcvTimestamp); 00168 00174 Timestamp getRcvTimestamp() const; 00175 00179 void touchRcvTimestamp(); 00180 00184 void setPersistent(bool persistent); 00185 00189 bool isPersistent() const; 00190 }; 00191 00192 }}}} // namespace 00193 00194 #endif