• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ xmlnode::XMLSet类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中xmlnode::XMLSet的典型用法代码示例。如果您正苦于以下问题:C++ XMLSet类的具体用法?C++ XMLSet怎么用?C++ XMLSet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了XMLSet类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: checkInterval

SensorManagerCfg::SensorManagerCfg(XMLElement* elem)
	: CfgHelper<SensorManager, SensorManagerCfg>(elem, "sensorManager", false),
	  checkInterval(SM_DEFAULT_CHECK_INTERVAL),
	  sensorOutput(SM_DEFAULT_OUTPUT_FNAME),
	  append(SM_DEFAULT_APPEND)
{
	if (!elem) return; // needed because of table inside ConfigManager

	XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("checkinterval")) {
			checkInterval = strtol(e->getFirstText().c_str(), NULL, 10);
			if (checkInterval == 0) {
				THROWEXCEPTION("invalid check interval specified: '%s'", e->getFirstText().c_str());
			}
		} else if (e->matches("outputfile")) {
			sensorOutput = e->getFirstText().c_str();
			if (sensorOutput.size() == 0) {
				THROWEXCEPTION("invalid sensor output file specified: '%s'", e->getFirstText().c_str());
			}
		} else if (e->matches("append")) {
			append = getInt("append")>0;
		} else {
			msg(MSG_FATAL, "Unknown sensor manager config statement: %s", e->getName().c_str());
		}
	}
}
开发者ID:JammyStuff,项目名称:vermont,代码行数:31,代码来源:SensorManagerCfg.cpp


示例2: readDos

BaseTCPDosDetect* AggregatorBaseCfg::readDos(XMLElement* elem)
{
BaseTCPDosDetect* temp = NULL;
int module;
int dosTemplateId;
int minimumRate;
int clusterTimeout;
std::map<uint32_t,uint32_t> subnets;

XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
 for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();it!=set.end();it++)
	{

	XMLElement* e = *it;
		if (e->matches("module")) {
			module = getInt("module",-1,e);				
		} else if (e->matches("dosTemplateId")) {
			dosTemplateId = getInt("dosTemplateId",-1,e);	
		} else if (e->matches("internal")) {
			string ipstring = e->getFirstText();
			uint32_t ip = 0;
			uint32_t subnet = inet_addr("255.255.255.255");
			int last_pos = ipstring.find("/");
		        if (last_pos)
			{
		        string tempstr = ipstring.substr(0,last_pos);
		        ip = ntohl(inet_addr(tempstr.c_str()));
			tempstr = ipstring.substr(last_pos+1,ipstring.length());
			subnet >>= (32-atoi(tempstr.c_str()));
			subnet <<= (32-atoi(tempstr.c_str()));
			}
			subnets[ip] = subnet;
		} else if (e->matches("minimumRate")) {
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:33,代码来源:AggregatorBaseCfg.cpp


示例3: port

IpfixDbWriterOracleCfg::IpfixDbWriterOracleCfg(XMLElement* elem)
  : CfgHelper<IpfixDbWriterOracle, IpfixDbWriterOracleCfg>(elem, "ipfixDbWriterOracle"),
    port(0), bufferRecords(30), observationDomainId(0)
{
	msg(MSG_DEBUG, "Starting configuration for Oracle connection");
	if (!elem) return;
	XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin(); it != set.end(); it++) {
		XMLElement* e = *it;
		if (e->matches("host")) {
			hostname = e->getFirstText();
		} else if (e->matches("port")) {
			port = getInt("port");
		} else if (e->matches("dbname")) {
			dbname = e->getFirstText();
		} else if (e->matches("username")) {
			user = e->getFirstText();
		} else if (e->matches("password")) {
			password = e->getFirstText();
		} else if (e->matches("bufferrecords")) {
			bufferRecords = getInt("bufferrecords");
		} else if (e->matches("columns")) {
			readColumns(e);
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(MSG_FATAL, "Unknown IpfixDbWriterOracle config statement %s\n", e->getName().c_str());
			continue;
		}
	}
	if (hostname=="") THROWEXCEPTION("IpfixDbWriterOracleCfg: host not set in configuration!");
	if (port==0) THROWEXCEPTION("IpfixDbWriterOracleCfg: port not set in configuration!");
	if (dbname=="") THROWEXCEPTION("IpfixDbWriterOracleCfg: dbname not set in configuration!");
	if (user=="") THROWEXCEPTION("IpfixDbWriterOracleCfg: username not set in configuration!");
	if (password=="") THROWEXCEPTION("IpfixDbWriterOracleCfg: password not set in configuration!");
}
开发者ID:bigalien,项目名称:vermont,代码行数:35,代码来源:IpfixDbWriterOracleCfg.cpp


示例4: getInt

IpfixFileWriterCfg::IpfixFileWriterCfg(XMLElement* elem)
	: CfgHelper<IpfixFileWriter, IpfixFileWriterCfg>(elem, "ipfixFileWriter"),
	destinationPath("./"),
	filenamePrefix("ipfix.dump"),
	maximumFilesize(DEFAULTFILESIZE),
	observationDomainId(0)
{
	if (!elem) return;  // needed because of table inside ConfigManager

	XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("maximumFilesize")) {
			maximumFilesize = getInt("maximumFilesize"); 
		}else if (e->matches("destinationPath")){
			destinationPath = e->getFirstText();
		}else if (e->matches("filenamePrefix")){
			filenamePrefix = e->getFirstText();
		} else if (e->matches("observationDomainId")) {
			observationDomainId = getInt("observationDomainId");
		}
		 else {
			msg(MSG_FATAL, "Unknown ipfixFileWriter config statement %s\n",
				 e->getName().c_str());
			continue;
		}
	}
}
开发者ID:JammyStuff,项目名称:vermont,代码行数:31,代码来源:IpfixFileWriterCfg.cpp


示例5: snapshotOffset

PacketIDMEFReporterCfg::PacketIDMEFReporterCfg(XMLElement* elem)
    : CfgHelper<PacketIDMEFReporter, PacketIDMEFReporterCfg>(elem, "packetIDMEFReporter"),
	  snapshotOffset(0), snapshotLength(0)
{
    if (!elem) return;

    XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("snapshotoffset")) {
			snapshotOffset = getInt("snapshotoffset");
		} else if (e->matches("snapshotlength")) {
			snapshotLength = getInt("snapshotlength");
		} else if (e->matches("analyzerid")) {
			analyzerId = e->getFirstText();
		} else if (e->matches("idmeftemplate")) {
			idmefTemplate = e->getFirstText();
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(MSG_FATAL, "Unknown PacketIDMEFReporter config statement %s\n", e->getName().c_str());
			continue;
		}
	}
	if (analyzerId=="") THROWEXCEPTION("PacketIDMEFReporterCfg: analyzerid not set in configuration!");
	if (idmefTemplate=="") THROWEXCEPTION("PacketIDMEFReporterCfg: idmeftemplate not set in configuration!");
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:29,代码来源:PacketIDMEFReporterCfg.cpp


示例6: if

PCAPExporterCfg::PCAPExporterCfg(XMLElement* elem)
    : CfgHelper<PCAPExporterModule, PCAPExporterCfg>(elem, "pcapExporter"), link_type(DLT_EN10MB)
{
    if (!elem) return;

    XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
    for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
            it != set.end();
            it++) {
        XMLElement* e = *it;

        if (e->matches("filename")) {
            fileName = e->getFirstText();
        } else if (e->matches("linkType")) {
            int tmp =  pcap_datalink_name_to_val(e->getFirstText().c_str());
            if (tmp == -1) {
                msg(MSG_ERROR, "Found illegal link type");
            } else {
                link_type = tmp;
            }
        } else if (e->matches("snaplen")) {
            snaplen = getInt("snaplen", PCAP_MAX_CAPTURE_LENGTH, e);
        }
    }
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:25,代码来源:PCAPExporterCfg.cpp


示例7: port

IpfixDbReaderCfg::IpfixDbReaderCfg(XMLElement* elem)
    : CfgHelper<IpfixDbReader, IpfixDbReaderCfg>(elem, "ipfixDbReader"),
      port(0)
{
    if (!elem) return;

    XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
    for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
            it != set.end();
            it++) {
        XMLElement* e = *it;

        if (e->matches("host")) {
            hostname = e->getFirstText();
        } else if (e->matches("port")) {
            port = getInt("port");
        } else if (e->matches("dbname")) {
            dbname = e->getFirstText();
        } else if (e->matches("username")) {
            user = e->getFirstText();
        } else if (e->matches("password")) {
            password = e->getFirstText();
        } else if (e->matches("next")) { // ignore next
        } else {
            msg(MSG_FATAL, "Unknown IpfixDbReader config statement %s\n", e->getName().c_str());
            continue;
        }
    }
    if (hostname=="") THROWEXCEPTION("IpfixDbReaderCfg: host not set in configuration!");
    if (port==0) THROWEXCEPTION("IpfixDbReaderCfg: port not set in configuration!");
    if (dbname=="") THROWEXCEPTION("IpfixDbReaderCfg: dbname not set in configuration!");
    if (user=="") THROWEXCEPTION("IpfixDbReaderCfg: username not set in configuration!");
    if (password=="") THROWEXCEPTION("IpfixDbReaderCfg: password not set in configuration!");
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:34,代码来源:IpfixDbReaderCfg.cpp


示例8: getInt

IpfixCollectorCfg::IpfixCollectorCfg(XMLElement* elem)
	: CfgHelper<IpfixCollector, IpfixCollectorCfg>(elem, "ipfixCollector"),
	listener(NULL),
	ipfixCollector(NULL)
{
	if (!elem)
		return;

	msg(MSG_INFO, "IpfixCollectorCfg: Start reading ipfixCollector section");
	udpTemplateLifetime = getInt("udpTemplateLifetime", -1);
	XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("listener")) {
			listener = new CollectorCfg(e);
		} else if (e->matches("udpTemplateLifetime")) { // already done
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(MSG_FATAL, "Unkown observer config statement %s\n", e->getName().c_str());
			continue;
		}
	}

	if (listener == NULL)
		THROWEXCEPTION("collectingProcess has to listen on one address!");

	msg(MSG_INFO, "IpfixCollectorCfg: Successfully parsed collectingProcess section");
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:31,代码来源:IpfixCollectorCfg.cpp


示例9: PacketCountFilterCfg

PacketFilterCfg::PacketFilterCfg(XMLElement* elem)
	: CfgHelper<FilterModule, PacketFilterCfg>(elem, "filter")
{
	if (!elem)
		return;
	
	XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		Cfg* c;
		XMLElement* e = *it;

		if (e->matches("countBased")) {
			msg(MSG_INFO, "Filter: Creating count based sampler");
			c = new PacketCountFilterCfg(e);
		} else if (e->matches("stringBased")) {
			msg(MSG_INFO, "Filter: Creating string based sampler");
			c = new PacketStringFilterCfg(e);
		} else if (e->matches("regexBased")) {
			msg(MSG_INFO, "Filter: Creating regex based sampler");
			c = new PacketRegexFilterCfg(e);
		} else if (e->matches("timeBased")) {
			msg(MSG_INFO, "Filter: Creating time based sampler");
			c = new PacketTimeFilterCfg(e);
		} else if (e->matches("next")) { // ignore next
			continue;
		} else {
			msg(MSG_FATAL, "Unkown packet filter %s\n", e->getName().c_str());
			continue;
		}

		subCfgs.push_back(c);
	}
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:35,代码来源:PacketFilterCfg.cpp


示例10: getInt

IpfixCollectorCfg::IpfixCollectorCfg(XMLElement* elem)
	: CfgHelper<IpfixCollector, IpfixCollectorCfg>(elem, "ipfixCollector"),
	listener(NULL),
	ipfixCollector(NULL)
{
	if (!elem)
		return;

	msg(MSG_INFO, "IpfixCollectorCfg: Start reading ipfixCollector section");
	udpTemplateLifetime = getInt("udpTemplateLifetime", -1);

	// Config for DTLS
	certificateChainFile = getOptional("cert");
	privateKeyFile = getOptional("key");
	caFile = getOptional("CAfile");
	caPath = getOptional("CApath");
	// observationDomainId = getInt("observationDomainId", 0);
	
	XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("listener")) {
			if (listener)
				THROWEXCEPTION("listener already set. There can only be one <listener> Element per Collector.");
			listener = new CollectorCfg(e);
			if (listener->getMtu() != 0) {
				delete listener;
				THROWEXCEPTION("You can not set the MTU for a listener.");
			}
		} else if (e->matches("udpTemplateLifetime")) { // already done
		} else if (e->matches("next")) { // ignore next
		} else if (e->matches("cert") || e->matches("key") ||
				e->matches("CAfile") || e->matches("CApath")) {
			// already done!
		} else {
			msg(MSG_FATAL, "Unkown collector config statement %s", e->getName().c_str());
			continue;
		}
	}

	if (listener == NULL)
		THROWEXCEPTION("collectingProcess has to listen on one address!");

	if (listener->getProtocol() != UDP &&
			listener->getProtocol() != SCTP &&
			listener->getProtocol() != DTLS_OVER_UDP &&
			listener->getProtocol() != DTLS_OVER_SCTP)
		THROWEXCEPTION("collectingProcess can handle only UDP or SCTP!");
	
	msg(MSG_INFO, "IpfixCollectorCfg: Successfully parsed collectingProcess section");
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:54,代码来源:IpfixCollectorCfg.cpp


示例11: initInstance

void AnonymizerCfg::initInstance(CfgBase* c, AnonModule* module, XMLNode::XMLSet<XMLElement*> set)
{
    for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
            it != set.end();
            it++) {
        XMLElement* e = *it;

        if (e->matches("anonField")) {
            InfoElementCfg* cfg = NULL;
            std::string method;
            std::string method_parameter;
            XMLNode::XMLSet<XMLElement*> set = e->getElementChildren();
            for (XMLNode::XMLSet<XMLElement*>::iterator jt = set.begin();
                    jt != set.end();
                    ++jt) {
                XMLElement* e = *jt;
                if (e->matches("anonIE")) {
                    if(cfg) {
                        THROWEXCEPTION("Only on anonIE tag per anonField tag allowed");
                    }
                    cfg = new InfoElementCfg(*jt);
                } else if (e->matches("anonMethod")) {
                    method = c->get("anonMethod", e);
                } else if (e->matches("anonParam")) {
                    method_parameter = c->get("anonParam", e);
                } else {
                    msg(MSG_ERROR, "Unknown field in anonField");
                    continue;
                }
            }
            if (!cfg) {
                msg(MSG_FATAL, "Missing information element in anonField");
                THROWEXCEPTION("Missing information element in anonField");
            }
            if (method.empty()) {
                msg(MSG_FATAL, "Missing anonymization method in anonField");
                THROWEXCEPTION("Missing anonymization method in anonField");
            }
            if (cfg->getIeLength()==0) THROWEXCEPTION("Information element specified in anonField, but length==0");
            module->addAnonymization(cfg->getIeId(), cfg->getIeLength(), AnonMethod::stringToMethod(method), method_parameter);
            const ipfix_identifier* id = ipfix_id_lookup(cfg->getIeId());
            msg(MSG_INFO, "Added anonymization %s for field %i (%s) with length %i", method.c_str(), cfg->getIeId(), id->name, cfg->getIeLength());
            delete cfg;
        } else if (e->matches("next") || e->matches("copyMode")) {
            // ignore next and copyMode (see createInstance)
        } else {
            msg(MSG_FATAL, "Unkown anonymization field %s\n", e->getName().c_str());
            continue;
        }
    }


}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:53,代码来源:AnonymizerCfg.cpp


示例12: CfgBase

PacketReportingCfg::PacketReportingCfg(XMLElement* elem)
	: CfgBase(elem), recordVLFields(0), recordLength(0), templateId(0), t(NULL)
{
	assert(elem);

	XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		if ((*it)->getName()=="templateId") {
			templateId = getInt("templateId", 0, elem);
		} else {
			exportedFields.push_back(new InfoElementCfg(*it));
		}
	}
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:16,代码来源:PacketReportingCfg.cpp


示例13: noConnections

IpfixPayloadWriterCfg::IpfixPayloadWriterCfg(XMLElement* elem)
    : CfgHelper<IpfixPayloadWriter, IpfixPayloadWriterCfg>(elem, "ipfixPayloadWriter"),
      noConnections(0),
      ignoreEmptyPayload(false),
      ignoreIncompleteTCP(false),
      startIdx(0)
{
    if (!elem) return;

    bool noconnseen = false;

    XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("destPath")) {
			path = e->getFirstText();
		} else if (e->matches("filenamePrefix")) {
			filenamePrefix = e->getFirstText();
		} else if (e->matches("connNumber")) {
			noConnections = getInt("connNumber");
			noconnseen = true;
		} else if (e->matches("ignoreEmptyPayload")) {
			ignoreEmptyPayload = getBool("ignoreEmptyPayload");
		} else if (e->matches("ignoreIncompleteTCP")) {
			ignoreIncompleteTCP = getInt("ignoreIncompleteTCP");
		} else if (e->matches("ignoreIncompleteTCP")) {
			ignoreIncompleteTCP = getInt("ignoreIncompleteTCP");
		} else if (e->matches("startIndex")) {
			startIdx = getInt64("startIndex");
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(MSG_FATAL, "Unknown IpfixPayloadWriter config statement %s\n", e->getName().c_str());
			continue;
		}
	}
	if (path=="") THROWEXCEPTION("IpfixPayloadWriterCfg: destPath not set in configuration!");
	if (filenamePrefix=="") THROWEXCEPTION("IpfixPayloadWriterCfg: filenamePrefix not set in configuration!");
	if (!noconnseen) THROWEXCEPTION("IpfixPayloadWriterCfg: connNumber not set in configuration!");

	struct stat s;
	if (stat(path.c_str(), &s) != 0)
		THROWEXCEPTION("IpfixPayloadWriterCfg: failed to access destination path '%s', error: %s", path.c_str(), strerror(errno));
}
开发者ID:JammyStuff,项目名称:vermont,代码行数:46,代码来源:IpfixPayloadWriterCfg.cpp


示例14: templateRefreshRate

PSAMPExporterCfg::PSAMPExporterCfg(XMLElement* elem) 
	: CfgHelper<PSAMPExporterModule, PSAMPExporterCfg>(elem, "psampExporter"),
	templateRefreshTime(0), /* templateRefreshRate(0), */
	maxPacketSize(0), exportDelay(0), reporting(NULL) 
{ 
	if (!elem) return;

	observationDomainId = getInt("observationDomainId", 0);

	// determine captureLen
	// FIXME: undocumented parameter, this value should come from observer
	int captureLen = getInt("captureLen", PCAP_DEFAULT_CAPTURE_LENGTH);
	
	XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("ipfixPacketRestrictions")) {
			maxPacketSize = (uint16_t)getInt("maxPacketSize", 0, e);
			exportDelay = getTimeInUnit("maxExportDelay", mSEC, 0, e);
		} else if (e->matches("udpTemplateManagement")) {
			// use 0 as default values for both if the config entry isn't found 
			templateRefreshTime = getTimeInUnit("templateRefreshTimeout", SEC, IS_DEFAULT_TEMPLATE_TIMEINTERVAL, e);
			/* templateRefreshRate = getInt("templateRefreshRate", IS_DEFAULT_TEMPLATE_RECORDINTERVAL, e); */ /* TODO */
		} else if (e->matches("collector")) {
			collectors.push_back(new CollectorCfg(e));
		} else if (e->matches("packetReporting")) {
			reporting = new PacketReportingCfg(e);
		} else if (e->matches("captureLen") || e->matches("observationDomainId")) {
			// ignore it, already handled
		} else {
			THROWEXCEPTION("Illegal PSAMPExporter config entry \"%s\"found",
					e->getName().c_str());
		}
	}

	if (reporting == NULL)
		THROWEXCEPTION("No packetReporting found in psampExporter config");
	
	// rough estimation of the maximum record length including variable length fields
	recordLength =  reporting->getRecordLength() + 
			reporting->getRecordsVariableLen() * captureLen;
} 
开发者ID:JammyStuff,项目名称:vermont,代码行数:45,代码来源:PSAMPExporterCfg.cpp


示例15: readColumns

void IpfixDbWriterOracleCfg::readColumns(XMLElement* elem) {
	colNames.clear();
	XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("name")) {
			colNames.push_back(e->getFirstText());
			msg(MSG_DEBUG, "Row: %s", e->getFirstText().c_str());
		} else {
			msg(MSG_FATAL, "Unknown IpfixDbWriterOracle config statement %s\n", e->getName().c_str());
			continue;
		}		
	}

}
开发者ID:bigalien,项目名称:vermont,代码行数:18,代码来源:IpfixDbWriterOracleCfg.cpp


示例16: readProperties

void IpfixDbWriterMongoCfg::readProperties(XMLElement* elem) {
	properties.clear();
	XMLNode::XMLSet<XMLElement*> set = elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("name") && !allProperties) {
			properties.push_back(e->getFirstText());
		} else if (e->matches("all")) {
			properties.clear();
			allProperties = true;
		} else {
			msg(MSG_FATAL, "Unknown IpfixDbWriterMongo config statement %s\n", e->getName().c_str());
			continue;
		}		
	}

}
开发者ID:JammyStuff,项目名称:vermont,代码行数:20,代码来源:IpfixDbWriterMongoCfg.cpp


示例17: port

IpfixDbWriterMongoCfg::IpfixDbWriterMongoCfg(XMLElement* elem)
    : CfgHelper<IpfixDbWriterMongo, IpfixDbWriterMongoCfg>(elem, "ipfixDbWriterMongo"),
      port(27017), bufferObjects(30), observationDomainId(0)
{
  if (!elem) return;

  XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
  	beautifyProperties = false;
  	allProperties = false;
	for ( XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
        it != set.end();
	      it++) {
	  XMLElement* e = *it;

		if (e->matches("host")) {
			hostname = e->getFirstText();
		} else if (e->matches("port")) {
			port = getInt("port");
		} else if (e->matches("database")) {
			database = e->getFirstText();
		} else if (e->matches("username")) {
			user = e->getFirstText();
		} else if (e->matches("password")) {
			password = e->getFirstText();
		} else if (e->matches("bufferobjects")) {
			bufferObjects = getInt("bufferobjects");
		} else if (e->matches("properties")) {
			readProperties(e);
		} else if (e->matches("observationDomainId")) {
			observationDomainId = getInt("observationDomainId");
		} else if (e->matches("beautifyProperties")) {
			beautifyProperties = true;
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(MSG_FATAL, "Unknown IpfixDbWriterMongo config statement %s\n", e->getName().c_str());
			continue;
		}
	}
	if (hostname=="") THROWEXCEPTION("IpfixDbWriterMongoCfg: host not set in configuration!");
	if (database=="") THROWEXCEPTION("IpfixDbWriterMongoCfg: dbname not set in configuration!");
}
开发者ID:JammyStuff,项目名称:vermont,代码行数:41,代码来源:IpfixDbWriterMongoCfg.cpp


示例18: flowRate

IpfixSamplerCfg::IpfixSamplerCfg(XMLElement* elem)
    : CfgHelper<IpfixSampler, IpfixSamplerCfg>(elem, "ipfixSampler"),
    flowRate(1)
{
    if (!elem) return;

    XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("flowrate")) {
			flowRate = getDouble("flowrate");
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(MSG_FATAL, "Unknown IpfixSampler config statement %s\n", e->getName().c_str());
			continue;
		}
	}
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:21,代码来源:IpfixSamplerCfg.cpp


示例19: if

ObserverCfg::ObserverCfg(XMLElement* elem)
	: CfgHelper<Observer, ObserverCfg>(elem, "observer"),
	interface(),
	pcap_filter(),
	capture_len(PCAP_DEFAULT_CAPTURE_LENGTH),
	offline(false),
	replaceOfflineTimestamps(false),
	offlineAutoExit(true),
	offlineSpeed(1.0)
{
	if (!elem) return;  // needed because of table inside ConfigManager
	
	XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("interface")) {
			interface = e->getFirstText();
		} else if (e->matches("pcap_filter")) {
			pcap_filter = e->getFirstText();
		} else if (e->matches("filename")) {
			interface = e->getFirstText();
			offline = true;
		} else if (e->matches("replaceTimestamps")) {
			replaceOfflineTimestamps = getBool("replaceTimestamps", replaceOfflineTimestamps);
		} else if (e->matches("offlineSpeed")) {
			offlineSpeed = getDouble("offlineSpeed");
		} else if (e->matches("offlineAutoExit")) {
			offlineAutoExit = getBool("offlineAutoExit", offlineAutoExit);
		} else if (e->matches("captureLength")) {
			capture_len = getInt("captureLength");	
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(MSG_FATAL, "Unknown observer config statement %s\n", e->getName().c_str());
			continue;
		}
	}
}
开发者ID:BackupTheBerlios,项目名称:vermont-svn,代码行数:40,代码来源:ObserverCfg.cpp


示例20: hashBits

TRWPortscanDetectorCfg::TRWPortscanDetectorCfg(XMLElement* elem)
    : CfgHelper<TRWPortscanDetector, TRWPortscanDetectorCfg>(elem, "trwPortscanDetector"),
      hashBits(20),
      timeExpirePending(60*60*24),
      timeExpireScanner(60*30),
      timeExpireBenign(60*30),
      timeCleanupInterval(10)
{
    if (!elem) return;

    XMLNode::XMLSet<XMLElement*> set = _elem->getElementChildren();
	for (XMLNode::XMLSet<XMLElement*>::iterator it = set.begin();
	     it != set.end();
	     it++) {
		XMLElement* e = *it;

		if (e->matches("hashbits")) {
			hashBits = getInt("hashbits");
		} else if (e->matches("timeexpirepending")) {
			timeExpirePending = getInt("timeexpirepending");
		} else if (e->matches("timeexpirescanner")) {
			timeExpireScanner = getInt("timeexpirescanner");
		} else if (e->matches("timeexpirebenign")) {
			timeExpireBenign = getInt("timeexpirebenign");
		} else if (e->matches("timecleanupinterval")) {
			timeCleanupInterval = getInt("timecleanupinterval");
		} else if (e->matches("analyzerid")) {
			analyzerId = e->getFirstText();
		} else if (e->matches("idmeftemplate")) {
			idmefTemplate = e->getFirstText();
		} else if (e->matches("next")) { // ignore next
		} else {
			msg(LOG_CRIT, "Unknown TRWPortscanDetector config statement %s\n", e->getName().c_str());
			continue;
		}
	}
	if (analyzerId=="") THROWEXCEPTION("TRWPortscanDetectorCfg: analyzerid not set in configuration!");
	if (idmefTemplate=="") THROWEXCEPTION("TRWPortscanDetectorCfg: idmeftemplate not set in configuration!");
}
开发者ID:tumi8,项目名称:vermont,代码行数:39,代码来源:TRWPortscanDetectorCfg.cpp



注:本文中的xmlnode::XMLSet类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ xmlnodelist::const_iterator类代码示例发布时间:2022-05-31
下一篇:
C++ xml::gcXMLElement类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap