summaryrefslogtreecommitdiff
path: root/src/settings.sig
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-06-28 13:49:32 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-06-28 13:49:32 -0400
commit5c154f05f5e4735d999927925a771b3a21f5a22d (patch)
treea31efa1a10c57b3b2db7f7ba7008b4871a70e2a6 /src/settings.sig
parent5952e97040dd9331865368bb726b8059dbedbc5a (diff)
Start of multi-DBMS support
Diffstat (limited to 'src/settings.sig')
-rw-r--r--src/settings.sig25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/settings.sig b/src/settings.sig
index 8259e519..215839a1 100644
--- a/src/settings.sig
+++ b/src/settings.sig
@@ -27,6 +27,11 @@
signature SETTINGS = sig
+ val setDebug : bool -> unit
+ val getDebug : unit -> bool
+
+ val clibFile : string -> string
+
(* How do all application URLs begin? *)
val setUrlPrefix : string -> unit
val getUrlPrefix : unit -> string
@@ -92,13 +97,25 @@ signature SETTINGS = sig
persistent : bool (* Multiple requests per process? *)
}
val addProtocol : protocol -> unit
- val getProtocol : string -> protocol option
val setProtocol : string -> unit
val currentProtocol : unit -> protocol
- val setDebug : bool -> unit
- val getDebug : unit -> bool
+ (* Different DBMSes *)
+ type dbms = {
+ name : string,
+ (* Call it this on the command line *)
+ header : string,
+ (* Include this C header file *)
+ link : string,
+ (* Pass these linker arguments *)
+ global_init : Print.PD.pp_desc,
+ (* Define uw_client_init() *)
+ init : string * (string * int) list -> Print.PD.pp_desc
+ (* Define uw_db_init() from dbstring and prepared statements *)
+ }
- val clibFile : string -> string
+ val addDbms : dbms -> unit
+ val setDbms : string -> unit
+ val currentDbms : unit -> dbms
end