Документация ISPmanager 5 Business

/
/
/
Создание собственного формата вывода

Создание собственного формата вывода

Это документация по устаревшему продукту. Перейти в актуальную документацию

 

Свой формат вывода в ISPmanager можно создать на языке программирования C++.

Для этого:

  1. Установите пакет разработчика.
    CentOS:
    yum install coremanager-devel
    Debian, Ubuntu:
    apt-get install coremanager-devel
  2. Разработайте свой модуль, используя инструкции в статье Взаимодействие на низком уровне, плагины с++.
  3. Создайте подкласс, который будет наследовать методы от класса OutputFormat.
  4. Переопределите метод Write.
  5. Для проверки вызовите метод с указанием нового формата: out=MyCustomFormat.

Пример кода:

#include <api/output.h>
#include <mgr/mgrlog.h>
#include <api/module.h>
#include <api/connection.h>

MODULE("output");

namespace {
using namespace isp_api;
using namespace mgr_xml;

class OutputMyCustomFormat : public OutputFormat {
public:
OutputMyCustomFormat() : OutputFormat("MyCustomFormat") {}
virtual ~OutputMyCustomFormat() {}

virtual bool IsHtml() const { return true; }
virtual bool WantMessages() const { return true; }
virtual void Write(Connection &conn, Xml &xml) 
	const string output = "output" // здесь используя полученную на вход xml нужно сформировать ответ сервера
	conn.Output() <<  "\n" << output << std::endl;
}

};

MODULE_INIT(OutputMyCustomFormat, "") {
new OutputMyCustomFormat();
}
}