--- parser3/src/classes/op.C 2001/10/09 09:17:43 1.50 +++ parser3/src/classes/op.C 2001/10/10 12:52:13 1.52 @@ -4,7 +4,7 @@ Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) Author: Alexander Petrosyan (http://design.ru/paf) - $Id: op.C,v 1.50 2001/10/09 09:17:43 parser Exp $ + $Id: op.C,v 1.52 2001/10/10 12:52:13 parser Exp $ */ #include "classes.h" @@ -216,6 +216,15 @@ static void _eval(Request& r, const Stri r.write_no_lang(*result); } +static void _error(Request& r, const String& method_name, MethodParams *params) { + Pool& pool=r.pool(); + + const String& serror=params->as_string(0, "message must be string"); + PTHROW(0, 0, + &method_name, + "%s", serror.cstr()); +} + static void _connect(Request& r, const String& method_name, MethodParams *params) { Pool& pool=r.pool(); @@ -340,7 +349,7 @@ MOP::MOP(Pool& apool) : Methoded(apool), add_native_method("process", Method::CT_ANY, _process, 1, 1); // ^rem{code} - add_native_method("rem", Method::CT_ANY, _rem, 1, 1000); + add_native_method("rem", Method::CT_ANY, _rem, 1, 10000); // ^while(condition){code} add_native_method("while", Method::CT_ANY, _while, 2, 2); @@ -355,6 +364,9 @@ MOP::MOP(Pool& apool) : Methoded(apool), // ^eval(expr)[format] add_native_method("eval", Method::CT_ANY, _eval, 1, 2); + // ^error[msg] + add_native_method("error", Method::CT_ANY, _error, 1, 1); + // ^connect[protocol://user:pass@host[:port]/database]{code with ^sql-s} add_native_method("connect", Method::CT_ANY, _connect, 2, 2); @@ -365,7 +377,7 @@ MOP::MOP(Pool& apool) : Methoded(apool), add_native_method("switch", Method::CT_ANY, _switch, 2, 2); // ^case[value]{code} - add_native_method("case", Method::CT_ANY, _case, 2, 1000); + add_native_method("case", Method::CT_ANY, _case, 2, 10000); } // constructor & configurator