libsecret/libsecret/secret-collection.h
Emmanuele Bassi 15902b70b2 Use proper prefix for SecretCollection flags
Commit f36379af33 added the enumeration
GType for SecretCollectionFlags and SecretCollectionCreateFlags in the
introspection data, but by doing so it broke existing users of the
introspected API.

Additionally, the enumeration nicknames—which are used to generate the
enumeration value from the type name and the namespace—were wrong
before, and are wrong now. The idiomatic way to name enumeration members
is to use the uppercase, snake case version of the type name, and append
the value at the end:

  SecretCollectionFlags → SECRET_COLLECTION_FLAGS_NONE
  SecretCollectionCreateFlags → SECRET_COLLECTION_CREATE_FLAGS_NONE

If this practice is not followed, enumerations should use the
glib-mkenums trigraph and the `prefix` option; this tells glib-mkenums,
and the introspection parser after that, where to cut off the prefix and
which part of the enumeration value should be considered the nickname.

Thus, with `prefix=SECRET_COLLECTION` we can turn:

  SECRET_COLLECTION_NONE

into:

  Secret.CollectionFlags.NONE

which is the idiomatic form of an enumeration value.
2019-05-11 00:15:04 +01:00

181 lines
9.5 KiB
C

/* libsecret - GLib wrapper for Secret Service
*
* Copyright 2012 Red Hat Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the licence or (at
* your option) any later version.
*
* See the included COPYING file for more information.
*
* Author: Stef Walter <stefw@gnome.org>
*/
#if !defined (__SECRET_INSIDE_HEADER__) && !defined (SECRET_COMPILATION)
#error "Only <libsecret/secret.h> can be included directly."
#endif
#ifndef __SECRET_COLLECTION_H__
#define __SECRET_COLLECTION_H__
#include <gio/gio.h>
#include "secret-schema.h"
#include "secret-service.h"
#include "secret-types.h"
G_BEGIN_DECLS
typedef enum { /*< prefix=SECRET_COLLECTION >*/
SECRET_COLLECTION_NONE = 0 << 0,
SECRET_COLLECTION_LOAD_ITEMS = 1 << 1,
} SecretCollectionFlags;
typedef enum { /*< prefix=SECRET_COLLECTION_CREATE >*/
SECRET_COLLECTION_CREATE_NONE = 0 << 0,
} SecretCollectionCreateFlags;
#define SECRET_TYPE_COLLECTION (secret_collection_get_type ())
#define SECRET_COLLECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), SECRET_TYPE_COLLECTION, SecretCollection))
#define SECRET_COLLECTION_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), SECRET_TYPE_COLLECTION, SecretCollectionClass))
#define SECRET_IS_COLLECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), SECRET_TYPE_COLLECTION))
#define SECRET_IS_COLLECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), SECRET_TYPE_COLLECTION))
#define SECRET_COLLECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), SECRET_TYPE_COLLECTION, SecretCollectionClass))
typedef struct _SecretItem SecretItem;
typedef struct _SecretCollectionClass SecretCollectionClass;
typedef struct _SecretCollectionPrivate SecretCollectionPrivate;
struct _SecretCollection {
GDBusProxy parent;
/*< private >*/
SecretCollectionPrivate *pv;
};
struct _SecretCollectionClass {
GDBusProxyClass parent_class;
/*< private >*/
gpointer padding[8];
};
GType secret_collection_get_type (void) G_GNUC_CONST;
void secret_collection_for_alias (SecretService *service,
const gchar *alias,
SecretCollectionFlags flags,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
SecretCollection * secret_collection_for_alias_finish (GAsyncResult *result,
GError **error);
SecretCollection * secret_collection_for_alias_sync (SecretService *service,
const gchar *alias,
SecretCollectionFlags flags,
GCancellable *cancellable,
GError **error);
void secret_collection_load_items (SecretCollection *self,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean secret_collection_load_items_finish (SecretCollection *self,
GAsyncResult *result,
GError **error);
gboolean secret_collection_load_items_sync (SecretCollection *self,
GCancellable *cancellable,
GError **error);
void secret_collection_refresh (SecretCollection *self);
void secret_collection_create (SecretService *service,
const gchar *label,
const gchar *alias,
SecretCollectionCreateFlags flags,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
SecretCollection * secret_collection_create_finish (GAsyncResult *result,
GError **error);
SecretCollection * secret_collection_create_sync (SecretService *service,
const gchar *label,
const gchar *alias,
SecretCollectionCreateFlags flags,
GCancellable *cancellable,
GError **error);
void secret_collection_search (SecretCollection *self,
const SecretSchema *schema,
GHashTable *attributes,
SecretSearchFlags flags,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
GList * secret_collection_search_finish (SecretCollection *self,
GAsyncResult *result,
GError **error);
GList * secret_collection_search_sync (SecretCollection *self,
const SecretSchema *schema,
GHashTable *attributes,
SecretSearchFlags flags,
GCancellable *cancellable,
GError **error);
void secret_collection_delete (SecretCollection *self,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean secret_collection_delete_finish (SecretCollection *self,
GAsyncResult *result,
GError **error);
gboolean secret_collection_delete_sync (SecretCollection *self,
GCancellable *cancellable,
GError **error);
SecretService * secret_collection_get_service (SecretCollection *self);
SecretCollectionFlags secret_collection_get_flags (SecretCollection *self);
GList * secret_collection_get_items (SecretCollection *self);
gchar * secret_collection_get_label (SecretCollection *self);
void secret_collection_set_label (SecretCollection *self,
const gchar *label,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean secret_collection_set_label_finish (SecretCollection *self,
GAsyncResult *result,
GError **error);
gboolean secret_collection_set_label_sync (SecretCollection *self,
const gchar *label,
GCancellable *cancellable,
GError **error);
gboolean secret_collection_get_locked (SecretCollection *self);
guint64 secret_collection_get_created (SecretCollection *self);
guint64 secret_collection_get_modified (SecretCollection *self);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SecretCollection, g_object_unref)
G_END_DECLS
#endif /* __SECRET_COLLECTION_H___ */