Annotation of parser3/src/classes/unknown.C, revision 1.1
1.1 ! paf 1: /** @file
! 2: Parser: @b unknown parser class.
! 3:
! 4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
! 5:
! 6: Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
! 7:
! 8: $Id: unknown.C,v 1.18 2001/04/03 08:23:06 paf Exp $
! 9: */
! 10:
! 11: #include "pa_request.h"
! 12: #include "_unknown.h"
! 13: #include "pa_vint.h"
! 14: #include "pa_vdouble.h"
! 15: #include "pa_vunknown.h"
! 16:
! 17: // global var
! 18:
! 19: VStateless_class *unknown_class;
! 20:
! 21: // methods
! 22:
! 23: static void _int(Request& r, const String&, Array *) {
! 24: Pool& pool=r.pool();
! 25: VInt *vunknown=static_cast<VInt *>(r.self);
! 26: Value& value=*new(pool) VInt(pool, (int)vunknown->as_double());
! 27: r.write_no_lang(value);
! 28: }
! 29:
! 30: static void _double(Request& r, const String&, Array *) {
! 31: Pool& pool=r.pool();
! 32: VInt *vunknown=static_cast<VInt *>(r.self);
! 33: Value& value=*new(pool) VDouble(pool, vunknown->as_double());
! 34: r.write_no_lang(value);
! 35: }
! 36:
! 37:
! 38: // initialize
! 39:
! 40: void initialize_unknown_class(Pool& pool, VStateless_class& vclass) {
! 41: // ^unknown.int[]
! 42: vclass.add_native_method("int", Method::CT_DYNAMIC, _int, 0, 0);
! 43:
! 44: // ^unknown.double[]
! 45: vclass.add_native_method("double", Method::CT_DYNAMIC, _double, 0, 0);
! 46: }
E-mail: