Diff for /parser3/src/include/pa_request.h between versions 1.160.2.37.2.9 and 1.160.2.37.2.15

version 1.160.2.37.2.9, 2003/03/24 11:22:48 version 1.160.2.37.2.15, 2003/04/02 09:32:11
Line 10 Line 10
   
 static const char* IDENT_REQUEST_H="$Date$";  static const char* IDENT_REQUEST_H="$Date$";
   
 #include "pa_request_info.h"  
 #include "pa_hash.h"  #include "pa_hash.h"
 #include "pa_wcontext.h"  #include "pa_wcontext.h"
 #include "pa_value.h"  #include "pa_value.h"
Line 33  class Temp_lang; Line 32  class Temp_lang;
 class Methoded;  class Methoded;
 class VMethodFrame;  class VMethodFrame;
 class GdomeDOMString_auto_ptr;  class GdomeDOMString_auto_ptr;
 class VMail; DECLARE_OBJECT_PTR(VMail);  class VMail;
 class VForm; DECLARE_OBJECT_PTR(VForm);  class VForm;
 class VResponse; DECLARE_OBJECT_PTR(VResponse);  class VResponse;
 class VCookie; DECLARE_OBJECT_PTR(VCookie);  class VCookie;
 class VStateless_class; DECLARE_OBJECT_PTR(VStateless_class);  class VStateless_class;
   
 /// Main workhorse.  /// Main workhorse.
 class Request: public PA_Object {  class Request: public PA_Object {
Line 52  class Request: public PA_Object { Line 51  class Request: public PA_Object {
         HashStringValue fclasses;          HashStringValue fclasses;
   
         /// already used files to avoid cyclic uses          /// already used files to avoid cyclic uses
         Hash<const StringBody&, bool> used_files;          Hash<const StringBody, bool> used_files;
   
         /**     endless execute(execute(... preventing counter           /**     endless execute(execute(... preventing counter 
                 @see ANTI_ENDLESS_EXECUTE_RECOURSION                  @see ANTI_ENDLESS_EXECUTE_RECOURSION
Line 61  class Request: public PA_Object { Line 60  class Request: public PA_Object {
   
         ///@}          ///@}
   
 public:  
   
         union StackItem {          union StackItem {
                 const String* string() const { return value->get_string(); }          private:
                 Value* value;                  Value* fvalue;
                 ArrayOperation* ops;                  ArrayOperation* fops;
                 VMethodFrame* method_frame;                  VMethodFrame* fmethod_frame;
           public:
                   Value& value() const { return *fvalue; }
                   const String& string() const { 
                           const String* result=fvalue->get_string();
                           assert(result);
                           return *result; 
                   }
                   ArrayOperation& ops() const { return *fops; }
                   VMethodFrame& method_frame() const { return *fmethod_frame; }
   
                 /// needed to fill unused Array entries                  /// needed to fill unused Array entries
                 StackItem() {}                  StackItem() {}
                 StackItem(Value* avalue): value(avalue) {}                                StackItem(Value& avalue): fvalue(&avalue) {}            
                 StackItem(ArrayOperation* aops): ops(aops) {}                  StackItem(ArrayOperation& aops): fops(&aops) {}
                 StackItem(VMethodFrame* amethod_frame): method_frame(amethod_frame) {}                  StackItem(VMethodFrame& amethod_frame): fmethod_frame(&amethod_frame) {}
         };          };
   
           /// execution stack
           Stack<StackItem> stack;
   
   public:
   
         //@{ request processing status          //@{ request processing status
         /// exception stack trace          /// exception stack trace
         //Stack<String*> exception_trace;          //Stack<String*> exception_trace;
         /// execution stack  
         Stack<StackItem> stack;  
         /// contexts          /// contexts
         VMethodFrame* method_frame;          VMethodFrame* method_frame;
         Value* rcontext;          Value* rcontext;
Line 94  public: Line 103  public:
         bool finterrupted;          bool finterrupted;
   
 public:  public:
           
           /// @see Stack::wipe_unused
           void wipe_unused_execution_stack() {
                   stack.wipe_unused();
           }
   
 #ifdef RESOURCES_DEBUG  #ifdef RESOURCES_DEBUG
         /// measures          /// measures
Line 266  public: // charset helpers Line 280  public: // charset helpers
         /// @see Charset::transcode          /// @see Charset::transcode
         GdomeDOMString_auto_ptr transcode(const String& s);          GdomeDOMString_auto_ptr transcode(const String& s);
         /// @see Charset::transcode          /// @see Charset::transcode
         const String& transcode(GdomeDOMString* s          GdomeDOMString_auto_ptr transcode(const StringBody s);
 #ifndef NO_STRING_ORIGIN  
                 , const String& origin  
 #endif  
                 );  
         /// @see Charset::transcode          /// @see Charset::transcode
         const String& transcode(xmlChar* s          const String& transcode(GdomeDOMString* s);
 #ifndef NO_STRING_ORIGIN          /// @see Charset::transcode
                 , const String& origin          const String& transcode(xmlChar* s);
 #endif  
                 );  
   
 #endif  #endif
   
Line 311  private: // execute.C Line 319  private: // execute.C
         /// for @main[]          /// for @main[]
         const String* execute_virtual_method(Value& aself, const String& method_name);          const String* execute_virtual_method(Value& aself, const String& method_name);
   
         Value* get_element(bool can_call_operator);          Value& get_element(bool can_call_operator);
   
 private: // defaults  private: // defaults
   

Removed from v.1.160.2.37.2.9  
changed lines
  Added in v.1.160.2.37.2.15


E-mail: