g_free(path);
}
+static void zigbee_get_activation_sbus(ZigbeeCustomData_t *interface_data)
+{
+ /* Get D-Bus owner to activate zigbee-daemon */
+ interface_data->activation_dbus_id = g_bus_own_name(G_BUS_TYPE_SYSTEM,
+ ZIGBEE_DBUS_SERVICE".manager",
+ G_BUS_NAME_OWNER_FLAGS_REPLACE,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL);
+ Z_LOGI("ZigBee D-BUS activation ID: [%d]", interface_data->activation_dbus_id);
+}
+
/**< Zigbee service dbus interface initialization */
gboolean zigbee_service_dbus_interface_init(ZigBeeService *service)
{
g_free, NULL);
/*
+ * Acquire "org.tizen.zigbee.manager" named bus on D-BUS SYSTEM bus.
+ */
+ zigbee_get_activation_sbus(interface_data);
+
+ /*
* Acquire "org.tizen.zigbee" named bus on D-BUS SYSTEM bus.
*/
interface_data->bus_id = g_bus_own_name(G_BUS_TYPE_SYSTEM,
}
/*
+ * Unown "org.tizen.zigbee.manager" named bus on D-BUS SYSTEM bus
+ */
+ if (interface_data->activation_dbus_id > 0) {
+ Z_LOGI("Unowning ZigBee Service interface activation D-BUS ID: [%d]",
+ interface_data->activation_dbus_id);
+ g_bus_unown_name(interface_data->activation_dbus_id);
+ }
+
+ /*
* Unown "org.tizen.zigbee" named bus on D-BUS SYSTEM bus
*/
if (interface_data->bus_id > 0) {
GHashTable *objects; /**< ZigBee D-BUS object(s) */
gint bus_id; /**< ZigBee D-BUS ID */
+ gint activation_dbus_id; /**< Activation D-BUS ID */
gboolean name_acquired; /**< ZigBee D-BUS name acquired */
gboolean sevice_interface_init_complete; /**< ZigBee D-BUS service init completed */