libsecret/library/secret-collection.h

175 lines
9.1 KiB
C
Raw Normal View History

/* 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>
*/
2012-02-02 12:40:47 +00:00
#if !defined (__SECRET_INSIDE_HEADER__) && !defined (SECRET_COMPILATION)
#error "Only <secret/secret.h> or <secret/secret-unstable.h> can be included directly."
2012-02-02 12:40:47 +00:00
#endif
#ifndef __SECRET_COLLECTION_H__
#define __SECRET_COLLECTION_H__
#include <gio/gio.h>
#include "secret-schema.h"
#include "secret-types.h"
G_BEGIN_DECLS
typedef enum {
SECRET_COLLECTION_NONE = 0,
SECRET_COLLECTION_LOAD_ITEMS = 1 << 1,
} SecretCollectionFlags;
typedef enum {
SECRET_COLLECTION_CREATE_NONE = 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 _SecretCollectionClass SecretCollectionClass;
typedef struct _SecretCollectionPrivate SecretCollectionPrivate;
struct _SecretCollection {
GDBusProxy parent;
2012-02-02 13:59:59 +00:00
/*< private >*/
SecretCollectionPrivate *pv;
};
struct _SecretCollectionClass {
GDBusProxyClass parent_class;
2012-02-02 13:59:59 +00:00
/*< private >*/
gpointer padding[8];
};
GType secret_collection_get_type (void) G_GNUC_CONST;
void secret_collection_for_alias (SecretService *service,
const gchar *alias,
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,
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,
2012-02-02 12:40:47 +00:00
GCancellable *cancellable,
GError **error);
void secret_collection_refresh (SecretCollection *self);
void secret_collection_create (SecretService *service,
2012-02-02 12:40:47 +00:00
const gchar *label,
const gchar *alias,
SecretCollectionCreateFlags flags,
2012-02-02 12:40:47 +00:00
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
2012-02-02 12:40:47 +00:00
SecretCollection * secret_collection_create_finish (GAsyncResult *result,
GError **error);
2012-02-02 12:40:47 +00:00
SecretCollection * secret_collection_create_sync (SecretService *service,
const gchar *label,
const gchar *alias,
SecretCollectionCreateFlags flags,
2012-02-02 12:40:47 +00:00
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,
2012-02-02 12:40:47 +00:00
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean secret_collection_delete_finish (SecretCollection *self,
2012-02-02 12:40:47 +00:00
GAsyncResult *result,
GError **error);
gboolean secret_collection_delete_sync (SecretCollection *self,
2012-02-02 12:40:47 +00:00
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,
2012-02-02 12:40:47 +00:00
const gchar *label,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean secret_collection_set_label_finish (SecretCollection *self,
2012-02-02 12:40:47 +00:00
GAsyncResult *result,
GError **error);
gboolean secret_collection_set_label_sync (SecretCollection *self,
2012-02-02 12:40:47 +00:00
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_END_DECLS
#endif /* __SECRET_COLLECTION_H___ */