Diff for /parser3/src/doc/ClassExample2.dox between versions 1.2 and 1.5

version 1.2, 2001/05/07 13:29:54 version 1.5, 2004/03/30 08:32:17
Line 1 Line 1
 /**     @page ClassExample2  Пример создания простого класса (только поля)  /**     @page ClassExample2  Sample of creating simple class (with fields only)
   
 Чтобы создать свой класс, не содержащий методов[таков, например, env; см. VEnv],   To create the class of your own, which does not contain methods [like 'env', see VEnv],
 следует создать потомка Value, в котором переопределить Value::type,  one need to create a derivate from Value, where override Value::type,
 а также Value::get_element и/или Value::put_element.  and also Value::get_element and/or Value::put_element.
   
 Файл pa_vexample2.h в каталоге types/:  File pa_vexample2.h in types/ directory:
 @code  @code
 #define EXAMPLE2_CLASS_NAME "example2"  #define EXAMPLE2_CLASS_NAME "example2"
   
Line 12 Line 12
 class VExample2 : public Value {  class VExample2 : public Value {
 public: // Value  public: // Value
                   
         // all: for error reporting after fail(), etc  
         const char *type() const { return "example2"; }          const char *type() const { return "example2"; }
   
         // VEnv: field          /// VEnv: field
         Value *get_element(const String& aname) {          Value *get_element(const String& aname) {
                 // показания датчика                  // device information
                 double temperature=25;                  double temperature=25;
                 return NEW VDouble(temperature);                  return NEW VDouble(temperature);
         }          }
Line 30  public: // usage Line 29  public: // usage
 };  };
 @endcode  @endcode
   
 Зарегистрируйте ваш класс в Request::classes(), добавив в конструктор Request [файл pa_request.C]:  Register your class in Request::classes(), by adding it to Request constructor [in pa_request.C file]:
   
 @code  @code
         /// methodless          /// methodless
Line 38  public: // usage Line 37  public: // usage
         classes().put(*NEW String(pool(), EXAMPLE2_CLASS_NAME), &example2);          classes().put(*NEW String(pool(), EXAMPLE2_CLASS_NAME), &example2);
 @endcode  @endcode
   
   User could then read temperature like:
   @verbatim
   $example2:test
   @endverbatim
   
 */  */

Removed from v.1.2  
changed lines
  Added in v.1.5


E-mail: