Создание собственного формата вывода
Свой формат вывода в ISPmanager можно создать на языке программирования C++.
Для этого:
- Установите пакет разработчика.
CentOS:Debian, Ubuntu:yum install coremanager-devel
apt-get install coremanager-devel
- Разработайте свой модуль, используя инструкции в статье Взаимодействие на низком уровне, плагины с++.
- Создайте подкласс, который будет наследовать методы от класса
OutputFormat
. - Переопределите метод
Write
. - Для проверки вызовите метод с указанием нового формата:
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();
}
}