icingaweb2-module-businessp.../library/Businessprocess/Storage/Storage.php

59 lines
1.1 KiB
PHP
Raw Normal View History

<?php
2014-11-30 09:56:58 -05:00
namespace Icinga\Module\Businessprocess\Storage;
use Icinga\Data\ConfigObject;
2014-11-30 09:56:58 -05:00
use Icinga\Module\Businessprocess\BusinessProcess;
use Icinga\Module\Businessprocess\Metadata;
abstract class Storage
{
2016-11-23 04:44:24 -05:00
/**
* @var ConfigObject
*/
protected $config;
2016-11-23 04:44:24 -05:00
/**
* Storage constructor.
* @param ConfigObject $config
*/
public function __construct(ConfigObject $config)
{
$this->config = $config;
$this->init();
}
protected function init()
{
}
/**
* @return array
*/
abstract public function listProcesses();
/**
2016-11-23 04:44:24 -05:00
* @param $name
* @return BusinessProcess
*/
abstract public function loadProcess($name);
/**
2016-11-23 04:44:24 -05:00
* @param BusinessProcess $name
* @return mixed
*/
abstract public function storeProcess(BusinessProcess $name);
2015-03-16 04:08:00 -04:00
2016-11-23 04:44:24 -05:00
/**
* @param $name
* @return bool Whether the process has been deleted
*/
2015-03-16 04:08:00 -04:00
abstract public function deleteProcess($name);
/**
* @param string $name
* @return Metadata
*/
abstract public function loadMetadata($name);
}