Imported Upstream version 2.0.1
[pkg-ocaml-eliom.git] / src / oldocsigenmod / ocsigenmod.mli
bloba608ae516476e6cfeb8f78306d808dd88ed80043
1 (* Ocsigen
2 * http://www.ocsigen.org
3 * Module ocsigenmod.mli
4 * Copyright (C) 2005 Vincent Balat
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, with linking exception;
9 * either version 2.1 of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 open Ocsigen_extensions
23 exception Ocsigen_Wrong_parameter
24 exception Ocsigen_duplicate_registering of string
25 exception Ocsigen_register_for_session_outside_session
26 exception Ocsigen_page_erasing of string
27 exception Ocsigen_service_or_action_created_outside_site_loading
28 exception Ocsigen_there_are_unregistered_services of string
29 exception Ocsigen_error_while_loading_site of string
30 exception Ocsigen_Typing_Error of (string * exn) list
32 type internal_state = int
34 type tables
35 type cookiestable
36 type pages_tree =
37 tables (* global tables of continuations/actions *)
38 * cookiestable (* session tables *)
40 type 'a server_params1 =
41 request_info * url_path * 'a ref
42 type 'a server_params2 = url_path * 'a server_params1
43 type server_params = tables server_params1
45 type page_table_key =
46 {prefix:bool;
47 state: internal_state option}
49 val gen :
50 pages_tree ->
51 string option ->
52 request_info -> answer Lwt.t
54 val empty_tables : unit -> tables
56 val add_service :
57 tables ->
58 url_path ->
59 bool ->
60 string list ->
61 Http_headers.t ->
62 page_table_key *
63 (int * (tables server_params2 ->
64 Ocsigen_senders.send_page_type Lwt.t)) ->
65 unit
67 val add_action :
68 tables -> url_path
69 -> string -> (tables server_params1 -> unit Lwt.t) -> unit
71 val state_param_name : string
72 val ocsigen_suffix_name : string
73 val action_prefix : string
74 val action_name : string
75 val action_reload : string
77 val config : Simplexmlparser.xml list ref
79 (** Profiling *)
80 (* val number_of_sessions : unit -> int *)
83 (** internal functions: *)
84 val get_current_hostdir : unit -> pages_tree * url_path
85 val end_current_hostdir : unit -> unit
86 val verify_all_registered : unit -> unit
87 val add_unregistered : string list * int -> unit
88 val remove_unregistered : string list * int -> unit
89 val global_register_allowed : unit -> bool