/** @page ClassExample1 Пример создания простого класса (только методы) Чтобы создать свой класс, состоящий только из методов[таков, например, класс random], нужно положить в каталог classes/ модуль на C++ с расширением .С, в котором... 1. Определить потомка Methoded, определяющего Methoded::used_directly в true. 2. Оформить методы объекта так[ Native_code_ptr ]: @code static void _test(Request& r, const String& method_name, MethodParams *params) { Pool& pool=r.pool(); ... // ошибки генерировать так: if(error_code) throw Exception("класс ошибки", &method_name, // адрес String, содержащей текст/место ошибки "проблема %d", error_code); // выдавать текст так: if(text_result) r.write_assign_lang(*new(pool) String(pool, "тест")); // выдавать объекты так: if(object_result) r.write_no_lang(*new(pool) VInt(pool, 48)); } @endcode 3. В конструкторе задать имя класса и зарегистрировать методы: @code MExample1::MExample1(Pool& apool) : Methoded(apool, "example1") { set_name(*NEW String(pool(), "example1")); // ^example1:test[] add_native_method("test", Method::CT_STATIC, _test, 0, 0); } @endcode @see Value::set_name, VStateless_class::add_native_method 4. И, наконец, определить производящую функцию, с именем M{имя_файла_с_заглавной_буквы}_create: @code Methoded *MExample1_create(Pool& pool) { return new(pool) MExample1(pool); } @endcode 5. Если для работы классу необходимы какие-то настройки, то их можно принять из системного parser3.conf, или из пользовательского MAIN класса, переопределив Methoded::configure_admin и/или Methoded::configure_user. Пользователь сможет вызвать метод так: @verbatim ^example1:test[] @endverbatim */