Back to index

im-sdk  12.3.91
IMSvrXMLConf.hh
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
00002 #ifndef __IMSVRXMLCONF_HH__
00003 #define __IMSVRXMLCONF_HH__
00004 
00005 #include "basictype.hh"
00006 #include "IMSvrCfg.hh"
00007 #include <libxml/tree.h>
00008 
00009 class IMSvrXMLConf : public IMSvrCfg {
00010 private:
00011     IMSvr *ptarget;
00012     string filename;
00013     IMSocketAddressVec listenaddrvec;
00014 
00015     IMAuth::access_type get_access_type(xmlChar *key);
00016 
00017     string IMSvrXMLConf::parse_text_node(xmlNodePtr &node);
00018     string parse_hostname_node(xmlNodePtr &node);
00019     string parse_port_node(xmlNodePtr &node);
00020     string parse_file_node(xmlNodePtr &node);
00021     void parse_listen_tcp_node(xmlNodePtr &node, bool ssl);
00022     void parse_listen_unix_node(xmlNodePtr &node, bool ssl);
00023     void parse_acl_node(xmlNodePtr &node);
00024     void parse_acls_node(xmlNodePtr &node);
00025     void parse_system_node(xmlNodePtr &node);
00026     void parse_user_node(xmlNodePtr &node);
00027     void parse_auth_node(xmlNodePtr &node);
00028     void parse_ssl_node(xmlNodePtr &node);
00029     void parse_server_node(xmlNodePtr &node);
00030 
00031     bool load(void);
00032 
00033 
00034 public:
00035     virtual bool configure(IMSvr *pimsvr);
00036     IMSvrXMLConf(IMSvrCfg *pbase, const char *conffile);
00037     virtual ~IMSvrXMLConf();
00038 };
00039 
00040 #endif /* __IMSVRXMLCONF_HH__ */