WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-api

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

To: xen-api@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-API] [PATCH 06 of 17] [rpc-light] Add some basic RPC int functions
From: Thomas Gazagnaire <thomas.gazagnaire@xxxxxxxxxx>
Date: Fri, 8 Jan 2010 13:49:19 +0000
Delivery-date: Fri, 08 Jan 2010 05:50:11 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1262958553@steel>
List-help: <mailto:xen-api-request@lists.xensource.com?subject=help>
List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>
List-post: <mailto:xen-api@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-api-bounces@xxxxxxxxxxxxxxxxxxx
# 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
<Prev in Thread] Current Thread [Next in Thread>