Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 41 lines (32 sloc) 1.329 kb
fccc685 Initial open-source release
MLstate authored
1 (*
2 Copyright © 2011 MLstate
3
4 This file is part of OPA.
5
6 OPA is free software: you can redistribute it and/or modify it under the
7 terms of the GNU Affero General Public License, version 3, as published by
8 the Free Software Foundation.
9
10 OPA is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
13 more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with OPA. If not, see <http://www.gnu.org/licenses/>.
17 *)
18 (* DB-serialisation: dump-recovery of the database *)
19
20 module C = QmlCpsServerLib
21 module D = Badop.Dialog
22 module E = Badop_engine
23
24 open C.Ops (* This file follows the duck-style cps guidelines © *)
25
26 module DbSerializer = Xml_dump.F(
27 struct
28 type 'a continuation = 'a C.continuation
29 let mkcont = C.ccont_ml
30 let return = (|>)
31 end
32 )
33
34 ##register [cps-bypass] dump_db : Badoplink.database, string, continuation(opa[void]) -> void
35 let dump_db db file k =
36 Badoplink.trans_start db @> C.ccont_ml k
37 @> fun tr ->
38 let db_read = tr.Badoplink.tr_engine.E.read tr.Badoplink.tr in
39 DbSerializer.to_file db_read file @> C.ccont_ml k
40 @> fun () -> ServerLib.void |> k
Something went wrong with that request. Please try again.