mirror of
https://gitlab.gnome.org/GNOME/libsecret.git
synced 2024-12-22 20:58:52 +00:00
Pass return_type to prompt async begin functions, rather than finish
Much like g_dbus_connection_call() we now pass our return_type value when starting the async operation. This unbreaks vala and various other bindings that make assumptions about the form of xxx_finish() async calls. This is an API/API break, but its to the portion of the library marked as unstable. Only used by seahorse (in jhbuild) and updated usage there.
This commit is contained in:
parent
d6367b1de0
commit
bdbdadf40c
@ -1014,7 +1014,7 @@ on_xlock_prompted (GObject *source,
|
|||||||
GVariant *retval;
|
GVariant *retval;
|
||||||
gchar *path;
|
gchar *path;
|
||||||
|
|
||||||
retval = secret_service_prompt_finish (self, result, G_VARIANT_TYPE ("ao"), &error);
|
retval = secret_service_prompt_finish (self, result, &error);
|
||||||
if (error != NULL)
|
if (error != NULL)
|
||||||
g_simple_async_result_take_error (res, error);
|
g_simple_async_result_take_error (res, error);
|
||||||
|
|
||||||
@ -1058,8 +1058,8 @@ on_xlock_called (GObject *source,
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
closure->prompt = _secret_prompt_instance (self, prompt);
|
closure->prompt = _secret_prompt_instance (self, prompt);
|
||||||
secret_service_prompt (self, closure->prompt, closure->cancellable,
|
secret_service_prompt (self, closure->prompt, G_VARIANT_TYPE ("ao"),
|
||||||
on_xlock_prompted, g_object_ref (res));
|
closure->cancellable, on_xlock_prompted, g_object_ref (res));
|
||||||
}
|
}
|
||||||
|
|
||||||
g_strfreev (xlocked);
|
g_strfreev (xlocked);
|
||||||
@ -1395,7 +1395,7 @@ on_delete_prompted (GObject *source,
|
|||||||
GVariant *retval;
|
GVariant *retval;
|
||||||
|
|
||||||
retval = secret_service_prompt_finish (SECRET_SERVICE (source), result,
|
retval = secret_service_prompt_finish (SECRET_SERVICE (source), result,
|
||||||
NULL, &error);
|
&error);
|
||||||
|
|
||||||
if (error == NULL)
|
if (error == NULL)
|
||||||
closure->deleted = TRUE;
|
closure->deleted = TRUE;
|
||||||
@ -1430,7 +1430,7 @@ on_delete_complete (GObject *source,
|
|||||||
} else {
|
} else {
|
||||||
closure->prompt = _secret_prompt_instance (self, prompt_path);
|
closure->prompt = _secret_prompt_instance (self, prompt_path);
|
||||||
|
|
||||||
secret_service_prompt (self, closure->prompt,
|
secret_service_prompt (self, closure->prompt, NULL,
|
||||||
closure->cancellable,
|
closure->cancellable,
|
||||||
on_delete_prompted,
|
on_delete_prompted,
|
||||||
g_object_ref (res));
|
g_object_ref (res));
|
||||||
@ -1624,8 +1624,7 @@ on_create_collection_prompt (GObject *source,
|
|||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
GVariant *value;
|
GVariant *value;
|
||||||
|
|
||||||
value = secret_service_prompt_finish (SECRET_SERVICE (source), result,
|
value = secret_service_prompt_finish (SECRET_SERVICE (source), result, &error);
|
||||||
G_VARIANT_TYPE ("o"), &error);
|
|
||||||
if (error != NULL)
|
if (error != NULL)
|
||||||
g_simple_async_result_take_error (res, error);
|
g_simple_async_result_take_error (res, error);
|
||||||
if (value != NULL) {
|
if (value != NULL) {
|
||||||
@ -1655,7 +1654,7 @@ on_create_collection_called (GObject *source,
|
|||||||
g_variant_get (retval, "(&o&o)", &collection_path, &prompt_path);
|
g_variant_get (retval, "(&o&o)", &collection_path, &prompt_path);
|
||||||
if (!_secret_util_empty_path (prompt_path)) {
|
if (!_secret_util_empty_path (prompt_path)) {
|
||||||
closure->prompt = _secret_prompt_instance (self, prompt_path);
|
closure->prompt = _secret_prompt_instance (self, prompt_path);
|
||||||
secret_service_prompt (self, closure->prompt,
|
secret_service_prompt (self, closure->prompt, G_VARIANT_TYPE ("o"),
|
||||||
closure->cancellable, on_create_collection_prompt,
|
closure->cancellable, on_create_collection_prompt,
|
||||||
g_object_ref (res));
|
g_object_ref (res));
|
||||||
|
|
||||||
@ -1893,8 +1892,7 @@ on_create_item_prompt (GObject *source,
|
|||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
GVariant *value;
|
GVariant *value;
|
||||||
|
|
||||||
value = secret_service_prompt_finish (SECRET_SERVICE (source), result,
|
value = secret_service_prompt_finish (SECRET_SERVICE (source), result, &error);
|
||||||
G_VARIANT_TYPE ("o"), &error);
|
|
||||||
if (error != NULL)
|
if (error != NULL)
|
||||||
g_simple_async_result_take_error (res, error);
|
g_simple_async_result_take_error (res, error);
|
||||||
if (value != NULL) {
|
if (value != NULL) {
|
||||||
@ -1924,7 +1922,7 @@ on_create_item_called (GObject *source,
|
|||||||
g_variant_get (retval, "(&o&o)", &item_path, &prompt_path);
|
g_variant_get (retval, "(&o&o)", &item_path, &prompt_path);
|
||||||
if (!_secret_util_empty_path (prompt_path)) {
|
if (!_secret_util_empty_path (prompt_path)) {
|
||||||
closure->prompt = _secret_prompt_instance (self, prompt_path);
|
closure->prompt = _secret_prompt_instance (self, prompt_path);
|
||||||
secret_service_prompt (self, closure->prompt,
|
secret_service_prompt (self, closure->prompt, G_VARIANT_TYPE ("o"),
|
||||||
closure->cancellable, on_create_item_prompt,
|
closure->cancellable, on_create_item_prompt,
|
||||||
g_object_ref (res));
|
g_object_ref (res));
|
||||||
|
|
||||||
@ -2422,6 +2420,7 @@ secret_service_prompt_at_dbus_path_sync (SecretService *self,
|
|||||||
* secret_service_prompt_at_dbus_path:
|
* secret_service_prompt_at_dbus_path:
|
||||||
* @self: the secret service
|
* @self: the secret service
|
||||||
* @prompt_path: the D-Bus object path of the prompt
|
* @prompt_path: the D-Bus object path of the prompt
|
||||||
|
* @return_type: (allow-none): the variant type of the prompt result
|
||||||
* @cancellable: optional cancellation object
|
* @cancellable: optional cancellation object
|
||||||
* @callback: called when the operation completes
|
* @callback: called when the operation completes
|
||||||
* @user_data: data to be passed to the callback
|
* @user_data: data to be passed to the callback
|
||||||
@ -2438,6 +2437,7 @@ secret_service_prompt_at_dbus_path_sync (SecretService *self,
|
|||||||
void
|
void
|
||||||
secret_service_prompt_at_dbus_path (SecretService *self,
|
secret_service_prompt_at_dbus_path (SecretService *self,
|
||||||
const gchar *prompt_path,
|
const gchar *prompt_path,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
@ -2449,7 +2449,7 @@ secret_service_prompt_at_dbus_path (SecretService *self,
|
|||||||
g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
|
g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
|
||||||
|
|
||||||
prompt = _secret_prompt_instance (self, prompt_path);
|
prompt = _secret_prompt_instance (self, prompt_path);
|
||||||
secret_service_prompt (self, prompt, cancellable, callback, user_data);
|
secret_service_prompt (self, prompt, return_type, cancellable, callback, user_data);
|
||||||
g_object_unref (prompt);
|
g_object_unref (prompt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2457,7 +2457,6 @@ secret_service_prompt_at_dbus_path (SecretService *self,
|
|||||||
* secret_service_prompt_at_dbus_path_finish:
|
* secret_service_prompt_at_dbus_path_finish:
|
||||||
* @self: the secret service
|
* @self: the secret service
|
||||||
* @result: the asynchronous result passed to the callback
|
* @result: the asynchronous result passed to the callback
|
||||||
* @return_type: the variant type of the prompt result
|
|
||||||
* @error: location to place an error on failure
|
* @error: location to place an error on failure
|
||||||
*
|
*
|
||||||
* Complete asynchronous operation to perform prompting for a #SecretPrompt.
|
* Complete asynchronous operation to perform prompting for a #SecretPrompt.
|
||||||
@ -2472,12 +2471,11 @@ secret_service_prompt_at_dbus_path (SecretService *self,
|
|||||||
GVariant *
|
GVariant *
|
||||||
secret_service_prompt_at_dbus_path_finish (SecretService *self,
|
secret_service_prompt_at_dbus_path_finish (SecretService *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (SECRET_IS_SERVICE (self), NULL);
|
g_return_val_if_fail (SECRET_IS_SERVICE (self), NULL);
|
||||||
g_return_val_if_fail (G_IS_ASYNC_RESULT (result), NULL);
|
g_return_val_if_fail (G_IS_ASYNC_RESULT (result), NULL);
|
||||||
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
|
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
|
||||||
|
|
||||||
return secret_service_prompt_finish (self, result, return_type, error);
|
return secret_service_prompt_finish (self, result, error);
|
||||||
}
|
}
|
||||||
|
@ -176,13 +176,13 @@ GVariant * secret_service_prompt_at_dbus_path_sync (SecretSe
|
|||||||
|
|
||||||
void secret_service_prompt_at_dbus_path (SecretService *self,
|
void secret_service_prompt_at_dbus_path (SecretService *self,
|
||||||
const gchar *prompt_path,
|
const gchar *prompt_path,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
GVariant * secret_service_prompt_at_dbus_path_finish (SecretService *self,
|
GVariant * secret_service_prompt_at_dbus_path_finish (SecretService *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
void secret_service_delete_item_dbus_path (SecretService *self,
|
void secret_service_delete_item_dbus_path (SecretService *self,
|
||||||
|
@ -167,12 +167,12 @@ secret_prompt_run (SecretPrompt *self,
|
|||||||
closure = g_new0 (RunClosure, 1);
|
closure = g_new0 (RunClosure, 1);
|
||||||
closure->loop = g_main_loop_new (context, FALSE);
|
closure->loop = g_main_loop_new (context, FALSE);
|
||||||
|
|
||||||
secret_prompt_perform (self, window_id, cancellable,
|
secret_prompt_perform (self, window_id, return_type, cancellable,
|
||||||
on_prompt_run_complete, closure);
|
on_prompt_run_complete, closure);
|
||||||
|
|
||||||
g_main_loop_run (closure->loop);
|
g_main_loop_run (closure->loop);
|
||||||
|
|
||||||
retval = secret_prompt_perform_finish (self, closure->result, return_type, error);
|
retval = secret_prompt_perform_finish (self, closure->result, error);
|
||||||
|
|
||||||
g_main_loop_unref (closure->loop);
|
g_main_loop_unref (closure->loop);
|
||||||
g_object_unref (closure->result);
|
g_object_unref (closure->result);
|
||||||
@ -244,6 +244,7 @@ typedef struct {
|
|||||||
GVariant *result;
|
GVariant *result;
|
||||||
guint signal;
|
guint signal;
|
||||||
guint watch;
|
guint watch;
|
||||||
|
GVariantType *return_type;
|
||||||
} PerformClosure;
|
} PerformClosure;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -255,6 +256,8 @@ perform_closure_free (gpointer data)
|
|||||||
g_object_unref (closure->connection);
|
g_object_unref (closure->connection);
|
||||||
if (closure->result)
|
if (closure->result)
|
||||||
g_variant_unref (closure->result);
|
g_variant_unref (closure->result);
|
||||||
|
if (closure->return_type)
|
||||||
|
g_variant_type_free (closure->return_type);
|
||||||
g_assert (closure->signal == 0);
|
g_assert (closure->signal == 0);
|
||||||
g_assert (closure->watch == 0);
|
g_assert (closure->watch == 0);
|
||||||
g_slice_free (PerformClosure, closure);
|
g_slice_free (PerformClosure, closure);
|
||||||
@ -409,6 +412,7 @@ on_prompt_cancelled (GCancellable *cancellable,
|
|||||||
* secret_prompt_perform:
|
* secret_prompt_perform:
|
||||||
* @self: a prompt
|
* @self: a prompt
|
||||||
* @window_id: XWindow id for parent window to be transient for
|
* @window_id: XWindow id for parent window to be transient for
|
||||||
|
* @return_type: the variant type of the prompt result
|
||||||
* @cancellable: optional cancellation object
|
* @cancellable: optional cancellation object
|
||||||
* @callback: called when the operation completes
|
* @callback: called when the operation completes
|
||||||
* @user_data: data to be passed to the callback
|
* @user_data: data to be passed to the callback
|
||||||
@ -426,6 +430,7 @@ on_prompt_cancelled (GCancellable *cancellable,
|
|||||||
void
|
void
|
||||||
secret_prompt_perform (SecretPrompt *self,
|
secret_prompt_perform (SecretPrompt *self,
|
||||||
gulong window_id,
|
gulong window_id,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
@ -455,6 +460,7 @@ secret_prompt_perform (SecretPrompt *self,
|
|||||||
closure->connection = g_object_ref (g_dbus_proxy_get_connection (proxy));
|
closure->connection = g_object_ref (g_dbus_proxy_get_connection (proxy));
|
||||||
closure->call_cancellable = g_cancellable_new ();
|
closure->call_cancellable = g_cancellable_new ();
|
||||||
closure->async_cancellable = cancellable ? g_object_ref (cancellable) : NULL;
|
closure->async_cancellable = cancellable ? g_object_ref (cancellable) : NULL;
|
||||||
|
closure->return_type = return_type ? g_variant_type_copy (return_type) : NULL;
|
||||||
g_simple_async_result_set_op_res_gpointer (res, closure, perform_closure_free);
|
g_simple_async_result_set_op_res_gpointer (res, closure, perform_closure_free);
|
||||||
|
|
||||||
if (window_id == 0)
|
if (window_id == 0)
|
||||||
@ -498,7 +504,6 @@ secret_prompt_perform (SecretPrompt *self,
|
|||||||
* secret_prompt_perform_finish:
|
* secret_prompt_perform_finish:
|
||||||
* @self: a prompt
|
* @self: a prompt
|
||||||
* @result: the asynchronous result passed to the callback
|
* @result: the asynchronous result passed to the callback
|
||||||
* @return_type: the variant type of the prompt result
|
|
||||||
* @error: location to place an error on failure
|
* @error: location to place an error on failure
|
||||||
*
|
*
|
||||||
* Complete asynchronous operation to run a prompt and perform the prompting.
|
* Complete asynchronous operation to run a prompt and perform the prompting.
|
||||||
@ -513,7 +518,6 @@ secret_prompt_perform (SecretPrompt *self,
|
|||||||
GVariant *
|
GVariant *
|
||||||
secret_prompt_perform_finish (SecretPrompt *self,
|
secret_prompt_perform_finish (SecretPrompt *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
PerformClosure *closure;
|
PerformClosure *closure;
|
||||||
@ -533,8 +537,8 @@ secret_prompt_perform_finish (SecretPrompt *self,
|
|||||||
closure = g_simple_async_result_get_op_res_gpointer (res);
|
closure = g_simple_async_result_get_op_res_gpointer (res);
|
||||||
if (closure->result == NULL)
|
if (closure->result == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
if (return_type != NULL && !g_variant_is_of_type (closure->result, return_type)) {
|
if (closure->return_type != NULL && !g_variant_is_of_type (closure->result, closure->return_type)) {
|
||||||
string = g_variant_type_dup_string (return_type);
|
string = g_variant_type_dup_string (closure->return_type);
|
||||||
g_warning ("received unexpected result type %s from Completed signal instead of expected %s",
|
g_warning ("received unexpected result type %s from Completed signal instead of expected %s",
|
||||||
g_variant_get_type_string (closure->result), string);
|
g_variant_get_type_string (closure->result), string);
|
||||||
g_free (string);
|
g_free (string);
|
||||||
|
@ -66,13 +66,13 @@ GVariant * secret_prompt_perform_sync (SecretPrompt *self,
|
|||||||
|
|
||||||
void secret_prompt_perform (SecretPrompt *self,
|
void secret_prompt_perform (SecretPrompt *self,
|
||||||
gulong window_id,
|
gulong window_id,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
GVariant * secret_prompt_perform_finish (SecretPrompt *self,
|
GVariant * secret_prompt_perform_finish (SecretPrompt *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@ -312,7 +312,7 @@ on_real_prompt_completed (GObject *source,
|
|||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
GVariant *retval;
|
GVariant *retval;
|
||||||
|
|
||||||
retval = secret_prompt_perform_finish (SECRET_PROMPT (source), result, NULL, &error);
|
retval = secret_prompt_perform_finish (SECRET_PROMPT (source), result, &error);
|
||||||
if (retval != NULL)
|
if (retval != NULL)
|
||||||
g_simple_async_result_set_op_res_gpointer (res, retval, (GDestroyNotify)g_variant_unref);
|
g_simple_async_result_set_op_res_gpointer (res, retval, (GDestroyNotify)g_variant_unref);
|
||||||
if (error != NULL)
|
if (error != NULL)
|
||||||
@ -324,6 +324,7 @@ on_real_prompt_completed (GObject *source,
|
|||||||
static void
|
static void
|
||||||
secret_service_real_prompt_async (SecretService *self,
|
secret_service_real_prompt_async (SecretService *self,
|
||||||
SecretPrompt *prompt,
|
SecretPrompt *prompt,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
@ -333,7 +334,7 @@ secret_service_real_prompt_async (SecretService *self,
|
|||||||
res = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
|
res = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
|
||||||
secret_service_real_prompt_async);
|
secret_service_real_prompt_async);
|
||||||
|
|
||||||
secret_prompt_perform (prompt, 0, cancellable,
|
secret_prompt_perform (prompt, 0, return_type, cancellable,
|
||||||
on_real_prompt_completed,
|
on_real_prompt_completed,
|
||||||
g_object_ref (res));
|
g_object_ref (res));
|
||||||
|
|
||||||
@ -343,12 +344,10 @@ secret_service_real_prompt_async (SecretService *self,
|
|||||||
static GVariant *
|
static GVariant *
|
||||||
secret_service_real_prompt_finish (SecretService *self,
|
secret_service_real_prompt_finish (SecretService *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
GSimpleAsyncResult *res;
|
GSimpleAsyncResult *res;
|
||||||
GVariant *retval;
|
GVariant *retval;
|
||||||
gchar *string;
|
|
||||||
|
|
||||||
g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (self),
|
g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (self),
|
||||||
secret_service_real_prompt_async), NULL);
|
secret_service_real_prompt_async), NULL);
|
||||||
@ -361,14 +360,6 @@ secret_service_real_prompt_finish (SecretService *self,
|
|||||||
if (retval == NULL)
|
if (retval == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (return_type != NULL && !g_variant_is_of_type (retval, return_type)) {
|
|
||||||
string = g_variant_type_dup_string (return_type);
|
|
||||||
g_warning ("received unexpected result type %s from prompt's Completed signal instead of expected %s",
|
|
||||||
g_variant_get_type_string (retval), string);
|
|
||||||
g_free (string);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_variant_ref (retval);
|
return g_variant_ref (retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1684,6 +1675,7 @@ secret_service_prompt_sync (SecretService *self,
|
|||||||
* secret_service_prompt:
|
* secret_service_prompt:
|
||||||
* @self: the secret service
|
* @self: the secret service
|
||||||
* @prompt: the prompt
|
* @prompt: the prompt
|
||||||
|
* @return_type: (allow-none): the variant type of the prompt result
|
||||||
* @cancellable: optional cancellation object
|
* @cancellable: optional cancellation object
|
||||||
* @callback: called when the operation completes
|
* @callback: called when the operation completes
|
||||||
* @user_data: data to be passed to the callback
|
* @user_data: data to be passed to the callback
|
||||||
@ -1700,6 +1692,7 @@ secret_service_prompt_sync (SecretService *self,
|
|||||||
void
|
void
|
||||||
secret_service_prompt (SecretService *self,
|
secret_service_prompt (SecretService *self,
|
||||||
SecretPrompt *prompt,
|
SecretPrompt *prompt,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
@ -1713,14 +1706,13 @@ secret_service_prompt (SecretService *self,
|
|||||||
klass = SECRET_SERVICE_GET_CLASS (self);
|
klass = SECRET_SERVICE_GET_CLASS (self);
|
||||||
g_return_if_fail (klass->prompt_async != NULL);
|
g_return_if_fail (klass->prompt_async != NULL);
|
||||||
|
|
||||||
(klass->prompt_async) (self, prompt, cancellable, callback, user_data);
|
(klass->prompt_async) (self, prompt, return_type, cancellable, callback, user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* secret_service_prompt_finish:
|
* secret_service_prompt_finish:
|
||||||
* @self: the secret service
|
* @self: the secret service
|
||||||
* @result: the asynchronous result passed to the callback
|
* @result: the asynchronous result passed to the callback
|
||||||
* @return_type: the variant type of the prompt result
|
|
||||||
* @error: location to place an error on failure
|
* @error: location to place an error on failure
|
||||||
*
|
*
|
||||||
* Complete asynchronous operation to perform prompting for a #SecretPrompt.
|
* Complete asynchronous operation to perform prompting for a #SecretPrompt.
|
||||||
@ -1735,7 +1727,6 @@ secret_service_prompt (SecretService *self,
|
|||||||
GVariant *
|
GVariant *
|
||||||
secret_service_prompt_finish (SecretService *self,
|
secret_service_prompt_finish (SecretService *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
SecretServiceClass *klass;
|
SecretServiceClass *klass;
|
||||||
@ -1747,7 +1738,7 @@ secret_service_prompt_finish (SecretService *self,
|
|||||||
klass = SECRET_SERVICE_GET_CLASS (self);
|
klass = SECRET_SERVICE_GET_CLASS (self);
|
||||||
g_return_val_if_fail (klass->prompt_finish != NULL, NULL);
|
g_return_val_if_fail (klass->prompt_finish != NULL, NULL);
|
||||||
|
|
||||||
return (klass->prompt_finish) (self, result, return_type, error);
|
return (klass->prompt_finish) (self, result, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -75,13 +75,13 @@ struct _SecretServiceClass {
|
|||||||
|
|
||||||
void (* prompt_async) (SecretService *self,
|
void (* prompt_async) (SecretService *self,
|
||||||
SecretPrompt *prompt,
|
SecretPrompt *prompt,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
GVariant * (* prompt_finish) (SecretService *self,
|
GVariant * (* prompt_finish) (SecretService *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
GType (* get_collection_gtype) (SecretService *self);
|
GType (* get_collection_gtype) (SecretService *self);
|
||||||
@ -168,13 +168,13 @@ GVariant * secret_service_prompt_sync (SecretService
|
|||||||
|
|
||||||
void secret_service_prompt (SecretService *self,
|
void secret_service_prompt (SecretService *self,
|
||||||
SecretPrompt *prompt,
|
SecretPrompt *prompt,
|
||||||
|
const GVariantType *return_type,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
|
||||||
GVariant * secret_service_prompt_finish (SecretService *self,
|
GVariant * secret_service_prompt_finish (SecretService *self,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
const GVariantType *return_type,
|
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
void secret_service_search (SecretService *service,
|
void secret_service_search (SecretService *service,
|
||||||
|
@ -146,12 +146,12 @@ test_perform_async (Test *test,
|
|||||||
|
|
||||||
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
|
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
|
||||||
|
|
||||||
secret_prompt_perform (prompt, 0, NULL, on_async_result, &result);
|
secret_prompt_perform (prompt, 0, NULL, NULL, on_async_result, &result);
|
||||||
g_assert (result == NULL);
|
g_assert (result == NULL);
|
||||||
|
|
||||||
egg_test_wait ();
|
egg_test_wait ();
|
||||||
|
|
||||||
retval = secret_prompt_perform_finish (prompt, result, NULL, &error);
|
retval = secret_prompt_perform_finish (prompt, result, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (retval != NULL);
|
g_assert (retval != NULL);
|
||||||
g_variant_unref (retval);
|
g_variant_unref (retval);
|
||||||
@ -177,7 +177,7 @@ test_perform_cancel (Test *test,
|
|||||||
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/delay");
|
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/delay");
|
||||||
|
|
||||||
cancellable = g_cancellable_new ();
|
cancellable = g_cancellable_new ();
|
||||||
secret_prompt_perform (prompt, 0, cancellable, on_async_result, &result);
|
secret_prompt_perform (prompt, 0, NULL, cancellable, on_async_result, &result);
|
||||||
g_assert (result == NULL);
|
g_assert (result == NULL);
|
||||||
|
|
||||||
g_cancellable_cancel (cancellable);
|
g_cancellable_cancel (cancellable);
|
||||||
@ -185,7 +185,7 @@ test_perform_cancel (Test *test,
|
|||||||
|
|
||||||
egg_test_wait ();
|
egg_test_wait ();
|
||||||
|
|
||||||
retval = secret_prompt_perform_finish (prompt, result, NULL, &error);
|
retval = secret_prompt_perform_finish (prompt, result, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (retval != NULL);
|
g_assert (retval != NULL);
|
||||||
g_variant_unref (retval);
|
g_variant_unref (retval);
|
||||||
@ -305,12 +305,12 @@ test_service_async (Test *test,
|
|||||||
|
|
||||||
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
|
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
|
||||||
|
|
||||||
secret_service_prompt (test->service, prompt, NULL, on_async_result, &result);
|
secret_service_prompt (test->service, prompt, NULL, NULL, on_async_result, &result);
|
||||||
g_assert (result == NULL);
|
g_assert (result == NULL);
|
||||||
|
|
||||||
egg_test_wait ();
|
egg_test_wait ();
|
||||||
|
|
||||||
retval = secret_service_prompt_finish (test->service, result, NULL, &error);
|
retval = secret_service_prompt_finish (test->service, result, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (retval != NULL);
|
g_assert (retval != NULL);
|
||||||
g_variant_unref (retval);
|
g_variant_unref (retval);
|
||||||
@ -334,12 +334,12 @@ test_service_fail (Test *test,
|
|||||||
|
|
||||||
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/error");
|
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/error");
|
||||||
|
|
||||||
secret_service_prompt (test->service, prompt, NULL, on_async_result, &result);
|
secret_service_prompt (test->service, prompt, NULL, NULL, on_async_result, &result);
|
||||||
g_assert (result == NULL);
|
g_assert (result == NULL);
|
||||||
|
|
||||||
egg_test_wait ();
|
egg_test_wait ();
|
||||||
|
|
||||||
retval = secret_service_prompt_finish (test->service, result, NULL, &error);
|
retval = secret_service_prompt_finish (test->service, result, &error);
|
||||||
g_assert_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED);
|
g_assert_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED);
|
||||||
g_assert (retval == NULL);
|
g_assert (retval == NULL);
|
||||||
g_object_unref (result);
|
g_object_unref (result);
|
||||||
@ -362,13 +362,13 @@ test_service_path (Test *test,
|
|||||||
|
|
||||||
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
|
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
|
||||||
|
|
||||||
secret_service_prompt (test->service, prompt, NULL, on_async_result, &result);
|
secret_service_prompt (test->service, prompt, NULL, NULL, on_async_result, &result);
|
||||||
g_assert (result == NULL);
|
g_assert (result == NULL);
|
||||||
|
|
||||||
g_object_unref (prompt);
|
g_object_unref (prompt);
|
||||||
egg_test_wait ();
|
egg_test_wait ();
|
||||||
|
|
||||||
retval = secret_service_prompt_finish (test->service, result, NULL, &error);
|
retval = secret_service_prompt_finish (test->service, result, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
g_assert (retval != NULL);
|
g_assert (retval != NULL);
|
||||||
g_variant_unref (retval);
|
g_variant_unref (retval);
|
||||||
|
Loading…
Reference in New Issue
Block a user