1 /* Adapted from gnome-keyring-1.vapi to improve functionality */
2 /* specifically: modified class Attribute to allow access to string value */
3 /* also modified class PasswordSchema to appropriate use of attributes */
6 /* gnome-keyring-1.vapi generated by vapigen, do not modify. */
8 namespace GnomeKeyring {
9 [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_access_control_copy")]
11 public class AccessControl {
12 [CCode (has_construct_function = false)]
13 public AccessControl (GnomeKeyring.ApplicationRef application, GnomeKeyring.AccessType types_allowed);
14 public GnomeKeyring.AccessControl copy ();
16 [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_application_ref_copy")]
18 public class ApplicationRef {
19 [CCode (has_construct_function = false)]
20 public ApplicationRef ();
21 public GnomeKeyring.ApplicationRef copy ();
23 [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_attribute_list_copy", free_function = "gnome_keyring_attribute_list_free")]
25 public class AttributeList {
26 [CCode (array_length = false)]
27 public GnomeKeyring.Attribute[] data;
29 public AttributeList ();
30 public void append_string (string name, string value);
31 public void append_uint32 (string name, uint32 value);
32 public GnomeKeyring.AttributeList copy ();
33 public GnomeKeyring.Attribute index (int i);
35 [CCode (cheader_filename = "gnome-keyring.h")]
38 public weak GnomeKeyring.AttributeList attributes;
40 public weak string keyring;
41 public weak string secret;
43 [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_info_copy")]
46 public GnomeKeyring.Info copy ();
47 public ulong get_ctime ();
48 public bool get_is_locked ();
49 public bool get_lock_on_idle ();
50 public uint32 get_lock_timeout ();
51 public ulong get_mtime ();
52 public void set_lock_on_idle (bool value);
53 public void set_lock_timeout (uint32 value);
55 [CCode (cheader_filename = "gnome-keyring.h", copy_function = "gnome_keyring_item_info_copy")]
57 public class ItemInfo {
58 [CCode (has_construct_function = false)]
60 public GnomeKeyring.ItemInfo copy ();
61 public ulong get_ctime ();
62 public unowned string get_display_name ();
63 public ulong get_mtime ();
64 public unowned string get_secret ();
65 public void set_display_name (string value);
66 public void set_secret (string value);
67 public void set_type (GnomeKeyring.ItemType type);
69 [CCode (cheader_filename = "gnome-keyring.h", free_function = "gnome_keyring_network_password_free")]
71 public class NetworkPasswordData {
72 public weak string authtype;
73 public weak string domain;
74 public uint32 item_id;
75 public weak string keyring;
76 public weak string object;
77 public weak string password;
79 public weak string protocol;
80 public weak string server;
81 public weak string user;
83 [CCode (cheader_filename = "gnome-keyring.h")]
85 public class PasswordSchema {
86 public void* attributes;
87 public GnomeKeyring.ItemType item_type;
88 public void* reserved1;
89 public void* reserved2;
90 public void* reserved3;
92 [CCode (cheader_filename = "gnome-keyring.h")]
93 public struct Attribute {
94 public weak string name;
95 public GnomeKeyring.AttributeType type;
96 [CCode (cname="value.string")]
97 unowned string string_value;
98 [CCode (cname="value.integer")]
101 [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ACCESS_", has_type_id = false)]
102 public enum AccessRestriction {
107 [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ACCESS_", has_type_id = false)]
108 public enum AccessType {
113 [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ATTRIBUTE_TYPE_", has_type_id = false)]
114 public enum AttributeType {
118 [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ITEM_INFO_", has_type_id = false)]
119 public enum ItemInfoFlags {
124 [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_ITEM_", has_type_id = false)]
125 public enum ItemType {
131 CHAINED_KEYRING_PASSWORD,
132 ENCRYPTION_KEY_PASSWORD,
136 [CCode (cheader_filename = "gnome-keyring.h", cprefix = "GNOME_KEYRING_RESULT_", has_type_id = false)]
146 KEYRING_ALREADY_EXISTS,
149 [CCode (cheader_filename = "gnome-keyring.h")]
150 public delegate void OperationDoneCallback (GnomeKeyring.Result result);
151 [CCode (cheader_filename = "gnome-keyring.h")]
152 public delegate void OperationGetAttributesCallback (GnomeKeyring.Result result, GnomeKeyring.AttributeList attributes);
153 [CCode (cheader_filename = "gnome-keyring.h")]
154 public delegate void OperationGetIntCallback (GnomeKeyring.Result result, uint32 val);
155 [CCode (cheader_filename = "gnome-keyring.h")]
156 public delegate void OperationGetItemInfoCallback (GnomeKeyring.Result result, GnomeKeyring.ItemInfo info);
157 [CCode (cheader_filename = "gnome-keyring.h")]
158 public delegate void OperationGetKeyringInfoCallback (GnomeKeyring.Result result, GnomeKeyring.Info info);
159 [CCode (cheader_filename = "gnome-keyring.h")]
160 public delegate void OperationGetListCallback (GnomeKeyring.Result result, GLib.List<GnomeKeyring.NetworkPasswordData> list);
161 [CCode (cheader_filename = "gnome-keyring.h")]
162 public delegate void OperationGetStringCallback (GnomeKeyring.Result result, string? str);
163 [CCode (cheader_filename = "gnome-keyring.h", cname = "GNOME_KEYRING_NETWORK_PASSWORD")]
164 public static GnomeKeyring.PasswordSchema NETWORK_PASSWORD;
165 [CCode (cheader_filename = "gnome-keyring.h")]
166 public const string DEFAULT;
167 [CCode (cheader_filename = "gnome-keyring.h", cname = "GNOME_KEYRING_SESSION")]
168 public const string SESSION;
169 [CCode (cheader_filename = "gnome-keyring.h")]
170 public static GLib.List<GnomeKeyring.AccessControl> acl_copy (GLib.List<GnomeKeyring.AccessControl> list);
171 [CCode (cheader_filename = "gnome-keyring.h")]
172 public static void cancel_request (void* request);
173 [CCode (cheader_filename = "gnome-keyring.h")]
174 public static void* change_password (string keyring, string? original, string? password, owned GnomeKeyring.OperationDoneCallback callback);
175 [CCode (cheader_filename = "gnome-keyring.h")]
176 public static GnomeKeyring.Result change_password_sync (string keyring, string? original, string? password);
177 [CCode (cheader_filename = "gnome-keyring.h")]
178 public static void* create (string keyring_name, string? password, owned GnomeKeyring.OperationDoneCallback callback);
179 [CCode (cheader_filename = "gnome-keyring.h")]
180 public static GnomeKeyring.Result create_sync (string keyring_name, string? password);
181 [CCode (cheader_filename = "gnome-keyring.h")]
182 public static GnomeKeyring.Result daemon_prepare_environment_sync ();
183 [CCode (cheader_filename = "gnome-keyring.h")]
184 public static GnomeKeyring.Result daemon_set_display_sync (string display);
185 [CCode (cheader_filename = "gnome-keyring.h")]
186 public static void* @delete (string keyring, GnomeKeyring.OperationDoneCallback callback, void* data, GLib.DestroyNotify destroy_data);
187 [CCode (cheader_filename = "gnome-keyring.h")]
188 public static void* delete_password (GnomeKeyring.PasswordSchema schema, owned GnomeKeyring.OperationDoneCallback callback, ...);
189 [CCode (cheader_filename = "gnome-keyring.h")]
190 public static GnomeKeyring.Result delete_password_sync (GnomeKeyring.PasswordSchema schema, ...);
191 [CCode (cheader_filename = "gnome-keyring.h")]
192 public static GnomeKeyring.Result delete_sync (string keyring);
193 [CCode (cheader_filename = "gnome-keyring.h")]
194 public static void* find_items (GnomeKeyring.ItemType type, GnomeKeyring.AttributeList attributes, owned GnomeKeyring.OperationGetListCallback callback);
195 [CCode (cheader_filename = "gnome-keyring.h")]
196 public static GnomeKeyring.Result find_items_sync (GnomeKeyring.ItemType type, GnomeKeyring.AttributeList attributes, out GLib.List<GnomeKeyring.Found> found);
197 [CCode (cheader_filename = "gnome-keyring.h")]
198 public static void* find_itemsv (GnomeKeyring.ItemType type, owned GnomeKeyring.OperationGetListCallback callback, ...);
199 [CCode (cheader_filename = "gnome-keyring.h")]
200 public static GnomeKeyring.Result find_itemsv_sync (GnomeKeyring.ItemType type, out GLib.List<GnomeKeyring.Found> found, ...);
201 [CCode (cheader_filename = "gnome-keyring.h")]
202 public static void* find_network_password (string? user, string? domain, string? server, string? object, string? protocol, string? authtype, uint32 port, owned GnomeKeyring.OperationGetListCallback callback);
203 [CCode (cheader_filename = "gnome-keyring.h")]
204 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);
205 [CCode (cheader_filename = "gnome-keyring.h")]
206 public static void* find_password (GnomeKeyring.PasswordSchema schema, owned GnomeKeyring.OperationGetStringCallback callback, ...);
207 [CCode (cheader_filename = "gnome-keyring.h")]
208 public static GnomeKeyring.Result find_password_sync (GnomeKeyring.PasswordSchema schema, out unowned string password, ...);
209 [CCode (cheader_filename = "gnome-keyring.h")]
210 public static void free_password (string password);
211 [CCode (cheader_filename = "gnome-keyring.h")]
212 public static void* get_default_keyring (owned GnomeKeyring.OperationGetStringCallback callback);
213 [CCode (cheader_filename = "gnome-keyring.h")]
214 public static GnomeKeyring.Result get_default_keyring_sync (out unowned string keyring);
215 [CCode (cheader_filename = "gnome-keyring.h")]
216 public static void* get_info (string? keyring, owned GnomeKeyring.OperationGetKeyringInfoCallback callback);
217 [CCode (cheader_filename = "gnome-keyring.h")]
218 public static GnomeKeyring.Result get_info_sync (string? keyring, out unowned GnomeKeyring.Info info);
219 [CCode (cheader_filename = "gnome-keyring.h")]
220 public static bool is_available ();
221 [CCode (cheader_filename = "gnome-keyring.h")]
222 public static GnomeKeyring.AccessType item_ac_get_access_type (GnomeKeyring.AccessControl ac);
223 [CCode (cheader_filename = "gnome-keyring.h")]
224 public static unowned string item_ac_get_display_name (GnomeKeyring.AccessControl ac);
225 [CCode (cheader_filename = "gnome-keyring.h")]
226 public static unowned string item_ac_get_path_name (GnomeKeyring.AccessControl ac);
227 [CCode (cheader_filename = "gnome-keyring.h")]
228 public static void item_ac_set_access_type (GnomeKeyring.AccessControl ac, GnomeKeyring.AccessType value);
229 [CCode (cheader_filename = "gnome-keyring.h")]
230 public static void item_ac_set_display_name (GnomeKeyring.AccessControl ac, string value);
231 [CCode (cheader_filename = "gnome-keyring.h")]
232 public static void item_ac_set_path_name (GnomeKeyring.AccessControl ac, string value);
233 [CCode (cheader_filename = "gnome-keyring.h")]
234 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);
235 [CCode (cheader_filename = "gnome-keyring.h")]
236 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);
237 [CCode (cheader_filename = "gnome-keyring.h")]
238 public static void* item_delete (string? keyring, uint32 id, owned GnomeKeyring.OperationDoneCallback callback);
239 [CCode (cheader_filename = "gnome-keyring.h")]
240 public static GnomeKeyring.Result item_delete_sync (string? keyring, uint32 id);
241 [CCode (cheader_filename = "gnome-keyring.h")]
242 public static void* item_get_acl (string? keyring, uint32 id, owned GnomeKeyring.OperationGetListCallback callback);
243 [CCode (cheader_filename = "gnome-keyring.h")]
244 public static GnomeKeyring.Result item_get_acl_sync (string? keyring, uint32 id, out GLib.List<GnomeKeyring.AccessControl> acl);
245 [CCode (cheader_filename = "gnome-keyring.h")]
246 public static void* item_get_attributes (string? keyring, uint32 id, owned GnomeKeyring.OperationGetAttributesCallback callback);
247 [CCode (cheader_filename = "gnome-keyring.h")]
248 public static GnomeKeyring.Result item_get_attributes_sync (string? keyring, uint32 id, out unowned GnomeKeyring.AttributeList attributes);
249 [CCode (cheader_filename = "gnome-keyring.h")]
250 public static void* item_get_info (string? keyring, uint32 id, owned GnomeKeyring.OperationGetItemInfoCallback callback);
251 [CCode (cheader_filename = "gnome-keyring.h")]
252 public static void* item_get_info_full (string? keyring, uint32 id, uint32 flags, owned GnomeKeyring.OperationGetItemInfoCallback callback);
253 [CCode (cheader_filename = "gnome-keyring.h")]
254 public static GnomeKeyring.Result item_get_info_full_sync (string? keyring, uint32 id, uint32 flags, out unowned GnomeKeyring.ItemInfo info);
255 [CCode (cheader_filename = "gnome-keyring.h")]
256 public static GnomeKeyring.Result item_get_info_sync (string keyring, uint32 id, out unowned GnomeKeyring.ItemInfo info);
257 [CCode (cheader_filename = "gnome-keyring.h")]
258 public static void* item_grant_access_rights (string? keyring, string display_name, string full_path, uint32 id, GnomeKeyring.AccessType rights, owned GnomeKeyring.OperationDoneCallback callback);
259 [CCode (cheader_filename = "gnome-keyring.h")]
260 public static GnomeKeyring.Result item_grant_access_rights_sync (string? keyring, string display_name, string full_path, uint32 id, GnomeKeyring.AccessType rights);
261 [CCode (cheader_filename = "gnome-keyring.h")]
262 public static void* item_set_acl (string? keyring, uint32 id, GLib.List<GnomeKeyring.AccessControl> acl, owned GnomeKeyring.OperationDoneCallback callback);
263 [CCode (cheader_filename = "gnome-keyring.h")]
264 public static GnomeKeyring.Result item_set_acl_sync (string? keyring, uint32 id, GLib.List<GnomeKeyring.AccessControl> acl);
265 [CCode (cheader_filename = "gnome-keyring.h")]
266 public static void* item_set_attributes (string? keyring, uint32 id, GnomeKeyring.AttributeList attributes, owned GnomeKeyring.OperationDoneCallback callback);
267 [CCode (cheader_filename = "gnome-keyring.h")]
268 public static GnomeKeyring.Result item_set_attributes_sync (string? keyring, uint32 id, GnomeKeyring.AttributeList attributes);
269 [CCode (cheader_filename = "gnome-keyring.h")]
270 public static void* item_set_info (string? keyring, uint32 id, GnomeKeyring.ItemInfo info, owned GnomeKeyring.OperationDoneCallback callback);
271 [CCode (cheader_filename = "gnome-keyring.h")]
272 public static GnomeKeyring.Result item_set_info_sync (string? keyring, uint32 id, GnomeKeyring.ItemInfo info);
273 [CCode (cheader_filename = "gnome-keyring.h")]
274 public static void* list_item_ids (string? keyring, owned GnomeKeyring.OperationGetListCallback callback);
275 [CCode (cheader_filename = "gnome-keyring.h")]
276 public static GnomeKeyring.Result list_item_ids_sync (string? keyring, out GLib.List<uint> ids);
277 [CCode (cheader_filename = "gnome-keyring.h")]
278 public static void* list_keyring_names (owned GnomeKeyring.OperationGetListCallback callback);
279 [CCode (cheader_filename = "gnome-keyring.h")]
280 public static GnomeKeyring.Result list_keyring_names_sync (out GLib.List<string> keyrings);
281 [CCode (cheader_filename = "gnome-keyring.h")]
282 public static void* @lock (string keyring, GnomeKeyring.OperationDoneCallback callback, void* data, GLib.DestroyNotify destroy_data);
283 [CCode (cheader_filename = "gnome-keyring.h")]
284 public static void* lock_all (owned GnomeKeyring.OperationDoneCallback callback);
285 [CCode (cheader_filename = "gnome-keyring.h")]
286 public static GnomeKeyring.Result lock_all_sync ();
287 [CCode (cheader_filename = "gnome-keyring.h")]
288 public static GnomeKeyring.Result lock_sync (string? keyring);
289 [CCode (cheader_filename = "gnome-keyring-memory.h")]
290 public static void* memory_alloc (ulong sz);
291 [CCode (cheader_filename = "gnome-keyring-memory.h")]
292 public static void memory_free (void* p);
293 [CCode (cheader_filename = "gnome-keyring-memory.h")]
294 public static bool memory_is_secure (void* p);
295 [CCode (cheader_filename = "gnome-keyring-memory.h")]
296 public static void* memory_realloc (void* p, ulong sz);
297 [CCode (cheader_filename = "gnome-keyring-memory.h")]
298 public static unowned string memory_strdup (string str);
299 [CCode (cheader_filename = "gnome-keyring-memory.h")]
300 public static void* memory_try_alloc (ulong sz);
301 [CCode (cheader_filename = "gnome-keyring-memory.h")]
302 public static void* memory_try_realloc (void* p, ulong sz);
303 [CCode (cheader_filename = "gnome-keyring.h")]
304 public static void network_password_free (GnomeKeyring.NetworkPasswordData data);
305 [CCode (cheader_filename = "gnome-keyring.h")]
306 public static unowned string result_to_message (GnomeKeyring.Result res);
307 [CCode (cheader_filename = "gnome-keyring.h")]
308 public static void* set_default_keyring (string keyring, owned GnomeKeyring.OperationDoneCallback callback);
309 [CCode (cheader_filename = "gnome-keyring.h")]
310 public static GnomeKeyring.Result set_default_keyring_sync (string keyring);
311 [CCode (cheader_filename = "gnome-keyring.h")]
312 public static void* set_info (string? keyring, GnomeKeyring.Info info, owned GnomeKeyring.OperationDoneCallback callback);
313 [CCode (cheader_filename = "gnome-keyring.h")]
314 public static GnomeKeyring.Result set_info_sync (string? keyring, GnomeKeyring.Info info);
315 [CCode (cheader_filename = "gnome-keyring.h")]
316 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);
317 [CCode (cheader_filename = "gnome-keyring.h")]
318 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);
319 [CCode (cheader_filename = "gnome-keyring.h")]
320 public static void* store_password (GnomeKeyring.PasswordSchema schema, string? keyring, string display_name, string password, owned GnomeKeyring.OperationDoneCallback callback, ...);
321 [CCode (cheader_filename = "gnome-keyring.h")]
322 public static GnomeKeyring.Result store_password_sync (GnomeKeyring.PasswordSchema schema, string? keyring, string display_name, string password, ...);
323 [CCode (cheader_filename = "gnome-keyring.h")]
324 public static void* unlock (string? keyring, string? password, owned GnomeKeyring.OperationDoneCallback callback);
325 [CCode (cheader_filename = "gnome-keyring.h")]
326 public static GnomeKeyring.Result unlock_sync (string? keyring, string? password);