00001 /*------------------------------------------------------------------------------ 00002 Name: MsgKeyFactory.h 00003 Project: xmlBlaster.org 00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file 00005 ------------------------------------------------------------------------------*/ 00006 00047 #ifndef _UTIL_KEY_MSGKEYFACTORY_H 00048 #define _UTIL_KEY_MSGKEYFACTORY_H 00049 00050 #include <util/xmlBlasterDef.h> 00051 // #include <util/SaxHandlerBase.h> 00052 #include <util/parser/XmlHandlerBase.h> 00053 #include <util/key/MsgKeyData.h> 00054 00055 00056 00057 00058 namespace org { namespace xmlBlaster { namespace util { namespace key { 00059 00060 class Dll_Export MsgKeyFactory : public parser::XmlHandlerBase 00061 { 00062 private: 00063 std::string ME; 00064 org::xmlBlaster::util::key::MsgKeyData msgKeyData_; 00065 00066 std::string OID; // = "oid"; 00067 std::string CONTENT_MIME; // = "contentMime"; 00068 std::string CONTENT_MIME_EXTENDED; // = "contentMimeExtended"; 00069 std::string D_O_M_A_I_N; // = "domain"; 00070 00072 int inKey_; // = 0; 00073 std::string clientTags_; 00074 std::string clientTagsOffset_; 00075 int clientTagsDepth_; 00076 00077 public: 00081 MsgKeyFactory(org::xmlBlaster::util::Global& global); 00082 00083 ~MsgKeyFactory(); 00084 00090 org::xmlBlaster::util::key::MsgKeyData readObject(const std::string& xmlKey); 00091 00098 void startElement(const std::string &name, const parser::AttributeMap &attrs); 00099 00105 void endElement(const std::string &name); 00106 }; 00107 00108 }}}} // namespace 00109 00110 #endif 00111