2015-06-02 10:49:31 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Icinga\Module\Director\Objects;
|
|
|
|
|
2016-03-09 20:53:57 +01:00
|
|
|
class IcingaHostGroup extends IcingaObjectGroup
|
2015-06-02 10:49:31 +02:00
|
|
|
{
|
|
|
|
protected $table = 'icinga_hostgroup';
|
2016-06-08 16:45:46 +02:00
|
|
|
|
2017-03-14 13:11:22 +01:00
|
|
|
/** @var HostGroupMembershipResolver */
|
|
|
|
protected $hostgroupMembershipResolver;
|
|
|
|
|
2016-09-09 11:06:31 +02:00
|
|
|
public function supportsAssignments()
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
2016-11-07 16:41:00 +01:00
|
|
|
|
2017-03-14 13:11:22 +01:00
|
|
|
protected function getHostGroupMembershipResolver()
|
|
|
|
{
|
|
|
|
if ($this->hostgroupMembershipResolver === null) {
|
|
|
|
$this->hostgroupMembershipResolver = new HostGroupMembershipResolver(
|
|
|
|
$this->getConnection()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
return $this->hostgroupMembershipResolver;
|
|
|
|
}
|
|
|
|
|
2017-03-14 14:21:15 +01:00
|
|
|
public function setHostGroupMembershipResolver(HostGroupMembershipResolver $resolver)
|
|
|
|
{
|
|
|
|
$this->hostgroupMembershipResolver = $resolver;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
2017-03-14 13:11:22 +01:00
|
|
|
protected function notifyResolvers()
|
|
|
|
{
|
|
|
|
$resolver = $this->getHostGroupMembershipResolver();
|
2017-05-16 12:45:37 +02:00
|
|
|
$resolver->addGroup($this);
|
2017-03-14 13:11:22 +01:00
|
|
|
$resolver->refreshDb();
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
2015-06-02 10:49:31 +02:00
|
|
|
}
|