1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
<title>McpAccountStorage</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
<link rel="home" href="index.html" title="Mission Control Plugins Reference Manual">
8
<link rel="up" href="ch02.html" title="Account storage">
9
<link rel="prev" href="ch02.html" title="Account storage">
10
<link rel="next" href="mission-control-plugins-account.html" title="account">
11
<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17
<td><a accesskey="p" href="ch02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
<th width="100%" align="center">Mission Control Plugins Reference Manual</th>
21
<td><a accesskey="n" href="mission-control-plugins-account.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23
<tr><td colspan="5" class="shortcuts">
24
<a href="#McpAccountStorage.synopsis" class="shortcut">Top</a>
26
<a href="#McpAccountStorage.description" class="shortcut">Description</a>
28
<a href="#McpAccountStorage.object-hierarchy" class="shortcut">Object Hierarchy</a>
30
<a href="#McpAccountStorage.prerequisites" class="shortcut">Prerequisites</a>
32
<a href="#McpAccountStorage.signals" class="shortcut">Signals</a>
35
<div class="refentry" title="McpAccountStorage">
36
<a name="McpAccountStorage"></a><div class="titlepage"></div>
37
<div class="refnamediv"><table width="100%"><tr>
39
<h2><span class="refentrytitle"><a name="McpAccountStorage.top_of_page"></a>McpAccountStorage</span></h2>
40
<p>McpAccountStorage — Account Storage object, implemented by plugins</p>
42
<td valign="top" align="right"></td>
44
<div class="refsynopsisdiv" title="Synopsis">
45
<a name="McpAccountStorage.synopsis"></a><h2>Synopsis</h2>
46
<pre class="synopsis">
47
#include <mission-control-plugins/account-storage.h>
49
#define <a class="link" href="McpAccountStorage.html#MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-READONLY:CAPS" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_READONLY">MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_READONLY</a>
50
#define <a class="link" href="McpAccountStorage.html#MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-DEFAULT:CAPS" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_DEFAULT">MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_DEFAULT</a>
51
#define <a class="link" href="McpAccountStorage.html#MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-NORMAL:CAPS" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_NORMAL">MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_NORMAL</a>
52
#define <a class="link" href="McpAccountStorage.html#MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-KEYRING:CAPS" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING">MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING</a>
53
<a class="link" href="McpAccountStorage.html#McpAccountStorage-struct" title="McpAccountStorage">McpAccountStorage</a>;
54
<a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface">McpAccountStorageIface</a>;
55
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-set-priority" title="mcp_account_storage_iface_set_priority ()">mcp_account_storage_iface_set_priority</a>
56
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
57
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> prio</code></em>);
58
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-set-name" title="mcp_account_storage_iface_set_name ()">mcp_account_storage_iface_set_name</a> (<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
59
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
60
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-set-desc" title="mcp_account_storage_iface_set_desc ()">mcp_account_storage_iface_set_desc</a> (<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
61
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *desc</code></em>);
62
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-implement-get" title="mcp_account_storage_iface_implement_get ()">mcp_account_storage_iface_implement_get</a>
63
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
64
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (method const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *) ()</code></em>);
65
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-implement-set" title="mcp_account_storage_iface_implement_set ()">mcp_account_storage_iface_implement_set</a>
66
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
67
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (method const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *) ()</code></em>);
68
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-implement-delete" title="mcp_account_storage_iface_implement_delete ()">mcp_account_storage_iface_implement_delete</a>
69
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
70
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (method const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *) ()</code></em>);
71
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-implement-list" title="mcp_account_storage_iface_implement_list ()">mcp_account_storage_iface_implement_list</a>
72
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
73
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>* (method const McpAccountStorage *, const McpAccountManager *) ()</code></em>);
74
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-implement-commit" title="mcp_account_storage_iface_implement_commit ()">mcp_account_storage_iface_implement_commit</a>
75
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
76
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (methodconst McpAccountStorage *, const McpAccountManager *am) ()</code></em>);
77
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-iface-implement-ready" title="mcp_account_storage_iface_implement_ready ()">mcp_account_storage_iface_implement_ready</a>
78
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
79
<em class="parameter"><code><span class="type">void</span> (method const McpAccountStorage *storage, const McpAccountManager *am) ()</code></em>);
80
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="McpAccountStorage.html#mcp-account-storage-priority" title="mcp_account_storage_priority ()">mcp_account_storage_priority</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>);
81
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="McpAccountStorage.html#mcp-account-storage-get" title="mcp_account_storage_get ()">mcp_account_storage_get</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
82
<em class="parameter"><code><a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>,
83
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *acct</code></em>,
84
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
85
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="McpAccountStorage.html#mcp-account-storage-set" title="mcp_account_storage_set ()">mcp_account_storage_set</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
86
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>,
87
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *acct</code></em>,
88
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
89
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *val</code></em>);
90
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="McpAccountStorage.html#mcp-account-storage-delete" title="mcp_account_storage_delete ()">mcp_account_storage_delete</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
91
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>,
92
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *acct</code></em>,
93
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
94
<span class="returnvalue">void</span> <a class="link" href="McpAccountStorage.html#mcp-account-storage-ready" title="mcp_account_storage_ready ()">mcp_account_storage_ready</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
95
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>);
96
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="McpAccountStorage.html#mcp-account-storage-commit" title="mcp_account_storage_commit ()">mcp_account_storage_commit</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
97
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>);
98
<a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="McpAccountStorage.html#mcp-account-storage-list" title="mcp_account_storage_list ()">mcp_account_storage_list</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
99
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>);
100
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="McpAccountStorage.html#mcp-account-storage-name" title="mcp_account_storage_name ()">mcp_account_storage_name</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>);
101
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="McpAccountStorage.html#mcp-account-storage-description" title="mcp_account_storage_description ()">mcp_account_storage_description</a> (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>);
104
<div class="refsect1" title="Object Hierarchy">
105
<a name="McpAccountStorage.object-hierarchy"></a><h2>Object Hierarchy</h2>
106
<pre class="synopsis">
108
+----McpAccountStorage
111
<div class="refsect1" title="Prerequisites">
112
<a name="McpAccountStorage.prerequisites"></a><h2>Prerequisites</h2>
114
McpAccountStorage requires
115
<a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>.</p>
117
<div class="refsect1" title="Signals">
118
<a name="McpAccountStorage.signals"></a><h2>Signals</h2>
119
<pre class="synopsis">
120
"<a class="link" href="McpAccountStorage.html#McpAccountStorage-altered" title='The "altered" signal'>altered</a>" : Run Last
121
"<a class="link" href="McpAccountStorage.html#McpAccountStorage-created" title='The "created" signal'>created</a>" : Run Last
122
"<a class="link" href="McpAccountStorage.html#McpAccountStorage-deleted" title='The "deleted" signal'>deleted</a>" : Run Last
123
"<a class="link" href="McpAccountStorage.html#McpAccountStorage-toggled" title='The "toggled" signal'>toggled</a>" : Run Last
126
<div class="refsect1" title="Description">
127
<a name="McpAccountStorage.description"></a><h2>Description</h2>
129
Plugins may implement <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> in order to provide account
130
parameter storage backends to the AccountManager object.
133
To do so, the plugin must implement a <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subclass that implements
134
<a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a>, then return an instance of that subclass from
135
<a class="link" href="mission-control-plugins-loader.html#mcp-plugin-ref-nth-object" title="mcp_plugin_ref_nth_object ()"><code class="function">mcp_plugin_ref_nth_object()</code></a>.
138
The contents of the <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> struct are not public,
139
so to provide an implementation of the virtual methods,
140
plugins should call mcp_account_operation_iface_implement_*()
141
from the interface initialization function, like this:
145
<div class="example">
146
<a name="id650884"></a><p class="title"><b>Example 1. </b></p>
147
<div class="example-contents">
148
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
151
<td class="listing_lines" align="right"><pre>1
172
<td class="listing_code"><pre class="programlisting"><span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-DEFINE-TYPE-WITH-CODE:CAPS">G_DEFINE_TYPE_WITH_CODE</a></span> <span class="symbol">(</span>APlugin<span class="symbol">,</span> a_plugin<span class="symbol">,</span>
173
G_TYPE_OBJECT<span class="symbol">,</span>
174
<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="symbol">(...);</span>
175
<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="symbol">(</span>MCP_TYPE_ACCOUNT_STORAGE<span class="symbol">,</span>
176
account_storage_iface_init<span class="symbol">));</span>
177
<span class="comment">/* ... */</span>
178
<span class="gtkdoc kwb">static void</span>
179
<span class="function">account_storage_iface_init</span> <span class="symbol">(</span>McpAccountStorageIface <span class="symbol">*</span>iface<span class="symbol">,</span>
180
gpointer unused G_GNUC_UNUSED<span class="symbol">)</span>
181
<span class="symbol">{</span>
182
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-set-priority">mcp_account_storage_iface_set_priority</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> <span class="number">0</span><span class="symbol">);</span>
183
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-set-name">mcp_account_storage_iface_set_name</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> <span class="string">"foo"</span><span class="symbol">)</span>
184
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-set-desc">mcp_account_storage_iface_set_desc</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> <span class="string">"The FOO storage backend"</span><span class="symbol">);</span>
185
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-implement-get">mcp_account_storage_iface_implement_get</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> _plugin_getval<span class="symbol">);</span>
186
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-implement-set">mcp_account_storage_iface_implement_set</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> _plugin_setval<span class="symbol">);</span>
187
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-implement-delete">mcp_account_storage_iface_implement_delete</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> _plugin_delete<span class="symbol">);</span>
188
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-implement-commit">mcp_account_storage_iface_implement_commit</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> _plugin_commit<span class="symbol">);</span>
189
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-implement-list">mcp_account_storage_iface_implement_list</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> _plugin_list<span class="symbol">);</span>
190
<span class="function"><a href="McpAccountStorage.html#mcp-account-storage-iface-implement-ready">mcp_account_storage_iface_implement_ready</a></span> <span class="symbol">(</span>iface<span class="symbol">,</span> _plugin_ready<span class="symbol">);</span>
191
<span class="comment">/* ... */</span>
192
<span class="symbol">}</span></pre></td>
199
<p><br class="example-break">
202
A single object can implement more than one interface; It is currently
203
unlikely that you would find it useful to implement anything other than
204
an account storage plugin in an account storage object, though.
207
<div class="refsect1" title="Details">
208
<a name="McpAccountStorage.details"></a><h2>Details</h2>
209
<div class="refsect2" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_READONLY">
210
<a name="MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-READONLY:CAPS"></a><h3>MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_READONLY</h3>
211
<pre class="programlisting">#define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_READONLY -1
217
<div class="refsect2" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_DEFAULT">
218
<a name="MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-DEFAULT:CAPS"></a><h3>MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_DEFAULT</h3>
219
<pre class="programlisting">#define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_DEFAULT 0
225
<div class="refsect2" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_NORMAL">
226
<a name="MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-NORMAL:CAPS"></a><h3>MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_NORMAL</h3>
227
<pre class="programlisting">#define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_NORMAL 100
233
<div class="refsect2" title="MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING">
234
<a name="MCP-ACCOUNT-STORAGE-PLUGIN-PRIO-KEYRING:CAPS"></a><h3>MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING</h3>
235
<pre class="programlisting">#define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING 10000
241
<div class="refsect2" title="McpAccountStorage">
242
<a name="McpAccountStorage-struct"></a><h3>McpAccountStorage</h3>
243
<pre class="programlisting">typedef struct _McpAccountStorage McpAccountStorage;</pre>
248
<div class="refsect2" title="McpAccountStorageIface">
249
<a name="McpAccountStorageIface"></a><h3>McpAccountStorageIface</h3>
250
<pre class="programlisting">typedef struct _McpAccountStorageIface McpAccountStorageIface;</pre>
255
<div class="refsect2" title="mcp_account_storage_iface_set_priority ()">
256
<a name="mcp-account-storage-iface-set-priority"></a><h3>mcp_account_storage_iface_set_priority ()</h3>
257
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_set_priority
258
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
259
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> prio</code></em>);</pre>
262
<div class="variablelist"><table border="0">
263
<col align="left" valign="top">
266
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
271
<td><p><span class="term"><em class="parameter"><code>prio</code></em> :</span></p></td>
279
<div class="refsect2" title="mcp_account_storage_iface_set_name ()">
280
<a name="mcp-account-storage-iface-set-name"></a><h3>mcp_account_storage_iface_set_name ()</h3>
281
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_set_name (<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
282
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
285
<div class="variablelist"><table border="0">
286
<col align="left" valign="top">
289
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
294
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
302
<div class="refsect2" title="mcp_account_storage_iface_set_desc ()">
303
<a name="mcp-account-storage-iface-set-desc"></a><h3>mcp_account_storage_iface_set_desc ()</h3>
304
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_set_desc (<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
305
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *desc</code></em>);</pre>
308
<div class="variablelist"><table border="0">
309
<col align="left" valign="top">
312
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
317
<td><p><span class="term"><em class="parameter"><code>desc</code></em> :</span></p></td>
325
<div class="refsect2" title="mcp_account_storage_iface_implement_get ()">
326
<a name="mcp-account-storage-iface-implement-get"></a><h3>mcp_account_storage_iface_implement_get ()</h3>
327
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_implement_get
328
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
329
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (method const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *) ()</code></em>);</pre>
332
<div class="variablelist"><table border="0">
333
<col align="left" valign="top">
335
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
337
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
338
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
339
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
340
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
341
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
342
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
343
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
344
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
345
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
346
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
352
<div class="refsect2" title="mcp_account_storage_iface_implement_set ()">
353
<a name="mcp-account-storage-iface-implement-set"></a><h3>mcp_account_storage_iface_implement_set ()</h3>
354
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_implement_set
355
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
356
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (method const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *) ()</code></em>);</pre>
359
<div class="variablelist"><table border="0">
360
<col align="left" valign="top">
362
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
364
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
365
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
366
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
367
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
368
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
369
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
370
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
371
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
372
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
373
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *, const gchar *:
379
<div class="refsect2" title="mcp_account_storage_iface_implement_delete ()">
380
<a name="mcp-account-storage-iface-implement-delete"></a><h3>mcp_account_storage_iface_implement_delete ()</h3>
381
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_implement_delete
382
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
383
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (method const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *) ()</code></em>);</pre>
386
<div class="variablelist"><table border="0">
387
<col align="left" valign="top">
389
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
391
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
392
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
393
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
394
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
395
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
396
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
397
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
398
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
399
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
400
@ const McpAccountStorage *, const McpAccountManager *, const gchar *, const gchar *:
406
<div class="refsect2" title="mcp_account_storage_iface_implement_list ()">
407
<a name="mcp-account-storage-iface-implement-list"></a><h3>mcp_account_storage_iface_implement_list ()</h3>
408
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_implement_list
409
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
410
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>* (method const McpAccountStorage *, const McpAccountManager *) ()</code></em>);</pre>
413
<div class="variablelist"><table border="0">
414
<col align="left" valign="top">
416
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
418
@ const McpAccountStorage *, const McpAccountManager *:
419
@ const McpAccountStorage *, const McpAccountManager *:
420
@ const McpAccountStorage *, const McpAccountManager *:
421
@ const McpAccountStorage *, const McpAccountManager *:
422
@ const McpAccountStorage *, const McpAccountManager *:
423
@ const McpAccountStorage *, const McpAccountManager *:
424
@ const McpAccountStorage *, const McpAccountManager *:
425
@ const McpAccountStorage *, const McpAccountManager *:
426
@ const McpAccountStorage *, const McpAccountManager *:
427
@ const McpAccountStorage *, const McpAccountManager *:
433
<div class="refsect2" title="mcp_account_storage_iface_implement_commit ()">
434
<a name="mcp-account-storage-iface-implement-commit"></a><h3>mcp_account_storage_iface_implement_commit ()</h3>
435
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_implement_commit
436
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
437
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> (methodconst McpAccountStorage *, const McpAccountManager *am) ()</code></em>);</pre>
440
<div class="variablelist"><table border="0">
441
<col align="left" valign="top">
443
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
445
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
446
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
447
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
448
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
449
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
450
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
451
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
452
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
453
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
454
<em class="parameter"><code>const</code></em> McpAccountStorage *, const McpAccountManager *am:
460
<div class="refsect2" title="mcp_account_storage_iface_implement_ready ()">
461
<a name="mcp-account-storage-iface-implement-ready"></a><h3>mcp_account_storage_iface_implement_ready ()</h3>
462
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_iface_implement_ready
463
(<em class="parameter"><code><a class="link" href="McpAccountStorage.html#McpAccountStorageIface" title="McpAccountStorageIface"><span class="type">McpAccountStorageIface</span></a> *iface</code></em>,
464
<em class="parameter"><code><span class="type">void</span> (method const McpAccountStorage *storage, const McpAccountManager *am) ()</code></em>);</pre>
467
<div class="variablelist"><table border="0">
468
<col align="left" valign="top">
470
<td><p><span class="term"><em class="parameter"><code>iface</code></em> :</span></p></td>
472
@ const McpAccountStorage *storage, const McpAccountManager *am:
473
@ const McpAccountStorage *storage, const McpAccountManager *am:
474
@ const McpAccountStorage *storage, const McpAccountManager *am:
475
@ const McpAccountStorage *storage, const McpAccountManager *am:
476
@ const McpAccountStorage *storage, const McpAccountManager *am:
477
@ const McpAccountStorage *storage, const McpAccountManager *am:
478
@ const McpAccountStorage *storage, const McpAccountManager *am:
479
@ const McpAccountStorage *storage, const McpAccountManager *am:
480
@ const McpAccountStorage *storage, const McpAccountManager *am:
481
@ const McpAccountStorage *storage, const McpAccountManager *am:
487
<div class="refsect2" title="mcp_account_storage_priority ()">
488
<a name="mcp-account-storage-priority"></a><h3>mcp_account_storage_priority ()</h3>
489
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> mcp_account_storage_priority (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>);</pre>
490
<div class="variablelist"><table border="0">
491
<col align="left" valign="top">
494
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
495
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
499
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
500
<td>a <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> indicating the priority of the plugin.
502
Priorities currently run from MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_DEFAULT
503
(the default storage plugin priority) upwards.
505
Plugins at a higher priority then MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING
506
will have the opportunity to "steal" passwords from the gnome keyring:
507
Plugins at a lower priority than this will not receive secret parameters
508
from MC as the keyring plugin will already have claimed them.
510
Plugins at a lower priority than the default plugin will never be asked to
511
store any details, although they may still be asked to list them at startup
512
time, and may asynchronously notify MC of accounts via the signals above.
514
When loading accounts at startup, plugins are consulted in order from
515
lowest to highest, so that higher priority plugins may overrule settings
516
from lower priority plugins.
518
Loading all the accounts is only done at startup, before the dbus name
519
is claimed, and is therefore the only time plugins are allowed to indulge
520
in blocking calls (indeed, they are expected to carry out this operation,
521
and ONLY this operation, synchronously).
523
When values are being set, the plugins are invoked from highest priority
524
to lowest, with the first plugin that claims a setting being assigned
525
ownership, and all lower priority plugins being asked to delete the
533
<div class="refsect2" title="mcp_account_storage_get ()">
534
<a name="mcp-account-storage-get"></a><h3>mcp_account_storage_get ()</h3>
535
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> mcp_account_storage_get (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
536
<em class="parameter"><code><a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>,
537
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *acct</code></em>,
538
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
540
The plugin is expected to quickly and synchronously update
541
the value associated with <em class="parameter"><code>key</code></em> using calls to <em class="parameter"><code>am</code></em>.
544
The plugin is not required to consult whatever long term storage
545
it uses, and may fetch said value from its internal cache, if any.
548
If <em class="parameter"><code>key</code></em> is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> the plugin should write all its settings for <em class="parameter"><code>acct</code></em>
549
into the account manager via <em class="parameter"><code>am</code></em>. The return value in this case should
550
be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if any settings were found.
552
<div class="variablelist"><table border="0">
553
<col align="left" valign="top">
556
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
557
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
561
<td><p><span class="term"><em class="parameter"><code>am</code></em> :</span></p></td>
562
<td>an <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> instance
566
<td><p><span class="term"><em class="parameter"><code>acct</code></em> :</span></p></td>
567
<td>the unique name of the account
571
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
572
<td>the setting whose value we wish to fetch
576
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
577
<td> a <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> - <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a value was found and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise
584
<div class="refsect2" title="mcp_account_storage_set ()">
585
<a name="mcp-account-storage-set"></a><h3>mcp_account_storage_set ()</h3>
586
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> mcp_account_storage_set (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
587
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>,
588
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *acct</code></em>,
589
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
590
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *val</code></em>);</pre>
592
The plugin is expected to either quickly and synchronously
593
update its internal cache of values with <em class="parameter"><code>value</code></em>, or to
594
decline to store the setting.
597
The plugin is not expected to write to its long term storage
600
<div class="variablelist"><table border="0">
601
<col align="left" valign="top">
604
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
605
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
609
<td><p><span class="term"><em class="parameter"><code>am</code></em> :</span></p></td>
610
<td>an <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> instance
614
<td><p><span class="term"><em class="parameter"><code>acct</code></em> :</span></p></td>
615
<td>the unique name of the account
619
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
620
<td>the setting whose value we wish to fetch
624
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
629
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
630
<td> a <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> - <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setting was claimed, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise
637
<div class="refsect2" title="mcp_account_storage_delete ()">
638
<a name="mcp-account-storage-delete"></a><h3>mcp_account_storage_delete ()</h3>
639
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> mcp_account_storage_delete (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
640
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>,
641
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *acct</code></em>,
642
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
644
The plugin is expected to remove the setting for <em class="parameter"><code>key</code></em> from its
645
internal cache and to remember that its state has changed, so
646
that it can delete said setting from its long term storage if
647
its long term storage method makes this necessary.
650
If <em class="parameter"><code>key</code></em> is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the plugin should forget all its settings for
651
<em class="parameter"><code>acct</code></em> (and remember to delete <em class="parameter"><code>acct</code></em> from its storage later)
654
The plugin is not expected to update its long term storage at
657
<div class="variablelist"><table border="0">
658
<col align="left" valign="top">
661
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
662
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
666
<td><p><span class="term"><em class="parameter"><code>am</code></em> :</span></p></td>
667
<td>an <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> instance
671
<td><p><span class="term"><em class="parameter"><code>acct</code></em> :</span></p></td>
672
<td>the unique name of the account
676
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
677
<td>the setting whose value we wish to fetch
681
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
682
<td> a <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> - <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setting or settings are not
683
the plugin's cache after this operation, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
684
This is very unlikely to ever be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, as a plugin is always
685
expected to be able to manipulate its own cache.
692
<div class="refsect2" title="mcp_account_storage_ready ()">
693
<a name="mcp-account-storage-ready"></a><h3>mcp_account_storage_ready ()</h3>
694
<pre class="programlisting"><span class="returnvalue">void</span> mcp_account_storage_ready (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
695
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>);</pre>
697
Informs the plugin that it is now permitted to create new accounts,
698
ie it can now fire its "created", "altered", "toggled" and "deleted"
701
<div class="variablelist"><table border="0">
702
<col align="left" valign="top">
705
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
706
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
710
<td><p><span class="term"><em class="parameter"><code>am</code></em> :</span></p></td>
718
<div class="refsect2" title="mcp_account_storage_commit ()">
719
<a name="mcp-account-storage-commit"></a><h3>mcp_account_storage_commit ()</h3>
720
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> mcp_account_storage_commit (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
721
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>);</pre>
723
The plugin is expected to write its cache to long term storage,
724
deleting, adding or updating entries in said storage as needed.
727
This call is expected to return promptly, but the plugin is
728
not required to have finished its commit operation when it returns,
729
merely to have started the operation.
731
<div class="variablelist"><table border="0">
732
<col align="left" valign="top">
735
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
736
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
740
<td><p><span class="term"><em class="parameter"><code>am</code></em> :</span></p></td>
741
<td>an <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> instance
745
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
746
<td> a gboolean - normally <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if there was a problem
747
that was immediately obvious.
754
<div class="refsect2" title="mcp_account_storage_list ()">
755
<a name="mcp-account-storage-list"></a><h3>mcp_account_storage_list ()</h3>
756
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * mcp_account_storage_list (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>,
757
<em class="parameter"><code>const <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> *am</code></em>);</pre>
759
This method is called only at initialisation time, before the dbus name
760
has been claimed, and is the only one permitted to block.
762
<div class="variablelist"><table border="0">
763
<col align="left" valign="top">
766
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
767
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
771
<td><p><span class="term"><em class="parameter"><code>am</code></em> :</span></p></td>
772
<td>an <a class="link" href="mission-control-plugins-account.html#McpAccountManager"><span class="type">McpAccountManager</span></a> instance
776
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
777
<td> a <a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* (the unique account names) that the plugin
778
has settings for. The <a href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> (and its contents) should be freed when the
779
caller is done with them.
786
<div class="refsect2" title="mcp_account_storage_name ()">
787
<a name="mcp-account-storage-name"></a><h3>mcp_account_storage_name ()</h3>
788
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * mcp_account_storage_name (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>);</pre>
789
<div class="variablelist"><table border="0">
790
<col align="left" valign="top">
793
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
794
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
798
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
799
<td> a const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : the plugin's name (for logging etc)
806
<div class="refsect2" title="mcp_account_storage_description ()">
807
<a name="mcp-account-storage-description"></a><h3>mcp_account_storage_description ()</h3>
808
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * mcp_account_storage_description (<em class="parameter"><code>const <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *storage</code></em>);</pre>
809
<div class="variablelist"><table border="0">
810
<col align="left" valign="top">
813
<td><p><span class="term"><em class="parameter"><code>storage</code></em> :</span></p></td>
814
<td>an <a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> instance
818
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
819
<td> a const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : the plugin's description (for logging etc)
826
<div class="refsect1" title="Signal Details">
827
<a name="McpAccountStorage.signal-details"></a><h2>Signal Details</h2>
828
<div class="refsect2" title='The "altered" signal'>
829
<a name="McpAccountStorage-altered"></a><h3>The <code class="literal">"altered"</code> signal</h3>
830
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *account,
831
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg1,
832
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
834
emitted if an external entity alters an account
835
in the backend the emitting plugin handles
838
Should not be fired until <a class="link" href="McpAccountStorage.html#mcp-account-storage-ready" title="mcp_account_storage_ready ()"><code class="function">mcp_account_storage_ready()</code></a> has been called
840
<div class="variablelist"><table border="0">
841
<col align="left" valign="top">
844
<td><p><span class="term"><em class="parameter"><code>account</code></em> :</span></p></td>
845
<td>the unique name of the created account
849
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
850
<td>user data set when the signal handler was connected.</td>
856
<div class="refsect2" title='The "created" signal'>
857
<a name="McpAccountStorage-created"></a><h3>The <code class="literal">"created"</code> signal</h3>
858
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *account,
859
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg1,
860
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
862
emitted if an external entity creates an account
863
in the backend the emitting plugin handles
866
Should not be fired until <a class="link" href="McpAccountStorage.html#mcp-account-storage-ready" title="mcp_account_storage_ready ()"><code class="function">mcp_account_storage_ready()</code></a> has been called
868
<div class="variablelist"><table border="0">
869
<col align="left" valign="top">
872
<td><p><span class="term"><em class="parameter"><code>account</code></em> :</span></p></td>
873
<td>the unique name of the created account
877
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
878
<td>user data set when the signal handler was connected.</td>
884
<div class="refsect2" title='The "deleted" signal'>
885
<a name="McpAccountStorage-deleted"></a><h3>The <code class="literal">"deleted"</code> signal</h3>
886
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *account,
887
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg1,
888
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
890
emitted if an external entity deletes an account
891
in the backend the emitting plugin handles
894
Should not be fired until <a class="link" href="McpAccountStorage.html#mcp-account-storage-ready" title="mcp_account_storage_ready ()"><code class="function">mcp_account_storage_ready()</code></a> has been called
896
<div class="variablelist"><table border="0">
897
<col align="left" valign="top">
900
<td><p><span class="term"><em class="parameter"><code>account</code></em> :</span></p></td>
901
<td>the unique name of the created account
905
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
906
<td>user data set when the signal handler was connected.</td>
912
<div class="refsect2" title='The "toggled" signal'>
913
<a name="McpAccountStorage-toggled"></a><h3>The <code class="literal">"toggled"</code> signal</h3>
914
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="McpAccountStorage.html" title="McpAccountStorage"><span class="type">McpAccountStorage</span></a> *account,
915
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *enabled,
916
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg2,
917
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run Last</pre>
919
emitted if an external entity enables/disables an account
920
in the backend the emitting plugin handles
923
Should not be fired until <a class="link" href="McpAccountStorage.html#mcp-account-storage-ready" title="mcp_account_storage_ready ()"><code class="function">mcp_account_storage_ready()</code></a> has been called
925
<div class="variablelist"><table border="0">
926
<col align="left" valign="top">
929
<td><p><span class="term"><em class="parameter"><code>account</code></em> :</span></p></td>
930
<td>the unique name of the created account
934
<td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
936
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating whether the account is enabled
940
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
941
<td>user data set when the signal handler was connected.</td>
950
Generated by GTK-Doc V1.15</div>
b'\\ No newline at end of file'