icingaweb2/modules/monitoring/library/Monitoring/Web/Hook/TimelineProviderHook.php

38 lines
1.1 KiB
PHP
Raw Normal View History

2013-10-22 17:02:30 +02:00
<?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
2013-10-22 17:02:30 +02:00
namespace Icinga\Module\Monitoring\Web\Hook;
2013-10-22 17:02:30 +02:00
use Icinga\Module\Monitoring\Timeline\TimeRange;
2013-10-22 17:02:30 +02:00
/**
* Base class for TimeLine providers
2013-10-22 17:02:30 +02:00
*/
abstract class TimelineProviderHook
2013-10-22 17:02:30 +02:00
{
/**
* Return the names by which to group entries
*
* @return array An array with the names as keys and their attribute-lists as values
*/
abstract public function getIdentifiers();
/**
* Return the visible entries supposed to be shown on the timeline
*
* @param TimeRange $range The range of time for which to fetch entries
*
* @return array The entries to display on the timeline
*/
abstract public function fetchEntries(TimeRange $range);
/**
* Return the entries supposed to be used to calculate forecasts
*
* @param TimeRange $range The range of time for which to fetch forecasts
2013-10-22 17:02:30 +02:00
*
* @return array The entries to calculate forecasts with
2013-10-22 17:02:30 +02:00
*/
abstract public function fetchForecasts(TimeRange $range);
2013-10-22 17:02:30 +02:00
}