[UP]
Module types
 Wd_application_dtd
 Wd_cycle
 Wd_dialog
 Wd_dictionary
 Wd_encoding
 Wd_interactor
 Wd_run_cgi
 Wd_run_jserv
 Wd_run_fcgi
 Wd_stdlib
 Wd_template
 Wd_templrep
 Wd_transform
 Wd_types
 Wd_types.application_type
 Wd_types.dialog_decl_type
 Wd_types.dialog_type
 Wd_types.session_manager_type
 Wd_types.session_type
 Wd_types.syntax_tree_type
 Wd_types.template_type
 Wd_types.universe_type
 Wd_serialize_types
 Wd_universe
 Wd_upload
 Wd_var_functions
   
WDialog API for Objective Caml: Wd_types

sig
  type 'a dict = 'Wd_dictionary.t
  type event =
      Button of string
    | Image_button of (string * int * int)
    | Indexed_button of (string * string)
    | Indexed_image_button of (string * string * int * int)
    | No_event
    | Popup_request of string
  type interactors = {
    mutable ui_buttons : string option Wd_interactor.t;
    mutable ui_imagebuttons : string option Wd_interactor.t;
    mutable ui_anchors : string option Wd_interactor.t;
    mutable ui_indexed_buttons : string option Wd_interactor.t;
    mutable ui_indexed_imagebuttons : string option Wd_interactor.t;
    mutable ui_indexed_anchors : string option Wd_interactor.t;
    mutable ui_vars : unit Wd_interactor.t;
    mutable ui_enumvars : (string * string option * string) list;
    mutable ui_uploads : unit Wd_interactor.t;
  }
  type 'a poly_var_value =
      String_value of string
    | Enum_value of string list
    | Dialog_value of 'a option
    | Dyn_enum_value of (string * string) list
    | Alist_value of (string * 'Wd_types.poly_var_value) list
  type enum_decl = {
    enum_name : string;
    mutable enum_definition : (string * string) list;
  }
  type var_type_name =
      String_type
    | Enum_type of Wd_types.enum_decl
    | Dialog_type
    | Dyn_enum_type
  type 'a poly_var_decl = {
    var_name : string;
    var_type : Wd_types.var_type_name;
    var_default : 'Wd_types.poly_var_value option;
    var_temporary : bool;
    var_associative : bool;
    var_protected : bool;
  }
  type response_header = {
    mutable rh_status : Netcgi_types.status;
    mutable rh_content_type : string;
    mutable rh_cache : Netcgi_types.cache_control;
    mutable rh_filename : string option;
    mutable rh_language : string option;
    mutable rh_script_type : string option;
    mutable rh_style_type : string option;
    mutable rh_set_cookie : Netcgi_types.cgi_cookie list;
    mutable rh_fields : (string * string list) list;
  }
  type debug_mode_style = [ `Fully_encoded | `Partially_encoded ]
  type environment = {
    debug_mode : bool;
    debug_mode_style : Wd_types.debug_mode_style;
    prototype_mode : bool;
    server_popup_mode : bool;
    self_url : string;
    response_header : Wd_types.response_header;
    cgi : Netcgi_types.cgi_activation;
  }
  type trans_vars = {
    mutable within_popup : bool;
    mutable current_page : string;
    mutable popup_env_initialized : bool;
    mutable condition_code : bool;
    mutable serialize_session : unit -> string;
  }
  type ('a, 'b, 'c) poly_ds_buf =
    ('a, 'b, 'c) Wd_serialize_types.poly_ds_buf = {
    ds_str : string;
    mutable ds_pos : int;
    ds_end : int;
    ds_universe : 'a;
    ds_environment : 'c;
    ds_dialogs : (int, 'b) Hashtbl.t;
  }
  class type dialog_decl_type =
    object
      method add_enumeration : Wd_types.enum_decl -> unit
      method add_page : string -> Wd_types.syntax_tree_type -> unit
      method add_variable :
        Wd_types.dialog_type Wd_types.poly_var_decl -> unit
      method default_context : Wd_types.syntax_tree_type Wd_types.dict
      method enumeration : string -> Wd_types.enum_decl
      method language_variable : string option
      method name : string
      method page : string -> Wd_types.syntax_tree_type
      method page_is_declared_as_popup : string -> bool
      method page_names : string list
      method set_default_context :
        Wd_types.syntax_tree_type Wd_types.dict -> unit
      method set_language_variable : string -> unit
      method set_name : string -> unit
      method set_start_page : string -> unit
      method start_page : string
      method variable : string -> Wd_types.dialog_type Wd_types.poly_var_decl
      method variable_names : string list
    end
  and virtual dialog_type =
    object
      method alist_variable :
        string ->
        (string * Wd_types.dialog_type Wd_types.poly_var_value) list
      method application : Wd_types.application_type
      method copy : Wd_types.dialog_type
      method declaration : Wd_types.dialog_decl_type
      method dialog_variable : string -> Wd_types.dialog_type option
      method dump : Format.formatter -> unit
      method dyn_enum_variable : string -> (string * string) list
      method enter_session_scope : Wd_types.session_type -> unit
      method enum_variable : string -> string list
      method environment : Wd_types.environment
      method event : Wd_types.event
      method virtual handle : unit -> unit
      method init : string -> unit
      method interactors : Wd_types.interactors
      method is_server_popup_request : bool
      method leave_session_scope : unit -> unit
      method lookup_dialog_variable :
        string -> string -> Wd_types.dialog_type option
      method lookup_dyn_enum_variable :
        string -> string -> (string * string) list
      method lookup_enum_variable : string -> string -> string list
      method lookup_string_variable : string -> string -> string
      method lookup_uploaded_file :
        string -> Netcgi_types.cgi_argument option
      method name : string
      method next_page : string
      method page_name : string
      method page_names : string list
      method virtual prepare_page : unit -> unit
      method serialize :
        (Wd_types.dialog_type, unit) Hashtbl.t -> Buffer.t -> unit
      method session : Wd_types.session_type
      method set_event : Wd_types.event -> unit
      method set_next_page : string -> unit
      method set_server_popup_request : unit -> unit
      method set_variable :
        string -> Wd_types.dialog_type Wd_types.poly_var_value -> unit
      method string_variable : string -> string
      method universe : Wd_types.universe_type
      method unserialize :
        (Wd_types.universe_type, Wd_types.dialog_type, Wd_types.environment)
        Wd_types.poly_ds_buf -> unit
      method unset_variable : string -> unit
      method variable :
        string -> Wd_types.dialog_type Wd_types.poly_var_value
      method variable_decl :
        string -> Wd_types.dialog_type Wd_types.poly_var_decl
    end
  and application_type =
    object
      method add_dialog_declaration : Wd_types.dialog_decl_type -> unit
      method add_lazy_var_function :
        string ->
        (Wd_types.dialog_type ->
         Wd_types.dialog_type Wd_types.poly_var_value Lazy.t list ->
         Wd_types.dialog_type Wd_types.poly_var_value) ->
        unit
      method add_output_encoding : string -> (string -> string) -> unit
      method add_template :
        ?lib:bool -> string -> Wd_types.template_type -> unit
      method add_var_function :
        string ->
        (Wd_types.dialog_type ->
         Wd_types.dialog_type Wd_types.poly_var_value list ->
         Wd_types.dialog_type Wd_types.poly_var_value) ->
        unit
      method charset : Pxp_types.rep_encoding
      method debug_mode : bool
      method debug_mode_style : Wd_types.debug_mode_style
      method dialog_declaration : string -> Wd_types.dialog_decl_type
      method dialog_names : string list
      method dtd : Pxp_dtd.dtd
      method lazy_var_function :
        string ->
        Wd_types.dialog_type ->
        Wd_types.dialog_type Wd_types.poly_var_value Lazy.t list ->
        Wd_types.dialog_type Wd_types.poly_var_value
      method onstartup_call_handle : bool
      method output_encoding : string -> string -> string
      method prototype_mode : bool
      method set_debug_mode : bool -> Wd_types.debug_mode_style -> unit
      method set_onstartup_call_handle : bool -> unit
      method set_prototype_mode : bool -> unit
      method set_start_dialog_name : string -> unit
      method start_dialog_name : string
      method study : unit -> unit
      method template : string -> Wd_types.template_type
      method template_names : string list
      method var_function :
        string ->
        Wd_types.dialog_type ->
        Wd_types.dialog_type Wd_types.poly_var_value list ->
        Wd_types.dialog_type Wd_types.poly_var_value
    end
  and template_type =
    object
      method instantiate :
        ?context:Wd_types.syntax_tree_type Wd_types.dict ->
        ?vars:Wd_types.trans_vars ->
        ?params:Wd_types.syntax_tree_type Wd_types.dict ->
        Wd_types.dialog_type -> Wd_types.syntax_tree_type
      method study : Wd_types.application_type -> unit
    end
  and syntax_tree_type =
    object ('a)
      method clone : 'a
      method escaped_data : string
      method instantiate :
        ?context:Wd_types.syntax_tree_type Wd_types.dict ->
        ?vars:Wd_types.trans_vars ->
        ?params:Wd_types.syntax_tree_type Wd_types.dict ->
        Wd_types.dialog_type -> Wd_types.syntax_tree_type
      method node : syntax_tree_type Pxp_document.node
      method scan_application : Wd_types.application_type -> unit
      method scan_dialog :
        Wd_types.application_type -> Wd_types.dialog_decl_type -> unit
      method scan_enumeration : Wd_types.enum_decl -> unit
      method scan_literal :
        unit -> Wd_types.dialog_type Wd_types.poly_var_value
      method set_node : syntax_tree_type Pxp_document.node -> unit
      method study : Wd_types.application_type -> unit
      method to_html :
        ?context:Wd_types.syntax_tree_type Wd_types.dict ->
        ?vars:Wd_types.trans_vars ->
        Wd_types.dialog_type -> Netchannels.out_obj_channel -> unit
      method to_text :
        ?context:Wd_types.syntax_tree_type Wd_types.dict ->
        ?vars:Wd_types.trans_vars ->
        Wd_types.dialog_type -> Netchannels.out_obj_channel -> unit
    end
  and universe_type =
    object
      method application : Wd_types.application_type
      method create : Wd_types.environment -> string -> Wd_types.dialog_type
      method register :
        string ->
        (Wd_types.universe_type ->
         string -> Wd_types.environment -> Wd_types.dialog_type) ->
        unit
    end
  and session_manager_type =
    object
      method create : Wd_types.dialog_type -> Wd_types.session_type
      method unserialize :
        Wd_types.universe_type ->
        Wd_types.environment -> string -> Wd_types.session_type
    end
  and session_type =
    object
      method change_dialog : Wd_types.dialog_type -> unit
      method commit_changes : unit -> unit
      method dialog : Wd_types.dialog_type
      method dialog_name : string
      method serialize : string
      method session_id : string
    end
  type var_value = Wd_types.dialog_type Wd_types.poly_var_value
  type var_decl = Wd_types.dialog_type Wd_types.poly_var_decl
  type ds_buf =
    (Wd_types.universe_type, Wd_types.dialog_type, Wd_types.environment)
    Wd_types.poly_ds_buf
  exception Change_dialog of Wd_types.dialog_type
  exception Change_page of string
  exception Formal_user_error of string
  exception Runtime_error of string
  exception No_such_variable of string
  exception Instantiation_error of string
  val revision_types : string
end