Annotation of parser3/src/doc/ClassExample2.dox, revision 1.4

1.2       paf         1: /**    @page ClassExample2  Пример создания простого класса (только поля)
1.1       paf         2: 
1.2       paf         3: Чтобы создать свой класс, не содержащий методов[таков, например, env; см. VEnv], 
                      4: следует создать потомка Value, в котором переопределить Value::type,
                      5: а также Value::get_element и/или Value::put_element.
1.1       paf         6: 
1.2       paf         7: Файл pa_vexample2.h в каталоге types/:
1.1       paf         8: @code
                      9: #define EXAMPLE2_CLASS_NAME "example2"
                     10: 
                     11: /// env class
                     12: class VExample2 : public Value {
                     13: public: // Value
                     14:        
                     15:        const char *type() const { return "example2"; }
                     16: 
1.3       paf        17:        /// VEnv: field
1.1       paf        18:        Value *get_element(const String& aname) {
1.2       paf        19:                // показания датчика
                     20:                double temperature=25;
1.1       paf        21:                return NEW VDouble(temperature);
                     22:        }
                     23: 
                     24: public: // usage
                     25: 
                     26:        VExample2(Pool& apool) : Value(apool) {
                     27:        }
                     28: 
                     29: };
                     30: @endcode
                     31: 
1.2       paf        32: Зарегистрируйте ваш класс в Request::classes(), добавив в конструктор Request [файл pa_request.C]:
1.1       paf        33: 
1.2       paf        34: @code
                     35:        /// methodless
                     36:        // example2 class
                     37:        classes().put(*NEW String(pool(), EXAMPLE2_CLASS_NAME), &example2);
                     38: @endcode
1.1       paf        39: 
1.4     ! paf        40: Пользователь сможет считать температуру так:
        !            41: @verbatim
        !            42: $example2:test
        !            43: @endverbatim
        !            44: 
1.1       paf        45: */

E-mail: