Class isp api::RegisterProblem

Материал из ISPWiki
Перейти к: навигация, поиск

Класс isp_api::RegisterProblem

Класс для регистрации проблем

#include <problems.h> 

Описание:

class isp_api::RegisterProblem

Пример использования:

try { 
    mgr_client::Remote(mgr_cf::GetParam("IpManagerURL")).Query(ip_manager_auth + "func=ip.delete&elid=" + str::url::Encode(m_ip)); 
} catch (const mgr_err::Error& e) { 
    isp_api::RegisterProblem("ipdb_freeip", m_ip, isp_api::plError) 
            .add_param("reason", e.xml().GetNode("//msg")).Post(); 
} 

Открытые члены (кратко)

RegisterProblem ( const string &name , const string &id , ProblemLevel level = plWarning , int period = PROBLEMS_DEFAULT_AUTOSOLVE_PERIOD )

Конструктор класса


RegisterProblem & add_param ( const string &name , const string &value )

Добавление параметра к проблеме


RegisterProblem & add_message ( const string &name , const string &value )

Добавление параметра, ссылающегося на сообщение, к проблеме


RegisterProblem & add_info ( const string &value )

Добавление дополнительного параметра, отображаемого пользователям в WEB-интерфейсе


RegisterProblem & add_owner ( const string &name )

Задает владельца проблемы


RegisterProblem & set_help ( const string &value = "" )

Добавление ссылки на документацию


RegisterProblem & set_max_autosolve_count ( const int value )

Задать максимальное количество авторешений


void Post ()

Зарегистрировать доготовленную проблему

Конструкторы

RegisterProblem ( const string &name , const string &id , ProblemLevel level = plWarning , int period = PROBLEMS_DEFAULT_AUTOSOLVE_PERIOD )

Конструктор класса

В конструктор передается основная информация о проблеме. Комбинация name+id должна быть уникальной, в противном случае проблема считается повторной и при ее регистрации увеличивается счетчик проблем.

Аргументы:
[in] - name Тип проблемы
[in] - id Идентификатор проблемы
[in] - level Уровень проблемы
[in] - period Период авторешения проблемы
Warning: Минимальный период авторешения - 5 минут. При передаче меньшего значения период принимается равным 5 минутам.

Методы

RegisterProblem &add_param ( const string &name , const string &value )

Добавление параметра к проблеме

Аргументы:
[in] - name Имя параметра
[in] - value Значение параметра
Returned: Возвращает ссылку на экземпляр данного класса

RegisterProblem &add_message ( const string &name , const string &value )

Добавление параметра, ссылающегося на сообщение, к проблеме

Аргументы:
[in] - name Имя параметра
[in] - value Имя сообщения. Сообщения должны быть объявлены в секции сообщений проблемы.
Returned: Возвращает ссылку на экземпляр данного класса

RegisterProblem &add_info ( const string &value )

Добавление дополнительного параметра, отображаемого пользователям в WEB-интерфейсе

Аргументы:
[in] - value Значение параметра
Returned: Возвращает ссылку на экземпляр данного класса

RegisterProblem &add_owner ( const string &name )

Задает владельца проблемы

Если при регистрации проблемы этот метод не был вызван, то владельцем считается администратор Проблемы, у которых указан владелец, отображаются только на уровне владельца либо администратора

Аргументы:
[in] - name Имя пользователя - владельца проблемы
Returned: Возвращает ссылку на экземпляр данного класса

RegisterProblem &set_help ( const string &value = "" )

Добавление ссылки на документацию

Аргументы:
[in] - value Название статьи. Если не указано, то в качестве имени будет использован тип проблемы
Returned: Возвращает ссылку на экземпляр данного класса

RegisterProblem &set_max_autosolve_count ( const int value )

Задать максимальное количество авторешений

Аргументы:
[in] - value максимальное количество авторешений
Returned: Возвращает ссылку на экземпляр данного класса

void Post ()

Зарегистрировать доготовленную проблему