1 /*------------------------------------------------------------------------------
 2 Name:      GetQos.h
 3 Project:   xmlBlaster.org
 4 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
 5 ------------------------------------------------------------------------------*/
 6 
 7 /**
 8  * This class encapsulates the QoS of an erase() request. 
 9  * <p />
10  * see xmlBlaster/src/dtd/XmlQoS.xml
11  * @see org.xmlBlaster.util.qos.QueryQosData
12  * @see org.xmlBlaster.util.qos.QueryQosSaxFactory
13  * @see <a href="http://www.xmlblaster.org/xmlBlaster/doc/requirements/interface.get.html">get interface</a>
14  */
15 
16 #ifndef _CLIENT_QOS_GETQOS_H
17 #define _CLIENT_QOS_GETQOS_H
18 
19 #include <util/xmlBlasterDef.h>
20 #include <client/qos/UnSubscribeQos.h>
21 
22 
23 
24 
25 
26 namespace org { namespace xmlBlaster { namespace client { namespace qos {
27 
28 class Dll_Export GetQos : public org::xmlBlaster::client::qos::UnSubscribeQos
29 {
30 public:
31    GetQos(org::xmlBlaster::util::Global& global);
32 
33    GetQos(org::xmlBlaster::util::Global& global, const org::xmlBlaster::util::qos::QueryQosData& data);
34 
35    GetQos(const GetQos& qos);
36 
37    GetQos& operator =(const GetQos& qos);
38 
39    /**
40     * If false, the update contains not the content (it is a notify of change only)
41     * TODO: Implement in server!!!
42     */
43    void setWantContent(bool content);
44 
45    /**
46     * Adds your subplied subscribe filter
47     */
48    void addAccessFilter(const org::xmlBlaster::util::qos::AccessFilterQos& filter);
49 
50    /**
51     * Set the QoS which describes the history query settings. 
52     */
53    void setHistoryQos(const org::xmlBlaster::util::qos::HistoryQos& historyQos);
54 
55    /**
56     * Add a client property key and value
57     * @param name The unique key, a duplicate key will overwrite the old setting
58     * @param value "vector<unsigned char>" and "unsigned char *" types are treated as a blob
59     * @see ClientProperty::#ClientProperty
60     */
61    template <typename T_VALUE> void addClientProperty(
62             const std::string& name,
63             const T_VALUE& value,
64             const std::string& type="",
65             const std::string& encoding="") {
66       data_.addClientProperty(name, value, type, encoding);
67    }
68 
69 };
70 
71 }}}} // namespace
72 
73 #endif


syntax highlighted by Code2HTML, v. 0.9.1