Class isp api::ProblemForm

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

Класс isp_api::ProblemForm

Базовый класс для описания проблем, имеющих возможность решения c с вызовом формы

#include <problems.h> 

Описание:

class isp_api::ProblemForm

Проблема считается решаемой, если имеется action с именем, соответствующим имени типа проблемы. Данный класс предоставляет более удобный механизм решения проблем путем объявления нового методов SolveGet() и Solve(), в которые передается идентификатор проблемы и ее параметры.

Родители:


Классы

class isp_api::ProblemForm::FormAutoProblem

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

ProblemForm ( const string &name , AccessMask accessMask , const Action * parent = nullptr , bool auto_solve = false )

Параметр name (имя action'а) соответствует наименованию типа проблемы, auto_solve - имеется ли автоматическое решение проблемы;.


virtual void SolveGet ( Session &ses , const string &id , ProblemParams &params )

Вызывается перед показом формы


virtual bool Solve ( Session &ses , const string &id , ProblemParams &params )

Метод решения проблемы.


virtual bool SolveAuto ( Session &ses , const string &id , ProblemParams &params )

Метод автоматического решения проблемы решения проблемы. Вызывается если имеется автоматическое решение

Приватные члены (кратко)

virtual void ModuleExecute ( Session &ses )

Вызывается при выполнении модуля

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

ProblemForm ( const string &name , AccessMask accessMask , const Action * parent = nullptr , bool auto_solve = false )

Параметр name (имя action'а) соответствует наименованию типа проблемы, auto_solve - имеется ли автоматическое решение проблемы;.

Методы

virtual void SolveGet ( Session &ses , const string &id , ProblemParams &params )

Данная функция/метод является inline функцией

Вызывается перед показом формы

Аргументы:
[in] - ses Текущая сессия
[in] - id Идентификатор проблемы
[in] - params Параметры проблемы

virtual bool Solve ( Session &ses , const string &id , ProblemParams &params )

Данная функция/метод является inline функцией

Метод решения проблемы.

Аргументы:
[in] - ses Текущая сессия
[in] - id Идентификатор проблемы
[in] - params Параметры проблемы
Returned: В случае успешного решения проблемы должен возвращать true, иначе - false

virtual bool SolveAuto ( Session &ses , const string &id , ProblemParams &params )

Данная функция/метод является inline функцией

Метод автоматического решения проблемы решения проблемы. Вызывается если имеется автоматическое решение

Аргументы:
[in] - ses Текущая сессия
[in] - id Идентификатор проблемы
[in] - params Параметры проблемы
Returned: В случае успешного решения проблемы должен возвращать true, иначе - false

virtual void ModuleExecute ( Session &ses )

Данный метод является приватным

Вызывается при выполнении модуля

Вызывается при выполнении модуля; должен быть реализован в классе-потомке

Аргументы:
[inout] - ses Текущая сессия
See also: isp_api::Session