Diff for /parser3/src/include/pa_request.h between versions 1.160.2.37.2.19 and 1.160.2.37.2.23

version 1.160.2.37.2.19, 2003/04/03 06:54:27 version 1.160.2.37.2.23, 2003/04/03 15:34:01
Line 25  static const char* IDENT_REQUEST_H="$Dat Line 25  static const char* IDENT_REQUEST_H="$Dat
 // consts  // consts
   
 const uint ANTI_ENDLESS_EXECUTE_RECOURSION=1000;  const uint ANTI_ENDLESS_EXECUTE_RECOURSION=1000;
   const size_t pseudo_file_no__process=1;
   
 // forwards  // forwards
   
Line 44  class Request: public PA_Object { Line 45  class Request: public PA_Object {
         friend class Temp_connection;          friend class Temp_connection;
         friend class Request_context_saver;          friend class Request_context_saver;
         friend class Temp_request_self;          friend class Temp_request_self;
           friend class Exception_trace;
   
   public:
           class Trace {
                   const String* fname;
                   Operation::Origin forigin;
           public:
                   Trace(): fname(0) {}
                   void clear() { fname=0; }
                   operator bool() const { return fname!=0; }
   
                   Trace(const String* aname, const Operation::Origin aorigin):
                           fname(aname), forigin(aorigin) {}
   
                   const String* name() const { return fname; }
                   const Operation::Origin origin() const { return forigin; }
           };
   
   
   private:
         union StackItem {          union StackItem {
                 Value* fvalue;                  Value* fvalue;
                 ArrayOperation* fops;                  ArrayOperation* fops;
Line 66  class Request: public PA_Object { Line 86  class Request: public PA_Object {
                 StackItem(VMethodFrame& amethod_frame): fmethod_frame(&amethod_frame) {}                  StackItem(VMethodFrame& amethod_frame): fmethod_frame(&amethod_frame) {}
         };          };
   
         class Trace {          class Exception_trace: public Stack<Trace> {
                 const String* fname;                  size_t fbottom;
                 Operation::Info forigin;  
         public:          public:
                 Trace(const String* aname, Operation::Info aorigin):                  Exception_trace(): fbottom(0) {}
                         fname(aname), forigin(aorigin) {}  
                   size_t bottom_index() { return fbottom; }
                   element_type bottom_value() { return get(bottom_index()); }
   
                   void clear() {
                           ftop=fbottom=0;
                   }
   
                   bool is_empty() {
                           return ftop==fbottom;
                   }
   
                 const String* name() { return fname; }                  const element_type extract_origin(const String*& problem_source);
                 Operation::Info origin() { return forigin; }  
         };          };
   
         ///@{ core data          ///@{ core data
Line 98  class Request: public PA_Object { Line 126  class Request: public PA_Object {
         Stack<StackItem> stack;          Stack<StackItem> stack;
   
         /// exception stack trace          /// exception stack trace
         Stack<Trace> exception_trace;          Exception_trace exception_trace;
 public:  public:
   
         //@{ request processing status          //@{ request processing status
Line 115  public: Line 143  public:
         bool finterrupted;          bool finterrupted;
   
 public:  public:
                   size_t register_file(StringBody file_spec);
   
           struct Exception_details {
                   const Trace trace;
                   const String* problem_source;
                   VHash& vhash;
   
                   Exception_details(
                           const Trace atrace,
                           const String* aproblem_source,
                           VHash& avhash):
                           trace(atrace), problem_source(aproblem_source), vhash(avhash) {}
   
           };
           Exception_details get_details(const Exception& e);
   
         /// @see Stack::wipe_unused          /// @see Stack::wipe_unused
         void wipe_unused_execution_stack() {          void wipe_unused_execution_stack() {
                 stack.wipe_unused();                  stack.wipe_unused();
Line 164  public: Line 207  public:
         /// compiles the file, maybe forcing it's class @a name and @a base_class.          /// compiles the file, maybe forcing it's class @a name and @a base_class.
         void use_file(VStateless_class& aclass,          void use_file(VStateless_class& aclass,
                 const String& file_name,                   const String& file_name, 
                   const String* main_alias=0,
                 bool ignore_class_path=false,                   bool ignore_class_path=false, 
                 bool fail_on_read_problem=true, bool fail_on_file_absence=true); // pa_request.C                  bool fail_on_read_problem=true, 
                   bool fail_on_file_absence=true); // pa_request.C
         /// compiles a @a source buffer          /// compiles a @a source buffer
         void use_buf(VStateless_class& aclass,          void use_buf(VStateless_class& aclass,
                 const char* source,                   const char* source, 
                   const String* main_alias,
                 uint file_no); // pa_request.C                  uint file_no); // pa_request.C
   
         /// processes any code-junction there may be inside of @a value          /// processes any code-junction there may be inside of @a value
Line 309  private: Line 355  private:
   
 private: // compile.C  private: // compile.C
   
         VStateless_class& compile(VStateless_class* aclass, const char* source, uint file_no);          VStateless_class& compile(VStateless_class* aclass, 
                   const char* source, const String* main_alias, 
                   uint file_no);
   
 private: // execute.C  private: // execute.C
   
Line 449  extern const String content_disposition_ Line 497  extern const String content_disposition_
 extern const String content_disposition_value;  extern const String content_disposition_value;
 extern const String content_disposition_filename_name;  extern const String content_disposition_filename_name;
   
   extern const String exception_type_part_name;
   extern const String exception_source_part_name;
   extern const String exception_comment_part_name;
   extern const String exception_handled_part_name;
   
 // defines for statics  // defines for statics
   
 #define MAIN_CLASS_NAME "MAIN"  #define MAIN_CLASS_NAME "MAIN"

Removed from v.1.160.2.37.2.19  
changed lines
  Added in v.1.160.2.37.2.23


E-mail: