util/qos/StatusQosData.h

Go to the documentation of this file.
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