Implement gnome keyring data store.
[moonshot-ui.git] / vapi / moonshot-gnome-keyring.vapi
diff --git a/vapi/moonshot-gnome-keyring.vapi b/vapi/moonshot-gnome-keyring.vapi
new file mode 100644 (file)
index 0000000..4593965
--- /dev/null
@@ -0,0 +1,327 @@
+/* Adapted from gnome-keyring-1.vapi to improve functionality */
+/* specifically: modified class Attribute to allow access to string value */
+/* also modified class PasswordSchema to appropriate use of attributes */
+
+
+/* gnome-keyring-1.vapi generated by vapigen, do not modify. */
+
+namespace GnomeKeyring {
+       [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_access_control_copy")]
+       [Compact]
+       public class AccessControl {
+               [CCode (has_construct_function = false)]
+               public AccessControl (GnomeKeyring.ApplicationRef application, GnomeKeyring.AccessType types_allowed);
+               public GnomeKeyring.AccessControl copy ();
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_application_ref_copy")]
+       [Compact]
+       public class ApplicationRef {
+               [CCode (has_construct_function = false)]
+               public ApplicationRef ();
+               public GnomeKeyring.ApplicationRef copy ();
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_attribute_list_copy", free_function = "gnome_keyring_attribute_list_free")]
+       [Compact]
+       public class AttributeList {
+               [CCode (array_length = false)]
+               public GnomeKeyring.Attribute[] data;
+               public uint len;
+               public AttributeList ();
+               public void append_string (string name, string value);
+               public void append_uint32 (string name, uint32 value);
+               public GnomeKeyring.AttributeList copy ();
+               public GnomeKeyring.Attribute index (int i);
+       }
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       [Compact]
+       public class Found {
+               public weak GnomeKeyring.AttributeList attributes;
+               public uint item_id;
+               public weak string keyring;
+               public weak string secret;
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_info_copy")]
+       [Compact]
+       public class Info {
+               public GnomeKeyring.Info copy ();
+               public ulong get_ctime ();
+               public bool get_is_locked ();
+               public bool get_lock_on_idle ();
+               public uint32 get_lock_timeout ();
+               public ulong get_mtime ();
+               public void set_lock_on_idle (bool value);
+               public void set_lock_timeout (uint32 value);
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_item_info_copy")]
+       [Compact]
+       public class ItemInfo {
+               [CCode (has_construct_function = false)]
+               public ItemInfo ();
+               public GnomeKeyring.ItemInfo copy ();
+               public ulong get_ctime ();
+               public unowned string get_display_name ();
+               public ulong get_mtime ();
+               public unowned string get_secret ();
+               public void set_display_name (string value);
+               public void set_secret (string value);
+               public void set_type (GnomeKeyring.ItemType type);
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", free_function = "gnome_keyring_network_password_free")]
+       [Compact]
+       public class NetworkPasswordData {
+               public weak string authtype;
+               public weak string domain;
+               public uint32 item_id;
+               public weak string keyring;
+               public weak string object;
+               public weak string password;
+               public uint32 port;
+               public weak string protocol;
+               public weak string server;
+               public weak string user;
+       }
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       [Compact]
+       public class PasswordSchema {
+               public void* attributes;
+               public GnomeKeyring.ItemType item_type;
+               public void* reserved1;
+               public void* reserved2;
+               public void* reserved3;
+       }
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public struct Attribute {
+               public weak string name;
+               public GnomeKeyring.AttributeType type;
+               [CCode (cname="value.string")]
+               unowned string string_value;
+                [CCode (cname="value.integer")]
+               uint32 integer_value;
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ACCESS_", has_type_id = false)]
+       public enum AccessRestriction {
+               ASK,
+               DENY,
+               ALLOW
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ACCESS_", has_type_id = false)]
+       public enum AccessType {
+               READ,
+               WRITE,
+               REMOVE
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ATTRIBUTE_TYPE_", has_type_id = false)]
+       public enum AttributeType {
+               STRING,
+               UINT32
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ITEM_INFO_", has_type_id = false)]
+       public enum ItemInfoFlags {
+               ALL,
+               BASICS,
+               SECRET
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ITEM_", has_type_id = false)]
+       public enum ItemType {
+               APPLICATION_SECRET,
+               ITEM_TYPE_MASK,
+               GENERIC_SECRET,
+               NETWORK_PASSWORD,
+               NOTE,
+               CHAINED_KEYRING_PASSWORD,
+               ENCRYPTION_KEY_PASSWORD,
+               PK_STORAGE,
+               LAST_TYPE
+       }
+       [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_RESULT_", has_type_id = false)]
+       public enum Result {
+               OK,
+               DENIED,
+               NO_KEYRING_DAEMON,
+               ALREADY_UNLOCKED,
+               NO_SUCH_KEYRING,
+               BAD_ARGUMENTS,
+               IO_ERROR,
+               CANCELLED,
+               KEYRING_ALREADY_EXISTS,
+               NO_MATCH
+       }
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public delegate void OperationDoneCallback (GnomeKeyring.Result result);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public delegate void OperationGetAttributesCallback (GnomeKeyring.Result result, GnomeKeyring.AttributeList attributes);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public delegate void OperationGetIntCallback (GnomeKeyring.Result result, uint32 val);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public delegate void OperationGetItemInfoCallback (GnomeKeyring.Result result, GnomeKeyring.ItemInfo info);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public delegate void OperationGetKeyringInfoCallback (GnomeKeyring.Result result, GnomeKeyring.Info info);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public delegate void OperationGetListCallback (GnomeKeyring.Result result, GLib.List<GnomeKeyring.NetworkPasswordData> list);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public delegate void OperationGetStringCallback (GnomeKeyring.Result result, string? str);
+       [CCode (cheader_filename = "gnome-keyring.h", cname = "GNOME_KEYRING_NETWORK_PASSWORD")]
+       public static GnomeKeyring.PasswordSchema NETWORK_PASSWORD;
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public const string DEFAULT;
+       [CCode (cheader_filename = "gnome-keyring.h", cname = "GNOME_KEYRING_SESSION")]
+       public const string SESSION;
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GLib.List<GnomeKeyring.AccessControl> acl_copy (GLib.List<GnomeKeyring.AccessControl> list);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void cancel_request (void* request);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* change_password (string keyring, string? original, string? password, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result change_password_sync (string keyring, string? original, string? password);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* create (string keyring_name, string? password, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result create_sync (string keyring_name, string? password);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result daemon_prepare_environment_sync ();
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result daemon_set_display_sync (string display);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* @delete (string keyring, GnomeKeyring.OperationDoneCallback callback, void* data, GLib.DestroyNotify destroy_data);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* delete_password (GnomeKeyring.PasswordSchema schema, owned GnomeKeyring.OperationDoneCallback callback, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result delete_password_sync (GnomeKeyring.PasswordSchema schema, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result delete_sync (string keyring);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* find_items (GnomeKeyring.ItemType type, GnomeKeyring.AttributeList attributes, owned GnomeKeyring.OperationGetListCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result find_items_sync (GnomeKeyring.ItemType type, GnomeKeyring.AttributeList attributes, out GLib.List<GnomeKeyring.Found> found);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* find_itemsv (GnomeKeyring.ItemType type, owned GnomeKeyring.OperationGetListCallback callback, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result find_itemsv_sync (GnomeKeyring.ItemType type, out GLib.List<GnomeKeyring.Found> found, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* find_network_password (string? user, string? domain, string? server, string? object, string? protocol, string? authtype, uint32 port, owned GnomeKeyring.OperationGetListCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result find_network_password_sync (string? user, string? domain, string? server, string? object, string? protocol, string? authtype, uint32 port, out GLib.List<GnomeKeyring.NetworkPasswordData> results);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* find_password (GnomeKeyring.PasswordSchema schema, owned GnomeKeyring.OperationGetStringCallback callback, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result find_password_sync (GnomeKeyring.PasswordSchema schema, out unowned string password, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void free_password (string password);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* get_default_keyring (owned GnomeKeyring.OperationGetStringCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result get_default_keyring_sync (out unowned string keyring);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* get_info (string? keyring, owned GnomeKeyring.OperationGetKeyringInfoCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result get_info_sync (string? keyring, out unowned GnomeKeyring.Info info);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static bool is_available ();
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.AccessType item_ac_get_access_type (GnomeKeyring.AccessControl ac);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static unowned string item_ac_get_display_name (GnomeKeyring.AccessControl ac);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static unowned string item_ac_get_path_name (GnomeKeyring.AccessControl ac);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void item_ac_set_access_type (GnomeKeyring.AccessControl ac, GnomeKeyring.AccessType value);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void item_ac_set_display_name (GnomeKeyring.AccessControl ac, string value);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void item_ac_set_path_name (GnomeKeyring.AccessControl ac, string value);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_create (string? keyring, GnomeKeyring.ItemType type, string display_name, GnomeKeyring.AttributeList attributes, string secret, bool update_if_exists, owned GnomeKeyring.OperationGetIntCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_create_sync (string? keyring, GnomeKeyring.ItemType type, string display_name, GnomeKeyring.AttributeList attributes, string secret, bool update_if_exists, out uint32 item_id);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_delete (string? keyring, uint32 id, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_delete_sync (string? keyring, uint32 id);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_get_acl (string? keyring, uint32 id, owned GnomeKeyring.OperationGetListCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_get_acl_sync (string? keyring, uint32 id, out GLib.List<GnomeKeyring.AccessControl> acl);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_get_attributes (string? keyring, uint32 id, owned GnomeKeyring.OperationGetAttributesCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_get_attributes_sync (string? keyring, uint32 id, out unowned GnomeKeyring.AttributeList attributes);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_get_info (string? keyring, uint32 id, owned GnomeKeyring.OperationGetItemInfoCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_get_info_full (string? keyring, uint32 id, uint32 flags, owned GnomeKeyring.OperationGetItemInfoCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_get_info_full_sync (string? keyring, uint32 id, uint32 flags, out unowned GnomeKeyring.ItemInfo info);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_get_info_sync (string keyring, uint32 id, out unowned GnomeKeyring.ItemInfo info);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_grant_access_rights (string? keyring, string display_name, string full_path, uint32 id, GnomeKeyring.AccessType rights, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_grant_access_rights_sync (string? keyring, string display_name, string full_path, uint32 id, GnomeKeyring.AccessType rights);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_set_acl (string? keyring, uint32 id, GLib.List<GnomeKeyring.AccessControl> acl, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_set_acl_sync (string? keyring, uint32 id, GLib.List<GnomeKeyring.AccessControl> acl);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_set_attributes (string? keyring, uint32 id, GnomeKeyring.AttributeList attributes, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_set_attributes_sync (string? keyring, uint32 id, GnomeKeyring.AttributeList attributes);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* item_set_info (string? keyring, uint32 id, GnomeKeyring.ItemInfo info, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result item_set_info_sync (string? keyring, uint32 id, GnomeKeyring.ItemInfo info);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* list_item_ids (string? keyring, owned GnomeKeyring.OperationGetListCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result list_item_ids_sync (string? keyring, out GLib.List<uint> ids);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* list_keyring_names (owned GnomeKeyring.OperationGetListCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result list_keyring_names_sync (out GLib.List<string> keyrings);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* @lock (string keyring, GnomeKeyring.OperationDoneCallback callback, void* data, GLib.DestroyNotify destroy_data);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* lock_all (owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result lock_all_sync ();
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result lock_sync (string? keyring);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* memory_alloc (ulong sz);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void memory_free (void* p);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static bool memory_is_secure (void* p);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* memory_realloc (void* p, ulong sz);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static unowned string memory_strdup (string str);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* memory_try_alloc (ulong sz);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* memory_try_realloc (void* p, ulong sz);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void network_password_free (GnomeKeyring.NetworkPasswordData data);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static unowned string result_to_message (GnomeKeyring.Result res);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* set_default_keyring (string keyring, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result set_default_keyring_sync (string keyring);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* set_info (string? keyring, GnomeKeyring.Info info, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result set_info_sync (string? keyring, GnomeKeyring.Info info);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* set_network_password (string? keyring, string? user, string? domain, string? server, string? object, string? protocol, string? authtype, uint32 port, string? password, owned GnomeKeyring.OperationGetIntCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result set_network_password_sync (string? keyring, string? user, string? domain, string? server, string? object, string? protocol, string? authtype, uint32 port, string? password, out uint32 item_id);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* store_password (GnomeKeyring.PasswordSchema schema, string? keyring, string display_name, string password, owned GnomeKeyring.OperationDoneCallback callback, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result store_password_sync (GnomeKeyring.PasswordSchema schema, string? keyring, string display_name, string password, ...);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static void* unlock (string? keyring, string? password, owned GnomeKeyring.OperationDoneCallback callback);
+       [CCode (cheader_filename = "gnome-keyring.h")]
+       public static GnomeKeyring.Result unlock_sync (string? keyring, string? password);
+}