00001 /*------------------------------------------------------------------------------ 00002 Name: AccessFilterQos.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 Comment: Holding filter address std::string and protocol std::string 00006 ------------------------------------------------------------------------------*/ 00007 00025 #ifndef _UTIL_QOS_ACCESSFILTERQOS_H 00026 #define _UTIL_QOS_ACCESSFILTERQOS_H 00027 00028 #include <util/xmlBlasterDef.h> 00029 #include <util/qos/Query.h> 00030 #include <util/I_Log.h> 00031 #include <util/Property.h> 00032 00033 #include <string> 00034 00035 namespace org { namespace xmlBlaster { namespace util { namespace qos { 00036 00037 extern Dll_Export const char* ACCESSFILTER_DEFAULT_version; 00038 extern Dll_Export const char* ACCESSFILTER_DEFAULT_type; 00039 00040 class Dll_Export AccessFilterQos 00041 { 00042 const std::string ME; 00043 org::xmlBlaster::util::Global& global_; 00044 org::xmlBlaster::util::I_Log& log_; 00045 00047 Query query_; 00048 00050 std::string type_; 00051 00053 std::string version_; // = DEFAULT_version; 00054 00055 void copy(const AccessFilterQos& qos); 00056 00057 public: 00060 AccessFilterQos(org::xmlBlaster::util::Global& global); 00061 00068 AccessFilterQos(org::xmlBlaster::util::Global& global, const std::string& type, const std::string& version, const std::string& query); 00069 00076 AccessFilterQos(org::xmlBlaster::util::Global& global, const std::string& type, const std::string& version, const Query& query); 00077 00078 AccessFilterQos(const AccessFilterQos& qos); 00079 00080 AccessFilterQos& operator =(const AccessFilterQos& qos); 00081 00082 00086 void setType(const std::string& type); 00087 00092 std::string getType() const; 00093 00097 void setVersion(const std::string& version); 00098 00103 std::string getVersion() const; 00104 00110 void setQuery(const Query& query); 00111 00116 Query getQuery() const; 00117 00125 std::string toXml(const std::string& extraOffset="") const; 00126 }; 00127 00128 }}}} 00129 00130 #endif 00131 00132