[virt-tools-list] [libosinfo 1/7] Add setters for Resources' attributes
Zeeshan Ali (Khattak)
zeeshanak at gnome.org
Wed Oct 5 00:36:22 UTC 2011
From: "Zeeshan Ali (Khattak)" <zeeshanak at gnome.org>
---
docs/reference/Libosinfo-sections.txt | 4 ++
osinfo/libosinfo.syms | 4 ++
osinfo/osinfo_resources.c | 58 +++++++++++++++++++++++++++++++++
osinfo/osinfo_resources.h | 5 +++
4 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/docs/reference/Libosinfo-sections.txt b/docs/reference/Libosinfo-sections.txt
index 8d5f274..70423c9 100644
--- a/docs/reference/Libosinfo-sections.txt
+++ b/docs/reference/Libosinfo-sections.txt
@@ -459,6 +459,10 @@ osinfo_resources_get_cpu
osinfo_resources_get_n_cpus
osinfo_resources_get_ram
osinfo_resources_get_storage
+osinfo_resources_set_n_cpus
+osinfo_resources_set_cpu
+osinfo_resources_set_ram
+osinfo_resources_set_storage
OSINFO_RESOURCES
OSINFO_IS_RESOURCES
OSINFO_TYPE_RESOURCES
diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms
index c35a0f6..dfed3ff 100644
--- a/osinfo/libosinfo.syms
+++ b/osinfo/libosinfo.syms
@@ -168,6 +168,10 @@ LIBOSINFO_0.0.1 {
osinfo_resources_get_n_cpus;
osinfo_resources_get_ram;
osinfo_resources_get_storage;
+ osinfo_resources_set_n_cpus;
+ osinfo_resources_set_cpu;
+ osinfo_resources_set_ram;
+ osinfo_resources_set_storage;
osinfo_resourceslist_get_type;
osinfo_resourceslist_new;
osinfo_resourceslist_new_copy;
diff --git a/osinfo/osinfo_resources.c b/osinfo/osinfo_resources.c
index e635572..d2b83d2 100644
--- a/osinfo/osinfo_resources.c
+++ b/osinfo/osinfo_resources.c
@@ -62,6 +62,16 @@ static gint64 get_param_as_int64(OsinfoResources *resources,
return (gint64) g_ascii_strtod(str, NULL);
}
+static void set_param_from_int64(OsinfoResources *resources,
+ const gchar *key,
+ gint64 value)
+{
+ gchar *str;
+
+ str = g_strdup_printf("%"G_GUINT64_FORMAT, value);
+ osinfo_entity_set_param(OSINFO_ENTITY(resources), key, str);
+}
+
static void
osinfo_resources_finalize (GObject *object)
{
@@ -175,6 +185,54 @@ gint64 osinfo_resources_get_storage(OsinfoResources *resources)
return get_param_as_int64(resources, OSINFO_RESOURCES_PROP_STORAGE);
}
+/**
+ * osinfo_resources_set_n_cpus:
+ * @resources: a #OsinfoResources instance
+ * @n_cpus: the number of CPUs
+ *
+ * Sets the number of CPUs.
+ */
+void osinfo_resources_set_n_cpus(OsinfoResources *resources, gint n_cpus)
+{
+ set_param_from_int64 (resources, OSINFO_RESOURCES_PROP_N_CPUS, n_cpus);
+}
+
+/**
+ * osinfo_resources_set_cpu:
+ * @resources: a #OsinfoResources instance
+ * @cpu: the CPU frequency in hertz (Hz)
+ *
+ * Sets the CPU frequency.
+ */
+void osinfo_resources_set_cpu(OsinfoResources *resources, gint64 cpu)
+{
+ set_param_from_int64 (resources, OSINFO_RESOURCES_PROP_CPU, cpu);
+}
+
+/**
+ * osinfo_resources_set_ram:
+ * @resources: a #OsinfoResources instance
+ * @ram: the amount of ram in bytes
+ *
+ * Sets the amount of RAM in bytes.
+ */
+void osinfo_resources_set_ram(OsinfoResources *resources, gint64 ram)
+{
+ set_param_from_int64 (resources, OSINFO_RESOURCES_PROP_RAM, ram);
+}
+
+/**
+ * osinfo_resources_set_storage:
+ * @resources: a #OsinfoResources instance
+ * @storage: the amount of storage in bytes
+ *
+ * Sets the amount of storage space.
+ */
+void osinfo_resources_set_storage(OsinfoResources *resources, gint64 storage)
+{
+ set_param_from_int64 (resources, OSINFO_RESOURCES_PROP_STORAGE, storage);
+}
+
/*
* Local variables:
* indent-tabs-mode: nil
diff --git a/osinfo/osinfo_resources.h b/osinfo/osinfo_resources.h
index 7f8767e..dd3f8ae 100644
--- a/osinfo/osinfo_resources.h
+++ b/osinfo/osinfo_resources.h
@@ -92,6 +92,11 @@ gint64 osinfo_resources_get_cpu(OsinfoResources *resources);
gint64 osinfo_resources_get_ram(OsinfoResources *resources);
gint64 osinfo_resources_get_storage(OsinfoResources *resources);
+void osinfo_resources_set_n_cpus(OsinfoResources *resources, gint n_cpus);
+void osinfo_resources_set_cpu(OsinfoResources *resources, gint64 cpu);
+void osinfo_resources_set_ram(OsinfoResources *resources, gint64 ram);
+void osinfo_resources_set_storage(OsinfoResources *resources, gint64 storage);
+
#endif /* __OSINFO_RESOURCES_H__ */
/*
* Local variables:
--
1.7.6.2
More information about the virt-tools-list
mailing list