#include "interfaces/openbmc_intf.h" | |
#include "openbmc.h" | |
/* ---------------------------------------------------------------------------------------------------- */ | |
gint | |
main (gint argc, gchar *argv[]) | |
{ | |
GMainLoop *loop; | |
GDBusConnection *c; | |
GDBusProxy *p; | |
GError *error; | |
GVariant *parm; | |
GVariant *result; | |
loop = g_main_loop_new (NULL, FALSE); | |
error = NULL; | |
c = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); | |
error = NULL; | |
p = g_dbus_proxy_new_sync (c, | |
G_DBUS_PROXY_FLAGS_NONE, | |
NULL, /* GDBusInterfaceInfo* */ | |
"org.openbmc.managers.Inventory", /* name */ | |
"/org/openbmc/inventory/items/system/io_board", /* object path */ | |
"org.openbmc.InventoryItem", /* interface name */ | |
NULL, /* GCancellable */ | |
&error); | |
g_assert_no_error (error); | |
//TODO: Read actual vpd | |
g_print("Reading VPD\n"); | |
GVariantBuilder *b; | |
GVariant *dict; | |
b = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}")); | |
g_variant_builder_add (b, "{sv}", "manufacturer", g_variant_new_string ("ibm")); | |
g_variant_builder_add (b, "{sv}", "part_num", g_variant_new_string("3N0001")); | |
dict = g_variant_builder_end (b); | |
//proxy_call wants parm as an array | |
parm = g_variant_new("(v)",dict); | |
error = NULL; | |
result = g_dbus_proxy_call_sync (p, | |
"update", | |
parm, | |
G_DBUS_CALL_FLAGS_NONE, | |
-1, | |
NULL, | |
&error); | |
g_assert_no_error (error); | |
g_object_unref(p); | |
g_object_unref(c); | |
g_main_loop_unref (loop); | |
return 0; | |
} |