--- parser3/src/classes/op.C 2004/03/23 09:43:44 1.147 +++ parser3/src/classes/op.C 2005/02/17 14:56:54 1.151 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_OP_C="$Date: 2004/03/23 09:43:44 $"; +static const char * const IDENT_OP_C="$Date: 2005/02/17 14:56:54 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -70,7 +70,6 @@ public: ULN("http-header", HTTP_HEADER); ULN("mail-header", MAIL_HEADER); ULN("uri", URI); - ULN("table", TABLE); ULN("sql", SQL); ULN("js", JS); ULN("xml", XML); @@ -633,7 +632,10 @@ static void _cache(Request& r, MethodPar scope->expires=expires; return; - } + } else if(params.count()<3) + throw Exception("parser.runtime", + 0, + "invalid number of parameters"); // file_spec, expires, body code const String& file_spec=r.absolute(params.as_string(0, "filespec must be string")); @@ -755,6 +757,11 @@ static void _throw_operator(Request&, Me } } +static void _sleep_operator(Request& r, MethodParams& params) { + double seconds=params.as_double(0, "seconds must be double", r); + pa_sleep((int)trunc(seconds), (int)trunc(seconds*1000)); + } + #if defined(WIN32) && defined(_DEBUG) # define PA_BPT static void _bpt(Request&, MethodParams&) { @@ -825,6 +832,7 @@ VClassMAIN::VClassMAIN(): VClass() { // ^throw[type;source;comment] add_native_method("throw", Method::CT_ANY, _throw_operator, 1, 3); + add_native_method("sleep", Method::CT_ANY, _sleep_operator, 1, 1); } // constructor & configurator