From f50401c6bdfb205f34de3d04949fbaf3cd6876f8 Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Mon, 28 Sep 2015 20:51:58 +0600 Subject: Add types and derivers for the message decoder. --- _oasis | 6 ++++++ src/message.ml | 11 +++++++++++ src/message.mli | 17 +++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 src/message.ml create mode 100644 src/message.mli diff --git a/_oasis b/_oasis index 2dcccd8..0c2b305 100644 --- a/_oasis +++ b/_oasis @@ -55,6 +55,12 @@ Library "vyconf_config" FindlibParent: vyconf BuildDepends: ppx_deriving_yojson +Library "message" + Path: src + Modules: Message + FindlibParent: vyconf + BuildDepends: ppx_deriving_yojson + Executable "vyconfd" Path: src MainIs: vyconfd.ml diff --git a/src/message.ml b/src/message.ml new file mode 100644 index 0000000..8f37c08 --- /dev/null +++ b/src/message.ml @@ -0,0 +1,11 @@ +type operation = { + method_name: string; + path: string list option; + value: string option; + options: (string * string) list option +} [@@deriving yojson] + +type message = { + session_id: string; + ops: operation list; +} [@@deriving yojson] diff --git a/src/message.mli b/src/message.mli new file mode 100644 index 0000000..6de77b7 --- /dev/null +++ b/src/message.mli @@ -0,0 +1,17 @@ +type operation = { + method_name: string; + path: string list option; + value: string option; + options: (string * string) list option +} + +type message = { + session_id: string; + ops: operation list; +} + +val operation_to_yojson : operation -> Yojson.Safe.json +val operation_of_yojson : Yojson.Safe.json -> [ `Error of bytes | `Ok of operation ] + +val message_to_yojson : message -> Yojson.Safe.json +val message_of_yojson : Yojson.Safe.json -> [ `Error of bytes | `Ok of message ] -- cgit v1.2.3