summaryrefslogtreecommitdiff
path: root/project2/cgi/cgiOutputOptions.cpp
blob: eb07b255569ac40bc20c666bf2f3aa93640448e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "cgiOutputOptions.h"

bool OutputOptions::core;
bool OutputOptions::session;
bool OutputOptions::timing;
bool OutputOptions::environment;
bool OutputOptions::url;
bool OutputOptions::parameters;

OutputOptions::OutputOptions(const xmlpp::Element * p) :
	Core(p, "core", false, core),
	Session(p, "session", false, session),
	Timing(p, "timing", false, timing),
	Environment(p, "environment", false, environment),
	URL(p, "url", false, url),
	Parameters(p, "parameters", false, parameters)
{
}

OutputOptionsLoader::OutputOptionsLoader() :
	opts("CGI default output options")
{
	opts.add_options()
		("cgi.output.core", po::value(&OutputOptions::core)->default_value(true), "Core messages")
		("cgi.output.session", po::value(&OutputOptions::core)->default_value(true), "Session values")
		("cgi.output.timing", po::value(&OutputOptions::core)->default_value(true), "Timing")
		("cgi.output.environment", po::value(&OutputOptions::core)->default_value(true), "Environment")
		("cgi.output.url", po::value(&OutputOptions::core)->default_value(true), "URL breakdown")
		("cgi.output.parameters", po::value(&OutputOptions::core)->default_value(true), "Parameters")
		;
}

OutputOptionsPtr
OutputOptionsLoader::createFrom(const xmlpp::Element * e) const {
	return new OutputOptions(e);
}

po::options_description *
OutputOptionsLoader::options()
{
	return &opts;
}

DECLARE_CUSTOM_COMPONENT_LOADER("outputoptions", OutputOptions, OutputOptionsLoader, OutputOptionsLoader)