[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-API] [PATCH 06 of 17] [rpc-light] Add some basic RPC int functions



# HG changeset patch
# User Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>
# Date 1262958466 0
# Node ID 45bd84d8701763d0e13863113cf6c3e9f2135063
# Parent  8e5e1af38c22077f98510231918d83ff5c715e05
[rpc-light] Add some basic RPC int functions.

This patch adds rpc_of_{int,int32,int64} and {int,int32,int64}_of_rpc

Signed-off-by: Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>

diff -r 8e5e1af38c22 -r 45bd84d87017 rpc-light/rpc.ml
--- a/rpc-light/rpc.ml  Fri Jan 08 13:47:46 2010 +0000
+++ b/rpc-light/rpc.ml  Fri Jan 08 13:47:46 2010 +0000
@@ -42,14 +42,30 @@
 
 let rpc_of_t x = x
 let rpc_of_int64 i = Int i
+let rpc_of_int32 i = Int (Int64.of_int32 i)
+let rpc_of_int i = Int (Int64.of_int i)
 let rpc_of_bool b = Bool b
 let rpc_of_float f = Float f
 let rpc_of_string s = String s
 
 let t_of_rpc x = x
-let int64_of_rpc = function Int i -> i | _ -> failwith "int64_of_rpc"
+let int64_of_rpc = function
+       | Int i    -> i 
+       | String s -> Int64.of_string s
+       | _ -> failwith "int64_of_rpc"
+let int32_of_rpc = function
+       | Int i    -> Int64.to_int32 i
+       | String s -> Int32.of_string s
+       | _ -> failwith "int32_of_rpc"
+let int_of_rpc = function
+       | Int i    -> Int64.to_int i
+       | String s -> int_of_string s
+       | _ -> failwith "int_of_rpc"
 let bool_of_rpc = function Bool b -> b | _ -> failwith "bool_of_rpc"
-let float_of_rpc = function Float f -> f | _ -> failwith "float_of_rpc"
+let float_of_rpc = function
+       | Float f  -> f 
+       | String s -> float_of_string s
+       | _ -> failwith "float_of_rpc"
 let string_of_rpc = function String s -> s | _ -> failwith "string_of_rpc"
 
 type callback = string list -> t -> unit
diff -r 8e5e1af38c22 -r 45bd84d87017 rpc-light/rpc.mli
--- a/rpc-light/rpc.mli Fri Jan 08 13:47:46 2010 +0000
+++ b/rpc-light/rpc.mli Fri Jan 08 13:47:46 2010 +0000
@@ -29,6 +29,12 @@
 
 val int64_of_rpc : t -> int64
 val rpc_of_int64 : int64 -> t
+
+val int32_of_rpc : t -> int32
+val rpc_of_int32 : int32 -> t
+
+val int_of_rpc : t -> int
+val rpc_of_int : int -> t
 
 val bool_of_rpc : t -> bool
 val rpc_of_bool : bool -> t
2 files changed, 24 insertions(+), 2 deletions(-)
rpc-light/rpc.ml  |   20 ++++++++++++++++++--
rpc-light/rpc.mli |    6 ++++++


Attachment: xen-api-libs.hg-17.patch
Description: Text Data

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.