static void gssdp_resource_browser_dispose (GObject *object) { GSSDPResourceBrowser *resource_browser; GSSDPResourceBrowserPrivate *priv; resource_browser = GSSDP_RESOURCE_BROWSER (object); priv = gssdp_resource_browser_get_instance_private (resource_browser); if (priv->client) { if (g_signal_handler_is_connected (priv->client, priv->message_received_id)) { g_signal_handler_disconnect (priv->client, priv->message_received_id); } stop_discovery (resource_browser); g_object_unref (priv->client); priv->client = NULL; } clear_cache (resource_browser); G_OBJECT_CLASS (gssdp_resource_browser_parent_class)->dispose (object); }
/** * gssdp_resource_browser_set_active: * @resource_browser: A #GSSDPResourceBrowser * @active: %TRUE to activate @resource_browser * * (De)activates @resource_browser. **/ void gssdp_resource_browser_set_active (GSSDPResourceBrowser *resource_browser, gboolean active) { GSSDPResourceBrowserPrivate *priv; g_return_if_fail (GSSDP_IS_RESOURCE_BROWSER (resource_browser)); priv = gssdp_resource_browser_get_instance_private (resource_browser); if (priv->active == active) return; priv->active = active; if (active) { start_discovery (resource_browser); } else { stop_discovery (resource_browser); clear_cache (resource_browser); } g_object_notify (G_OBJECT (resource_browser), "active"); }
void tester_handle_gap(uint8_t opcode, uint8_t index, uint8_t *data, uint16_t len) { switch (opcode) { case GAP_READ_SUPPORTED_COMMANDS: case GAP_READ_CONTROLLER_INDEX_LIST: if (index != BTP_INDEX_NONE){ tester_rsp(BTP_SERVICE_ID_GAP, opcode, index, BTP_STATUS_FAILED); return; } break; default: if (index != CONTROLLER_INDEX){ tester_rsp(BTP_SERVICE_ID_GAP, opcode, index, BTP_STATUS_FAILED); return; } break; } switch (opcode) { case GAP_READ_SUPPORTED_COMMANDS: supported_commands(data, len); return; case GAP_READ_CONTROLLER_INDEX_LIST: controller_index_list(data, len); return; case GAP_READ_CONTROLLER_INFO: controller_info(data, len); return; case GAP_SET_CONNECTABLE: set_connectable(data, len); return; case GAP_SET_DISCOVERABLE: set_discoverable(data, len); return; case GAP_START_ADVERTISING: start_advertising(data, len); return; case GAP_STOP_ADVERTISING: stop_advertising(data, len); return; case GAP_START_DISCOVERY: start_discovery(data, len); return; case GAP_STOP_DISCOVERY: stop_discovery(data, len); return; case GAP_CONNECT: connect(data, len); return; case GAP_DISCONNECT: disconnect(data, len); return; case GAP_SET_IO_CAP: set_io_cap(data, len); return; case GAP_PAIR: pair(data, len); return; case GAP_PASSKEY_ENTRY: passkey_entry(data, len); return; default: tester_rsp(BTP_SERVICE_ID_GAP, opcode, index, BTP_STATUS_UNKNOWN_CMD); return; } }