-
Notifications
You must be signed in to change notification settings - Fork 125
/
qmlFlatServerLib.mli
84 lines (62 loc) · 2 KB
/
qmlFlatServerLib.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
(*
Copyright © 2011 MLstate
This file is part of OPA.
OPA is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License, version 3, as published by
the Free Software Foundation.
OPA is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
more details.
You should have received a copy of the GNU Affero General Public License
along with OPA. If not, see <http://www.gnu.org/licenses/>.
*)
(**
Reduced QmlFlat Server-side library.
@author Mathieu Barbin
*)
(**
Exporting only what is inserted by the back-end.
Compatible with ServerLib types.
This module redefines all needed functions from Flat_Runtime for beeing compatible with the module ServerLib.
*)
type flat_record = Obj.t array
module Field :
sig
type t = ServerLib.field
val register : string -> ServerLib.field
end
module FieldAccess :
sig
type cache
val make_cache : unit -> cache
end
module VTable :
sig
type t
val register : string array -> t
end
type record = ServerLib.ty_record
module Simple :
sig
val register : string -> record
end
val runtime_error : string -> 'a
external unwrap_record : record -> _ array = "%identity"
external get_vtable : ServerLib.ty_record -> VTable.t = "%field0"
val empty : record
val true_ : record
val false_ : record
val wrap_bool : bool -> record
val unwrap_bool : record -> bool
val none : record
val some : 'a -> record
val unwrap_option : record -> 'a option
val dot : Field.t -> record -> 'a
val dot_opt : Field.t -> record -> 'a option
val unsafe_get : int -> record -> 'a
val dot_with_cache : FieldAccess.cache -> Field.t -> record -> 'a
val extend_with_array : record -> (Field.t * Obj.t) array -> record
external unsafe_init_static : flat_record -> record = "%identity"
val may_be_simple : flat_record -> record
val do_exit : int -> 'a