A connection is either read/write (type rw = [`R|`W]) or read/only
(type ro = [`R]). A function which requires the ability to write
needs to take a parameter [> `W] rather than [`W] (which would
correspond to a write-only connection).
We can now use a read/write connection to call:
Pool.set_autostart
Volume.create_xml
Volume.delete
Signed-off-by: David Scott <dave.scott(a)eu.citrix.com>
---
libvirt/libvirt.ml | 6 +++---
libvirt/libvirt.mli | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml
index 07542a9..443b22b 100644
--- a/libvirt/libvirt.ml
+++ b/libvirt/libvirt.ml
@@ -536,7 +536,7 @@ struct
external get_info : [`R] t -> pool_info =
"ocaml_libvirt_storage_pool_get_info"
external get_xml_desc : [`R] t -> xml =
"ocaml_libvirt_storage_pool_get_xml_desc"
external get_autostart : [`R] t -> bool =
"ocaml_libvirt_storage_pool_get_autostart"
- external set_autostart : [`W] t -> bool -> unit =
"ocaml_libvirt_storage_pool_set_autostart"
+ external set_autostart : [>`W] t -> bool -> unit =
"ocaml_libvirt_storage_pool_set_autostart"
external num_of_volumes : [`R] t -> int =
"ocaml_libvirt_storage_pool_num_of_volumes"
external list_volumes : [`R] t -> int -> string array =
"ocaml_libvirt_storage_pool_list_volumes"
external const : [>`R] t -> ro t = "%identity"
@@ -562,8 +562,8 @@ struct
external get_path : [`R] t -> string =
"ocaml_libvirt_storage_vol_get_path"
external get_info : [`R] t -> vol_info =
"ocaml_libvirt_storage_vol_get_info"
external get_xml_desc : [`R] t -> xml =
"ocaml_libvirt_storage_vol_get_xml_desc"
- external create_xml : [`W] Pool.t -> xml -> unit =
"ocaml_libvirt_storage_vol_create_xml"
- external delete : [`W] t -> unit = "ocaml_libvirt_storage_vol_delete"
+ external create_xml : [>`W] Pool.t -> xml -> unit =
"ocaml_libvirt_storage_vol_create_xml"
+ external delete : [>`W] t -> unit = "ocaml_libvirt_storage_vol_delete"
external free : [>`R] t -> unit = "ocaml_libvirt_storage_vol_free"
external const : [>`R] t -> ro t = "%identity"
end
diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli
index 5a288c0..70cc2c7 100644
--- a/libvirt/libvirt.mli
+++ b/libvirt/libvirt.mli
@@ -757,7 +757,7 @@ sig
(** Get the XML description. *)
val get_autostart : [`R] t -> bool
(** Get the autostart flag for the storage pool. *)
- val set_autostart : [`W] t -> bool -> unit
+ val set_autostart : [>`W] t -> bool -> unit
(** Set the autostart flag for the storage pool. *)
val num_of_volumes : [`R] t -> int
@@ -810,9 +810,9 @@ sig
val get_xml_desc : [`R] t -> xml
(** Get the XML description. *)
- val create_xml : [`W] Pool.t -> xml -> unit
+ val create_xml : [>`W] Pool.t -> xml -> unit
(** Create a storage volume. *)
- val delete : [`W] t -> unit
+ val delete : [>`W] t -> unit
(** Delete a storage volume. *)
val free : [>`R] t -> unit
(** Free a storage volume object in memory.
--
1.7.10.4