* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL, version 2 * @author Icinga Development Team */ // {{{ICINGA_LICENSE_HEADER}}} namespace Icinga\Module\Monitoring\Command; use Icinga\Protocol\Commandpipe\Comment; /** * Icinga Command for adding comments * * @see BaseCommand */ class AddCommentCommand extends BaseCommand { /** * The comment associated to this command * * @var Comment */ private $comment; /** * Initialise a new command object to add comments * * @param Comment $comment The comment to use for this acknowledgement */ public function __construct(Comment $comment) { $this->comment = $comment; } /** * Set the comment for this command * * @param Comment $comment * @return self */ public function setComment(Comment $comment) { $this->comment = $comment; return $this; } /** * @param String $hostname The name of the host to create the command for for * * @return String The command string to return for the host * @see BaseCommand::getHostCommand() */ public function getHostCommand($hostname) { return sprintf('ADD_HOST_COMMENT;%s;', $hostname) . implode(';', $this->comment->getParameters()); } /** * @param String $hostname The name of the host to create the command for * @param String $servicename The name of the service to create the command for * * @return String The command string to return for the service * @see BaseCommand::getServiceCommand() */ public function getServiceCommand($hostname, $servicename) { return sprintf('ADD_SVC_COMMENT;%s;%s;', $hostname, $servicename) . implode(';', $this->comment->getParameters()); } }