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