2013-10-22 17:02:30 +02:00
|
|
|
<?php
|
2015-02-04 10:46:36 +01:00
|
|
|
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
|
2013-10-22 17:02:30 +02:00
|
|
|
|
2014-03-20 14:30:48 +01:00
|
|
|
namespace Icinga\Module\Monitoring\Web\Hook;
|
2013-10-22 17:02:30 +02:00
|
|
|
|
2014-03-20 14:30:48 +01:00
|
|
|
use Icinga\Module\Monitoring\Timeline\TimeRange;
|
2013-10-22 17:02:30 +02:00
|
|
|
|
|
|
|
/**
|
2014-03-24 16:53:18 +01:00
|
|
|
* Base class for TimeLine providers
|
2013-10-22 17:02:30 +02:00
|
|
|
*/
|
2014-08-26 14:29:55 +02:00
|
|
|
abstract class TimelineProviderHook
|
2013-10-22 17:02:30 +02:00
|
|
|
{
|
|
|
|
/**
|
2014-03-24 16:53:18 +01: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
|
|
|
*
|
2014-03-24 16:53:18 +01:00
|
|
|
* @return array The entries to calculate forecasts with
|
2013-10-22 17:02:30 +02:00
|
|
|
*/
|
2014-03-24 16:53:18 +01:00
|
|
|
abstract public function fetchForecasts(TimeRange $range);
|
2013-10-22 17:02:30 +02:00
|
|
|
}
|