libpurple/keyring.h

Fri, 06 Sep 2013 01:08:25 +0530

author
Ankit Vani <a@nevitus.org>
date
Fri, 06 Sep 2013 01:08:25 +0530
branch
soc.2013.gobjectification
changeset 34915
499ffff1e77c
parent 34819
727f35cfde65
child 35393
00f876b129bc
permissions
-rw-r--r--

Refactored mxit to use the GObject xfer API

33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
1 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
2 * @file keyring.h Keyring API
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
3 * @ingroup core
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
4 */
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
5
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
6 /* purple
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
7 *
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
10 * source distribution.
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
11 *
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
15 * (at your option) any later version.
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
16 *
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
20 * GNU General Public License for more details.
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
21 *
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
23 * along with this program; if not, write to the Free Software
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
25 */
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
26
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
27 #ifndef _PURPLE_KEYRING_H_
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
28 #define _PURPLE_KEYRING_H_
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
29
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
30 #include "account.h"
34185
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
31 #include "request.h"
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
32
34819
727f35cfde65 Added a boxed type for PurpleKeyring. Refactored keyring to use GType instead of PurpleValue.
Ankit Vani <a@nevitus.org>
parents: 34192
diff changeset
33 #define PURPLE_TYPE_KEYRING (purple_keyring_get_type())
727f35cfde65 Added a boxed type for PurpleKeyring. Refactored keyring to use GType instead of PurpleValue.
Ankit Vani <a@nevitus.org>
parents: 34192
diff changeset
34
33982
58a0de711782 Added support for the PURPLE_PLUGIN_FLAG_AUTOLOAD flag, corrected a few bugs and crashed. The compatibility plugin is automatically loaded at startup, and works nicely in compatibility mode (read_sync, write_sync, import, export). Also, I played unsuccessfully with makefiles, so i moved the keyring up one directory. I've finally gotten to the point where I run "make && sudo make install" every now and then.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33981
diff changeset
35 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
36 * Default keyring ID.
33982
58a0de711782 Added support for the PURPLE_PLUGIN_FLAG_AUTOLOAD flag, corrected a few bugs and crashed. The compatibility plugin is automatically loaded at startup, and works nicely in compatibility mode (read_sync, write_sync, import, export). Also, I played unsuccessfully with makefiles, so i moved the keyring up one directory. I've finally gotten to the point where I run "make && sudo make install" every now and then.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33981
diff changeset
37 */
34093
c8197603fa20 Use better keyring IDs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34047
diff changeset
38 #define PURPLE_DEFAULT_KEYRING "keyring-internal"
33982
58a0de711782 Added support for the PURPLE_PLUGIN_FLAG_AUTOLOAD flag, corrected a few bugs and crashed. The compatibility plugin is automatically loaded at startup, and works nicely in compatibility mode (read_sync, write_sync, import, export). Also, I played unsuccessfully with makefiles, so i moved the keyring up one directory. I've finally gotten to the point where I run "make && sudo make install" every now and then.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33981
diff changeset
39
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
40 /**
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
41 * Keyring subsystem error domain.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
42 */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
43 #define PURPLE_KEYRING_ERROR purple_keyring_error_domain()
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
44
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
45 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
46 /** @name Data structures and types */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
47 /**************************************************************************/
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
48 /*@{*/
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
49
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
50 typedef struct _PurpleKeyring PurpleKeyring;
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
51
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
52 /*@}*/
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
53
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
54 /**************************************************************************/
34156
4ca8c15ff344 A tiny typo
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34155
diff changeset
55 /** @name Callbacks for keyrings access functions */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
56 /**************************************************************************/
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
57 /*@{*/
33971
96eff57a4349 Fixed warnings
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33970
diff changeset
58
96eff57a4349 Fixed warnings
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33970
diff changeset
59 /**
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
60 * Callback for once a password is read.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
61 *
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
62 * If there was a problem, the password will be NULL, and the error set.
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
63 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
64 * @param account The account.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
65 * @param password The password.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
66 * @param error Error that may have occurred.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
67 * @param data Data passed to the callback.
33971
96eff57a4349 Fixed warnings
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33970
diff changeset
68 */
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
69 typedef void (*PurpleKeyringReadCallback)(PurpleAccount *account,
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
70 const gchar *password, GError *error, gpointer data);
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
71
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
72 /**
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
73 * Callback for once a password has been stored.
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
74 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
75 * If there was a problem, the error will be set.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
76 *
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
77 * @param account The account.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
78 * @param error Error that may have occurred.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
79 * @param data Data passed to the callback.
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
80 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
81 typedef void (*PurpleKeyringSaveCallback)(PurpleAccount *account, GError *error,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
82 gpointer data);
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
83
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
84 /**
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
85 * Callback for once the master password for a keyring has been changed.
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
86 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
87 * @param error Error that has occurred.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
88 * @param data Data passed to the callback.
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
89 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
90 typedef void (*PurpleKeyringChangeMasterCallback)(GError *error, gpointer data);
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
91
33978
2c649fae664e Final version of the API, corrected, cleaned, and documented.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33976
diff changeset
92 /**
2c649fae664e Final version of the API, corrected, cleaned, and documented.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33976
diff changeset
93 * Callback for when we change the keyring.
2c649fae664e Final version of the API, corrected, cleaned, and documented.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33976
diff changeset
94 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
95 * @param error An error that might have occurred.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
96 * @param data A pointer to user supplied data.
33978
2c649fae664e Final version of the API, corrected, cleaned, and documented.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33976
diff changeset
97 */
34163
3dfcc838b66b keyring.c refactoring: purple_keyring_set_inuse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34159
diff changeset
98 typedef void (*PurpleKeyringSetInUseCallback)(GError *error, gpointer data);
33978
2c649fae664e Final version of the API, corrected, cleaned, and documented.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33976
diff changeset
99
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
100 /*@}*/
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
101
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
102 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
103 /** @name Keyrings access functions */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
104 /**************************************************************************/
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
105 /*@{*/
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
106
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
107 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
108 * Read the password for an account.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
109 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
110 * @param account The account.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
111 * @param cb A callback for once the password is found.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
112 * @param data Data to be passed to the callback.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
113 */
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
114 typedef void (*PurpleKeyringRead)(PurpleAccount *account,
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
115 PurpleKeyringReadCallback cb, gpointer data);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
116
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
117 /**
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
118 * Store a password in the keyring.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
119 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
120 * @param account The account.
34041
75204e58b8ca Fix const-ness of strings, and silly strdups.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34036
diff changeset
121 * @param password The password to be stored. If the password is NULL, this
75204e58b8ca Fix const-ness of strings, and silly strdups.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34036
diff changeset
122 * means that the keyring should forget about that password.
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
123 * @param cb A callback for once the password is saved.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
124 * @param data Data to be passed to the callback.
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
125 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
126 typedef void (*PurpleKeyringSave)(PurpleAccount *account, const gchar *password,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
127 PurpleKeyringSaveCallback cb, gpointer data);
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
128
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
129 /**
34138
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
130 * Cancel all running requests.
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
131 *
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
132 * After calling that, all queued requests should run their callbacks (most
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
133 * probably, with failure result).
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
134 */
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
135 typedef void (*PurpleKeyringCancelRequests)(void);
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
136
2bda8642afa3 Early cancelling password requests before quitting
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34127
diff changeset
137 /**
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
138 * Close the keyring.
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
139 *
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
140 * This will be called so the keyring can do any cleanup it needs.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
141 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
142 typedef void (*PurpleKeyringClose)(void);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
143
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
144 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
145 * Import serialized (and maybe encrypted) password.
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
146 *
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
147 * This is not async because it is not meant to prompt for a master password and
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
148 * decrypt passwords.
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
149 *
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
150 * @param account The account.
34041
75204e58b8ca Fix const-ness of strings, and silly strdups.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34036
diff changeset
151 * @param mode A keyring specific option that was stored. Can be NULL.
75204e58b8ca Fix const-ness of strings, and silly strdups.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34036
diff changeset
152 * @param data Data that was stored. Can be NULL.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
153 *
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
154 * @return TRUE on success, FALSE on failure.
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
155 */
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
156 typedef gboolean (*PurpleKeyringImportPassword)(PurpleAccount *account,
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
157 const gchar *mode, const gchar *data, GError **error);
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
158
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
159 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
160 * Export serialized (and maybe encrypted) password.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
161 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
162 * @param account The account.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
163 * @param mode An option field that can be used by the plugin. This is
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
164 * expected to be a static string.
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
165 * @param data The data to be stored in the XML node. This string will be
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
166 * freed using destroy() once not needed anymore.
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
167 * @param error Will be set if a problem occured.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
168 * @param destroy A function to be called, if non NULL, to free data.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
169 *
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
170 * @return TRUE on success, FALSE on failure.
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
171 */
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
172 typedef gboolean (*PurpleKeyringExportPassword)(PurpleAccount *account,
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
173 const gchar **mode, gchar **data, GError **error,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
174 GDestroyNotify *destroy);
33965
bd73051d75eb started writing a header file and some ideas for the API
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents:
diff changeset
175
34192
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
176 /**
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
177 * Read keyring settings.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
178 *
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
179 * @return New copy of current settings (must be free'd with
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
180 * purple_request_fields_destroy).
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
181 */
34185
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
182 typedef PurpleRequestFields * (*PurpleKeyringReadSettings)(void);
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
183
34192
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
184 /**
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
185 * Applies modified keyring settings.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
186 *
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
187 * @param notify_handle A handle that can be passed to purple_notify_message.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
188 * @param fields Modified settings (originally taken from
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
189 * PurpleKeyringReadSettings).
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
190 * @return TRUE, if succeeded, FALSE otherwise.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
191 */
34188
0680f2c10db3 Validation for internal keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34185
diff changeset
192 typedef gboolean (*PurpleKeyringApplySettings)(void *notify_handle,
0680f2c10db3 Validation for internal keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34185
diff changeset
193 PurpleRequestFields *fields);
34185
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
194
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
195 /*@}*/
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
196
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
197 G_BEGIN_DECLS
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
198
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
199 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
200 /** @name Setting used keyrings */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
201 /**************************************************************************/
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
202 /*@{*/
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
203
33987
9beebdbf44d6 Fixed many bugs and crashes in the keyring subsystem.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33984
diff changeset
204 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
205 * Find a keyring by an id.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
206 *
33987
9beebdbf44d6 Fixed many bugs and crashes in the keyring subsystem.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33984
diff changeset
207 * @param id The id for the keyring.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
208 *
33987
9beebdbf44d6 Fixed many bugs and crashes in the keyring subsystem.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33984
diff changeset
209 * @return The keyring, or NULL if not found.
9beebdbf44d6 Fixed many bugs and crashes in the keyring subsystem.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33984
diff changeset
210 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
211 PurpleKeyring *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
212 purple_keyring_find_keyring_by_id(const gchar *id);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
213
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
214 /**
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
215 * Get the keyring being used.
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
216 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
217 PurpleKeyring *
33981
8c8fe2e5bbcd dded import/export in account.c, new version of internalkeyring.c, and added stuff to makefiles.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33978
diff changeset
218 purple_keyring_get_inuse(void);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
219
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
220 /**
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
221 * Set the keyring to use. This function will move all passwords from
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
222 * the old keyring to the new one.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
223 *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
224 * If it fails, it will cancel all changes, close the new keyring, and notify
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
225 * the callback. If it succeeds, it will remove all passwords from the old safe
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
226 * and close that safe.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
227 *
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
228 * @param newkeyring The new keyring to use.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
229 * @param force FALSE if the change can be cancelled. If this is TRUE and
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
230 * an error occurs, data might be lost.
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
231 * @param cb A callback for once the change is complete.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
232 * @param data Data to be passed to the callback.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
233 */
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
234 void
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
235 purple_keyring_set_inuse(PurpleKeyring *newkeyring, gboolean force,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
236 PurpleKeyringSetInUseCallback cb, gpointer data);
33978
2c649fae664e Final version of the API, corrected, cleaned, and documented.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33976
diff changeset
237
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
238 /**
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
239 * Register a keyring plugin.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
240 *
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
241 * @param keyring The keyring to register.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
242 */
34033
910f2ed3988b Remove trailing whitespace.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34029
diff changeset
243 void
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
244 purple_keyring_register(PurpleKeyring *keyring);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
245
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
246 /**
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
247 * Unregister a keyring plugin.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
248 *
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
249 * In case the keyring is in use, passwords will be moved to a fallback safe,
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
250 * and the keyring to unregister will be properly closed.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
251 *
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
252 * @param keyring The keyring to unregister.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
253 */
34033
910f2ed3988b Remove trailing whitespace.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34029
diff changeset
254 void
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
255 purple_keyring_unregister(PurpleKeyring *keyring);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
256
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
257 /**
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
258 * Returns a GList containing the IDs and names of the registered
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
259 * keyrings.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
260 *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
261 * @return The list of IDs and names.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
262 */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
263 GList *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
264 purple_keyring_get_options(void);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
265
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
266 /*@}*/
33971
96eff57a4349 Fixed warnings
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33970
diff changeset
267
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
268 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
269 /** @name Keyring plugin wrappers */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
270 /**************************************************************************/
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
271 /*@{*/
33968
ca1e1985b5f2 update on keyring code
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33967
diff changeset
272
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
273 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
274 * Import serialized (and maybe encrypted) password into current keyring.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
275 *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
276 * It's used by account.c while reading a password from xml.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
277 *
34157
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
278 * @param account The account.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
279 * @param keyring_id The plugin ID that was stored in the xml file. Can be NULL.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
280 * @param mode A keyring specific option that was stored. Can be NULL.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
281 * @param data Data that was stored, can be NULL.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
282 *
33981
8c8fe2e5bbcd dded import/export in account.c, new version of internalkeyring.c, and added stuff to makefiles.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33978
diff changeset
283 * @return TRUE if the input was accepted, FALSE otherwise.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
284 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
285 gboolean
34157
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
286 purple_keyring_import_password(PurpleAccount *account, const gchar *keyring_id,
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
287 const gchar *mode, const gchar *data, GError **error);
33967
9fac87349244 wrote more of the API and plaintext plugin. commit so i can revert, non-working code.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33966
diff changeset
288
9fac87349244 wrote more of the API and plaintext plugin. commit so i can revert, non-working code.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33966
diff changeset
289 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
290 * Export serialized (and maybe encrypted) password out of current keyring.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
291 *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
292 * It's used by account.c while syncing accounts to xml.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
293 *
34157
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
294 * @param account The account for which we want the info.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
295 * @param keyring_id The plugin id to be stored in the XML node. This will be
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
296 * NULL or a string that can be considered static.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
297 * @param mode An option field that can be used by the plugin. This will
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
298 * be NULL or a string that can be considered static.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
299 * @param data The data to be stored in the XML node. This string must be
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
300 * freed using destroy() once not needed anymore if it is not
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
301 * NULL.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
302 * @param error Will be set if a problem occured.
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
303 * @param destroy A function to be called, if non NULL, to free data.
34034
f508fa47f2ac Reformat many things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34033
diff changeset
304 *
33981
8c8fe2e5bbcd dded import/export in account.c, new version of internalkeyring.c, and added stuff to makefiles.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33978
diff changeset
305 * @return TRUE if the info was exported successfully, FALSE otherwise.
33967
9fac87349244 wrote more of the API and plaintext plugin. commit so i can revert, non-working code.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33966
diff changeset
306 */
33981
8c8fe2e5bbcd dded import/export in account.c, new version of internalkeyring.c, and added stuff to makefiles.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33978
diff changeset
307 gboolean
34157
c67266e97d75 Don't drop exported passwords, when keyring plugin is not loadable
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34156
diff changeset
308 purple_keyring_export_password(PurpleAccount *account, const gchar **keyring_id,
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
309 const gchar **mode, gchar **data, GError **error,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
310 GDestroyNotify *destroy);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
311
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
312 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
313 * Read a password from the current keyring.
34028
a3050b6df38e Remove deprecated API since we're targeting 3.0.0 here. Don't mind the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34013
diff changeset
314 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
315 * @param account The account.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
316 * @param cb A callback for once the password is read.
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
317 * @param data Data passed to the callback.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
318 */
34033
910f2ed3988b Remove trailing whitespace.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34029
diff changeset
319 void
34028
a3050b6df38e Remove deprecated API since we're targeting 3.0.0 here. Don't mind the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34013
diff changeset
320 purple_keyring_get_password(PurpleAccount *account,
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
321 PurpleKeyringReadCallback cb, gpointer data);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
322
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
323 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
324 * Save a password to the current keyring.
34028
a3050b6df38e Remove deprecated API since we're targeting 3.0.0 here. Don't mind the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34013
diff changeset
325 *
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
326 * @param account The account.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
327 * @param password The password to save.
34028
a3050b6df38e Remove deprecated API since we're targeting 3.0.0 here. Don't mind the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34013
diff changeset
328 * @param cb A callback for once the password is saved.
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
329 * @param data Data to be passed to the callback.
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
330 */
34033
910f2ed3988b Remove trailing whitespace.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34029
diff changeset
331 void
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
332 purple_keyring_set_password(PurpleAccount *account, const gchar *password,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
333 PurpleKeyringSaveCallback cb, gpointer data);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
334
34192
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
335 /**
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
336 * Reads settings from current keyring.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
337 *
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
338 * @return New copy of current settings (must be free'd with
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
339 * purple_request_fields_destroy).
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
340 */
34185
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
341 PurpleRequestFields *
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
342 purple_keyring_read_settings(void);
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
343
34192
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
344 /**
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
345 * Applies modified settings to current keyring.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
346 *
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
347 * @param notify_handle A handle that can be passed to purple_notify_message.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
348 * @param fields Modified settings (originally taken from
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
349 * PurpleKeyringReadSettings).
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
350 * @return TRUE, if succeeded, FALSE otherwise.
311304585994 Fill documentation
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34188
diff changeset
351 */
34185
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
352 gboolean
34188
0680f2c10db3 Validation for internal keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34185
diff changeset
353 purple_keyring_apply_settings(void *notify_handle, PurpleRequestFields *fields);
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
354
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
355 /*@}*/
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
356
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
357 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
358 /** @name PurpleKeyring accessors */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
359 /**************************************************************************/
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
360 /*@{*/
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
361
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
362 /**
34819
727f35cfde65 Added a boxed type for PurpleKeyring. Refactored keyring to use GType instead of PurpleValue.
Ankit Vani <a@nevitus.org>
parents: 34192
diff changeset
363 * Returns the GType for the PurpleKeyring boxed structure.
727f35cfde65 Added a boxed type for PurpleKeyring. Refactored keyring to use GType instead of PurpleValue.
Ankit Vani <a@nevitus.org>
parents: 34192
diff changeset
364 */
727f35cfde65 Added a boxed type for PurpleKeyring. Refactored keyring to use GType instead of PurpleValue.
Ankit Vani <a@nevitus.org>
parents: 34192
diff changeset
365 GType purple_keyring_get_type(void);
727f35cfde65 Added a boxed type for PurpleKeyring. Refactored keyring to use GType instead of PurpleValue.
Ankit Vani <a@nevitus.org>
parents: 34192
diff changeset
366
727f35cfde65 Added a boxed type for PurpleKeyring. Refactored keyring to use GType instead of PurpleValue.
Ankit Vani <a@nevitus.org>
parents: 34192
diff changeset
367 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
368 * Creates a new keyring wrapper.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
369 */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
370 PurpleKeyring *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
371 purple_keyring_new(void);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
372
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
373 /**
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
374 * Frees all data allocated with purple_keyring_new.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
375 *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
376 * @param keyring Keyring wrapper struct.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
377 */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
378 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
379 purple_keyring_free(PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
380
34158
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
381 /**
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
382 * Gets friendly user name.
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
383 *
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
384 * @param keyring The keyring.
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
385 * @return Friendly user name.
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
386 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
387 const gchar *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
388 purple_keyring_get_name(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
389
34158
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
390 /**
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
391 * Gets keyring ID.
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
392 *
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
393 * @param keyring The keyring.
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
394 * @return Keyring ID.
166870f3adf8 keyring.c refactoring - internal structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34157
diff changeset
395 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
396 const gchar *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
397 purple_keyring_get_id(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
398
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
399 PurpleKeyringRead
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
400 purple_keyring_get_read_password(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
401
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
402 PurpleKeyringSave
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
403 purple_keyring_get_save_password(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
404
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
405 PurpleKeyringCancelRequests
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
406 purple_keyring_get_cancel_requests(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
407
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
408 PurpleKeyringClose
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
409 purple_keyring_get_close_keyring(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
410
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
411 PurpleKeyringImportPassword
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
412 purple_keyring_get_import_password(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
413
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
414 PurpleKeyringExportPassword
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
415 purple_keyring_get_export_password(const PurpleKeyring *keyring);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
416
34185
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
417 PurpleKeyringReadSettings
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
418 purple_keyring_get_read_settings(const PurpleKeyring *keyring);
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
419
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
420 PurpleKeyringApplySettings
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
421 purple_keyring_get_apply_settings(const PurpleKeyring *keyring);
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
422
34166
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
423 /**
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
424 * Sets friendly user name.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
425 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
426 * This field is required.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
427 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
428 * @param keyring The keyring.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
429 * @param name Friendly user name.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
430 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
431 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
432 purple_keyring_set_name(PurpleKeyring *keyring, const gchar *name);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
433
34166
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
434 /**
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
435 * Sets keyring ID.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
436 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
437 * This field is required.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
438 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
439 * @param keyring The keyring.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
440 * @param name Keyring ID.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
441 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
442 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
443 purple_keyring_set_id(PurpleKeyring *keyring, const gchar *id);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
444
34166
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
445 /**
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
446 * Sets read password method.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
447 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
448 * This field is required.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
449 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
450 * @param keyring The keyring.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
451 * @param read_cb Read password method.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
452 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
453 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
454 purple_keyring_set_read_password(PurpleKeyring *keyring,
34159
c47b85d03439 keyring.c refactoring - order up function implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34158
diff changeset
455 PurpleKeyringRead read_cb);
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
456
34166
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
457 /**
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
458 * Sets save password method.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
459 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
460 * This field is required.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
461 *
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
462 * @param keyring The keyring.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
463 * @param save_cb Save password method.
8be287b0d6be keyring.c refactoring: registering, unregistering
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34163
diff changeset
464 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
465 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
466 purple_keyring_set_save_password(PurpleKeyring *keyring,
34159
c47b85d03439 keyring.c refactoring - order up function implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34158
diff changeset
467 PurpleKeyringSave save_cb);
33967
9fac87349244 wrote more of the API and plaintext plugin. commit so i can revert, non-working code.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33966
diff changeset
468
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
469 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
470 purple_keyring_set_cancel_requests(PurpleKeyring *keyring,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
471 PurpleKeyringCancelRequests cancel_requests);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
472
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
473 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
474 purple_keyring_set_close_keyring(PurpleKeyring *keyring,
34159
c47b85d03439 keyring.c refactoring - order up function implementations
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34158
diff changeset
475 PurpleKeyringClose close_cb);
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
476
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
477 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
478 purple_keyring_set_import_password(PurpleKeyring *keyring,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
479 PurpleKeyringImportPassword import_password);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
480
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
481 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
482 purple_keyring_set_export_password(PurpleKeyring *keyring,
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
483 PurpleKeyringExportPassword export_password);
33967
9fac87349244 wrote more of the API and plaintext plugin. commit so i can revert, non-working code.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33966
diff changeset
484
34185
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
485 void
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
486 purple_keyring_set_read_settings(PurpleKeyring *keyring,
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
487 PurpleKeyringReadSettings read_settings);
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
488
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
489 void
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
490 purple_keyring_set_apply_settings(PurpleKeyring *keyring,
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
491 PurpleKeyringApplySettings apply_settings);
cb2fe6b04447 Initial support for keyring settings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34166
diff changeset
492
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
493 /*@}*/
33966
09490ce8a695 updated the internal keyring plugin, added a few comments in libpurple for future reference.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33965
diff changeset
494
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
495 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
496 /** @name Error Codes */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
497 /**************************************************************************/
33976
ff88d1340abe Cleaned up keyring.h, updating it to the latest API ideas. Minor changes in other files. Also wrote doxygen documentation for most of the functions in keyring.h.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33973
diff changeset
498 /*@{*/
33966
09490ce8a695 updated the internal keyring plugin, added a few comments in libpurple for future reference.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33965
diff changeset
499
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
500 /**
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
501 * Gets keyring subsystem error domain.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
502 *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
503 * @return keyring subsystem error domain.
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
504 */
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
505 GQuark
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
506 purple_keyring_error_domain(void);
33966
09490ce8a695 updated the internal keyring plugin, added a few comments in libpurple for future reference.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33965
diff changeset
507
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
508 /**
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
509 * Error codes for keyring subsystem.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
510 */
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
511 enum PurpleKeyringError
33967
9fac87349244 wrote more of the API and plaintext plugin. commit so i can revert, non-working code.
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33966
diff changeset
512 {
34154
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
513 PURPLE_KEYRING_ERROR_UNKNOWN = 0, /**< Unknown error. */
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
514
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
515 PURPLE_KEYRING_ERROR_NOKEYRING = 10, /**< No keyring configured. */
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
516 PURPLE_KEYRING_ERROR_INTERNAL, /**< Internal keyring system error. */
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
517 PURPLE_KEYRING_ERROR_BACKENDFAIL, /**< Failed to communicate with the backend or internal backend error. */
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
518
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
519 PURPLE_KEYRING_ERROR_NOPASSWORD = 20, /**< No password stored for the specified account. */
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
520 PURPLE_KEYRING_ERROR_ACCESSDENIED, /**< Access denied for the specified keyring or entry. */
857c361d3791 Refine keyring error coded
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34143
diff changeset
521 PURPLE_KEYRING_ERROR_CANCELLED /**< Operation was cancelled. */
33973
b193c0e9044b Fixed problem in async purple_peyring_set_inuse()
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33972
diff changeset
522 };
33968
ca1e1985b5f2 update on keyring code
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33967
diff changeset
523
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
524 /*}@*/
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
525
34155
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
526 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
527 /** @name Keyring Subsystem */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
528 /**************************************************************************/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
529 /*@{*/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
530
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
531 /**
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
532 * Initializes the keyring subsystem.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
533 */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
534 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
535 purple_keyring_init(void);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
536
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
537 /**
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
538 * Uninitializes the keyring subsystem.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
539 */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
540 void
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
541 purple_keyring_uninit(void);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
542
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
543 /**
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
544 * Returns the keyring subsystem handle.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
545 *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
546 * @return The keyring subsystem handle.
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
547 */
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
548 void *
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
549 purple_keyring_get_handle(void);
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
550
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
551 /*}@*/
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
552
567c48f9658c Refactor the keyring API
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34154
diff changeset
553 G_END_DECLS
34044
0a176fe8b867 Clean up comments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 34042
diff changeset
554
33968
ca1e1985b5f2 update on keyring code
Vivien Bernet-Rollande <scrouaf@soc.pidgin.im>
parents: 33967
diff changeset
555 #endif /* _PURPLE_KEYRING_H_ */

mercurial