/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */

#include "base/configobject.hpp"
#include "base/application.hpp"

library perfdata;

namespace icinga
{

class PerfdataWriter : ConfigObject
{
	activation_priority 100;

	[config] String host_perfdata_path {
		default {{{ return Configuration::SpoolDir + "/perfdata/host-perfdata"; }}}
	};
	[config] String service_perfdata_path {
		default {{{ return Configuration::SpoolDir + "/perfdata/service-perfdata"; }}}
	};
	[config] String host_temp_path {
		default {{{ return Configuration::SpoolDir + "/tmp/host-perfdata"; }}}
	};
	[config] String service_temp_path {
		default {{{ return Configuration::SpoolDir + "/tmp/service-perfdata"; }}}
	};
	[config] String host_format_template {
		default {{{
			return "DATATYPE::HOSTPERFDATA\t"
				"TIMET::$host.last_check$\t"
				"HOSTNAME::$host.name$\t"
				"HOSTPERFDATA::$host.perfdata$\t"
				"HOSTCHECKCOMMAND::$host.check_command$\t"
				"HOSTSTATE::$host.state$\t"
				"HOSTSTATETYPE::$host.state_type$";
		}}}
	};
	[config] String service_format_template {
		default {{{
			return "DATATYPE::SERVICEPERFDATA\t"
				"TIMET::$service.last_check$\t"
				"HOSTNAME::$host.name$\t"
				"SERVICEDESC::$service.name$\t"
				"SERVICEPERFDATA::$service.perfdata$\t"
				"SERVICECHECKCOMMAND::$service.check_command$\t"
				"HOSTSTATE::$host.state$\t"
				"HOSTSTATETYPE::$host.state_type$\t"
				"SERVICESTATE::$service.state$\t"
				"SERVICESTATETYPE::$service.state_type$";
		}}}
	};

	[config] double rotation_interval {
		default {{{ return 30; }}}
	};
	[config] bool enable_ha {
		default {{{ return false; }}}
	};
};

}
