summaryrefslogtreecommitdiff
path: root/src/settings.sig
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-05-02 11:27:26 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-05-02 11:27:26 -0400
commit4b3399b59d17ed32c8c2800267b8c59fd0378f21 (patch)
tree9918a955a048024a07e68cd466c19c0dbf56f867 /src/settings.sig
parent2307ccdcc5eb4ddfe719ddcbea999f7705ec79c3 (diff)
Successfully influenced effectful-ness status of FFI func
Diffstat (limited to 'src/settings.sig')
-rw-r--r--src/settings.sig25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/settings.sig b/src/settings.sig
index ba4e1b9a..4e764a78 100644
--- a/src/settings.sig
+++ b/src/settings.sig
@@ -27,13 +27,38 @@
signature SETTINGS = sig
+ (* How do all application URLs begin? *)
val setUrlPrefix : string -> unit
val getUrlPrefix : unit -> string
+ (* How many seconds should the server wait before assuming a Comet client has left? *)
val setTimeout : int -> unit
val getTimeout : unit -> int
+ (* Which C header files are needed? *)
val setHeaders : string list -> unit
val getHeaders : unit -> string list
+ type ffi = string * string
+
+ (* Which FFI types may be sent from clients to servers? *)
+ val setClientToServer : ffi list -> unit
+ val mayClientToServer : ffi -> bool
+
+ (* Which FFI functions have side effects? *)
+ val setEffectful : ffi list -> unit
+ val isEffectful : ffi -> bool
+
+ (* Which FFI functions may only be run in clients? *)
+ val setClientOnly : ffi list -> unit
+ val isClientOnly : ffi -> bool
+
+ (* Which FFI functions may only be run on servers? *)
+ val setServerOnly : ffi list -> unit
+ val isServerOnly : ffi -> bool
+
+ (* Which FFI functions may be run in JavaScript? (JavaScript function names included) *)
+ val setJsFuncs : (ffi * string) list -> unit
+ val jsFunc : ffi -> string option
+
end