예제 #1
0
static void
on_request (PolkitAgentSession *session,
            const char *request,
            gboolean echo_on,
            gpointer user_data)
{
	NMPolkitListenerPrivate *priv = NM_POLKIT_LISTENER_GET_PRIVATE (user_data);
	char *response = NULL;

	if (priv->on_request_callback) {
		response = priv->on_request_callback (request, priv->action_id,
		                                      priv->message, priv->icon_name,
		                                      priv->identity, echo_on,
		                                      priv->request_callback_data);
	}

	if (response) {
		polkit_agent_session_response (session, response);
		g_free (response);
	} else {
		//FIXME: polkit_agent_session_cancel() should emit "completed", but it doesn't work for me ???
		//polkit_agent_session_cancel (session);
		polkit_agent_session_response (session, "");
	}
}
예제 #2
0
static void on_auth_dlg_response(GtkDialog *dlg, int response, AuthDlgData *d)
{
	if (response == GTK_RESPONSE_OK) {
		const char *txt = gtk_entry_get_text(GTK_ENTRY(d->entry));
		polkit_agent_session_response(d->session, txt);
		gtk_widget_set_sensitive(d->auth_dlg, FALSE);
	} else
		g_cancellable_cancel(d->cancellable);
}
예제 #3
0
void on_dlg_response(GtkDialog* dlg, int response, DlgData* data)
{
    DEBUG("on_response: %d", response);
    if(response == GTK_RESPONSE_OK)
    {
        const char* request = gtk_entry_get_text(data->request);
        polkit_agent_session_response(data->session, request);
        gtk_widget_set_sensitive(data->dlg, FALSE);
    }
    else
        g_cancellable_cancel(data->cancellable);
}