13c011761e5de3f24c021b27aecdad46ba5d6b8f
[profile/ivi/gsignond.git] / docs / html / GSignondAccessControlManager.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GSignondAccessControlManager</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="gsignond API Reference Manual">
8 <link rel="up" href="ch05.html" title="GSignond API for writing platform adaptation extensions">
9 <link rel="prev" href="GSignondExtension.html" title="GSignondExtension">
10 <link rel="next" href="gsignond-GSignondSecurityContext.html" title="GSignondSecurityContext">
11 <meta name="generator" content="GTK-Doc V1.19.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
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="10"><tr valign="middle">
16 <td width="100%" align="left">
17 <a href="#" class="shortcut">Top</a>
18                    | 
19                   <a href="#GSignondAccessControlManager.description" class="shortcut">Description</a>
20                    | 
21                   <a href="#GSignondAccessControlManager.object-hierarchy" class="shortcut">Object Hierarchy</a>
22                    | 
23                   <a href="#GSignondAccessControlManager.properties" class="shortcut">Properties</a>
24 </td>
25 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
26 <td><a accesskey="u" href="ch05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
27 <td><a accesskey="p" href="GSignondExtension.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
28 <td><a accesskey="n" href="gsignond-GSignondSecurityContext.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
29 </tr></table>
30 <div class="refentry">
31 <a name="GSignondAccessControlManager"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="GSignondAccessControlManager.top_of_page"></a>GSignondAccessControlManager</span></h2>
35 <p>GSignondAccessControlManager — an object that performs access control checks</p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="GSignondAccessControlManager.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis">
42 #include &lt;gsignond/gsignond-access-control-manager.h&gt;
43
44 struct              <a class="link" href="GSignondAccessControlManager.html#GSignondAccessControlManager-struct" title="struct GSignondAccessControlManager">GSignondAccessControlManager</a>;
45 struct              <a class="link" href="GSignondAccessControlManager.html#GSignondAccessControlManagerClass" title="struct GSignondAccessControlManagerClass">GSignondAccessControlManagerClass</a>;
46 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-acl-is-valid" title="gsignond_access_control_manager_acl_is_valid ()">gsignond_access_control_manager_acl_is_valid</a>
47                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
48                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
49                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContextList" title="GSignondSecurityContextList"><span class="type">GSignondSecurityContextList</span></a> *identity_acl</code></em>);
50 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-peer-is-allowed-to-use-identity" title="gsignond_access_control_manager_peer_is_allowed_to_use_identity ()">gsignond_access_control_manager_peer_is_allowed_to_use_identity</a>
51                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
52                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
53                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *owner_ctx</code></em>,
54                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContextList" title="GSignondSecurityContextList"><span class="type">GSignondSecurityContextList</span></a> *identity_acl</code></em>);
55 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-peer-is-owner-of-identity" title="gsignond_access_control_manager_peer_is_owner_of_identity ()">gsignond_access_control_manager_peer_is_owner_of_identity</a>
56                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
57                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
58                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *owner_ctx</code></em>);
59 <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="returnvalue">GSignondSecurityContext</span></a> * <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-security-context-of-keychain" title="gsignond_access_control_manager_security_context_of_keychain ()">gsignond_access_control_manager_security_context_of_keychain</a>
60                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>);
61 <span class="returnvalue">void</span>                <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-security-context-of-peer" title="gsignond_access_control_manager_security_context_of_peer ()">gsignond_access_control_manager_security_context_of_peer</a>
62                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
63                                                          <em class="parameter"><code><a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
64                                                          <em class="parameter"><code><span class="type">int</span> peer_fd</code></em>,
65                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *peer_service</code></em>,
66                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *peer_app_ctx</code></em>);
67 </pre>
68 </div>
69 <div class="refsect1">
70 <a name="GSignondAccessControlManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
71 <pre class="synopsis">
72   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
73    +----GSignondAccessControlManager
74 </pre>
75 </div>
76 <div class="refsect1">
77 <a name="GSignondAccessControlManager.properties"></a><h2>Properties</h2>
78 <pre class="synopsis">
79   "<a class="link" href="GSignondAccessControlManager.html#GSignondAccessControlManager--config" title='The "config" property'>config</a>"                   <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a>*       : Read / Write / Construct Only
80 </pre>
81 </div>
82 <div class="refsect1">
83 <a name="GSignondAccessControlManager.description"></a><h2>Description</h2>
84 <p>
85 <a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> performs access control checks using
86 available system services. gSSO can be configured to use a custom extension
87 that provides a subclassed implementation of <a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a>
88 (see <a class="link" href="GSignondExtension.html" title="GSignondExtension"><span class="type">GSignondExtension</span></a>), otherwise a default implementation is used.
89 </p>
90 </div>
91 <div class="refsect1">
92 <a name="GSignondAccessControlManager.details"></a><h2>Details</h2>
93 <div class="refsect2">
94 <a name="GSignondAccessControlManager-struct"></a><h3>struct GSignondAccessControlManager</h3>
95 <pre class="programlisting">struct GSignondAccessControlManager;</pre>
96 <p>
97 Opaque <a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> data structure.
98 </p>
99 </div>
100 <hr>
101 <div class="refsect2">
102 <a name="GSignondAccessControlManagerClass"></a><h3>struct GSignondAccessControlManagerClass</h3>
103 <pre class="programlisting">struct GSignondAccessControlManagerClass {
104     GObjectClass parent_class;
105
106     void (*security_context_of_peer) (
107                             GSignondAccessControlManager *self,
108                             GSignondSecurityContext *peer_ctx,
109                             int peer_fd, const gchar *peer_service,
110                             const gchar *peer_app_ctx);
111     gboolean (*peer_is_allowed_to_use_identity) (
112                             GSignondAccessControlManager *self,
113                             const GSignondSecurityContext *peer_ctx,
114                             const GSignondSecurityContext *owner_ctx,
115                             const GSignondSecurityContextList *identity_acl);
116     gboolean (*peer_is_owner_of_identity) (
117                             GSignondAccessControlManager *self,
118                             const GSignondSecurityContext *peer_ctx,
119                             const GSignondSecurityContext *owner_ctx);
120     gboolean (*acl_is_valid) (
121                             GSignondAccessControlManager *self,
122                             const GSignondSecurityContext *peer_ctx,
123                             const GSignondSecurityContextList *identity_acl);
124     GSignondSecurityContext * (*security_context_of_keychain) (
125                             GSignondAccessControlManager *self);
126 };
127 </pre>
128 <p>
129 <a class="link" href="GSignondAccessControlManager.html#GSignondAccessControlManagerClass" title="struct GSignondAccessControlManagerClass"><span class="type">GSignondAccessControlManagerClass</span></a> class containing pointers to class methods.
130 </p>
131 <div class="variablelist"><table border="0">
132 <col align="left" valign="top">
133 <tbody>
134 <tr>
135 <td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> <em class="structfield"><code><a name="GSignondAccessControlManagerClass.parent-class"></a>parent_class</code></em>;</span></p></td>
136 <td>parent class.</td>
137 </tr>
138 <tr>
139 <td><p><span class="term"><em class="structfield"><code><a name="GSignondAccessControlManagerClass.security-context-of-peer"></a>security_context_of_peer</code></em> ()</span></p></td>
140 <td>an implementation of <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-security-context-of-peer" title="gsignond_access_control_manager_security_context_of_peer ()"><code class="function">gsignond_access_control_manager_security_context_of_peer()</code></a>
141 </td>
142 </tr>
143 <tr>
144 <td><p><span class="term"><em class="structfield"><code><a name="GSignondAccessControlManagerClass.peer-is-allowed-to-use-identity"></a>peer_is_allowed_to_use_identity</code></em> ()</span></p></td>
145 <td>an implementation of <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-peer-is-allowed-to-use-identity" title="gsignond_access_control_manager_peer_is_allowed_to_use_identity ()"><code class="function">gsignond_access_control_manager_peer_is_allowed_to_use_identity()</code></a>
146 </td>
147 </tr>
148 <tr>
149 <td><p><span class="term"><em class="structfield"><code><a name="GSignondAccessControlManagerClass.peer-is-owner-of-identity"></a>peer_is_owner_of_identity</code></em> ()</span></p></td>
150 <td>an implementation of <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-peer-is-owner-of-identity" title="gsignond_access_control_manager_peer_is_owner_of_identity ()"><code class="function">gsignond_access_control_manager_peer_is_owner_of_identity()</code></a>
151 </td>
152 </tr>
153 <tr>
154 <td><p><span class="term"><em class="structfield"><code><a name="GSignondAccessControlManagerClass.acl-is-valid"></a>acl_is_valid</code></em> ()</span></p></td>
155 <td>an implementation of <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-acl-is-valid" title="gsignond_access_control_manager_acl_is_valid ()"><code class="function">gsignond_access_control_manager_acl_is_valid()</code></a>
156 </td>
157 </tr>
158 <tr>
159 <td><p><span class="term"><em class="structfield"><code><a name="GSignondAccessControlManagerClass.security-context-of-keychain"></a>security_context_of_keychain</code></em> ()</span></p></td>
160 <td>an implementation of <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-security-context-of-keychain" title="gsignond_access_control_manager_security_context_of_keychain ()"><code class="function">gsignond_access_control_manager_security_context_of_keychain()</code></a>
161 </td>
162 </tr>
163 </tbody>
164 </table></div>
165 </div>
166 <hr>
167 <div class="refsect2">
168 <a name="gsignond-access-control-manager-acl-is-valid"></a><h3>gsignond_access_control_manager_acl_is_valid ()</h3>
169 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_access_control_manager_acl_is_valid
170                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
171                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
172                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContextList" title="GSignondSecurityContextList"><span class="type">GSignondSecurityContextList</span></a> *identity_acl</code></em>);</pre>
173 <p>
174 Checks if the specified peer is allowed to set the specified access
175 control list. <a class="link" href="GSignondAccessControlManager.html#gsignond-access-control-manager-peer-is-owner-of-identity" title="gsignond_access_control_manager_peer_is_owner_of_identity ()"><code class="function">gsignond_access_control_manager_peer_is_owner_of_identity()</code></a>
176 is used before calling this method to verify identity ownership.
177 </p>
178 <p>
179 The default implementation always returns TRUE.
180 </p>
181 <div class="variablelist"><table border="0">
182 <col align="left" valign="top">
183 <tbody>
184 <tr>
185 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
186 <td>object instance.</td>
187 </tr>
188 <tr>
189 <td><p><span class="term"><em class="parameter"><code>peer_ctx</code></em> :</span></p></td>
190 <td>security context of the peer connection.</td>
191 </tr>
192 <tr>
193 <td><p><span class="term"><em class="parameter"><code>identity_acl</code></em> :</span></p></td>
194 <td>access control list for the identity.</td>
195 </tr>
196 <tr>
197 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
198 <td>access control list is OK?</td>
199 </tr>
200 </tbody>
201 </table></div>
202 </div>
203 <hr>
204 <div class="refsect2">
205 <a name="gsignond-access-control-manager-peer-is-allowed-to-use-identity"></a><h3>gsignond_access_control_manager_peer_is_allowed_to_use_identity ()</h3>
206 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_access_control_manager_peer_is_allowed_to_use_identity
207                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
208                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
209                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *owner_ctx</code></em>,
210                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContextList" title="GSignondSecurityContextList"><span class="type">GSignondSecurityContextList</span></a> *identity_acl</code></em>);</pre>
211 <p>
212 Checks if specified peer is allowed to access the specified identity.
213 </p>
214 <p>
215 The default implementation goes over items in <em class="parameter"><code>identity_acl</code></em>, using 
216 <a class="link" href="gsignond-GSignondSecurityContext.html#gsignond-security-context-check" title="gsignond_security_context_check ()"><code class="function">gsignond_security_context_check()</code></a> to check them against <em class="parameter"><code>peer_ctx</code></em>.
217 </p>
218 <div class="variablelist"><table border="0">
219 <col align="left" valign="top">
220 <tbody>
221 <tr>
222 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
223 <td>object instance.</td>
224 </tr>
225 <tr>
226 <td><p><span class="term"><em class="parameter"><code>peer_ctx</code></em> :</span></p></td>
227 <td>security context of the peer connection.</td>
228 </tr>
229 <tr>
230 <td><p><span class="term"><em class="parameter"><code>owner_ctx</code></em> :</span></p></td>
231 <td>security context of the identity owner.</td>
232 </tr>
233 <tr>
234 <td><p><span class="term"><em class="parameter"><code>identity_acl</code></em> :</span></p></td>
235 <td>access control list for the identity in question. Includes the <em class="parameter"><code>owner_ctx</code></em> as well.</td>
236 </tr>
237 <tr>
238 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
239 <td>access is allowed?</td>
240 </tr>
241 </tbody>
242 </table></div>
243 </div>
244 <hr>
245 <div class="refsect2">
246 <a name="gsignond-access-control-manager-peer-is-owner-of-identity"></a><h3>gsignond_access_control_manager_peer_is_owner_of_identity ()</h3>
247 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsignond_access_control_manager_peer_is_owner_of_identity
248                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
249                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
250                                                          <em class="parameter"><code>const <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *owner_ctx</code></em>);</pre>
251 <p>
252 Checks if the peer specified in <em class="parameter"><code>peer_ctx</code></em> is the owner of the identity.
253 </p>
254 <p>
255 The default implementation is using <a class="link" href="gsignond-GSignondSecurityContext.html#gsignond-security-context-check" title="gsignond_security_context_check ()"><code class="function">gsignond_security_context_check()</code></a> 
256 to check <em class="parameter"><code>peer_ctx</code></em> against <em class="parameter"><code>owner_ctx</code></em> directly.
257 </p>
258 <div class="variablelist"><table border="0">
259 <col align="left" valign="top">
260 <tbody>
261 <tr>
262 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
263 <td>object instance.</td>
264 </tr>
265 <tr>
266 <td><p><span class="term"><em class="parameter"><code>peer_ctx</code></em> :</span></p></td>
267 <td>security context of the peer connection.</td>
268 </tr>
269 <tr>
270 <td><p><span class="term"><em class="parameter"><code>owner_ctx</code></em> :</span></p></td>
271 <td>security context of the identity owner.</td>
272 </tr>
273 <tr>
274 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
275 <td>is owner?</td>
276 </tr>
277 </tbody>
278 </table></div>
279 </div>
280 <hr>
281 <div class="refsect2">
282 <a name="gsignond-access-control-manager-security-context-of-keychain"></a><h3>gsignond_access_control_manager_security_context_of_keychain ()</h3>
283 <pre class="programlisting"><a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="returnvalue">GSignondSecurityContext</span></a> * gsignond_access_control_manager_security_context_of_keychain
284                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>);</pre>
285 <p>
286 Retrieves security context of the keychain application. Keychain application
287 has a special management access to all stored identities and is able to
288 perform deletion of all identities from storage.
289 </p>
290 <p>
291 The default implementation returns an empty context. If gSSO was compiled
292 with --enable-debug and SSO_KEYCHAIN_SYSCTX environment variable is set, then
293 the value of that variable is used to set the returned system context instead.
294 </p>
295 <div class="variablelist"><table border="0">
296 <col align="left" valign="top">
297 <tbody>
298 <tr>
299 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
300 <td>object instance.</td>
301 </tr>
302 <tr>
303 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
304 <td>security context of the keychain application.</td>
305 </tr>
306 </tbody>
307 </table></div>
308 </div>
309 <hr>
310 <div class="refsect2">
311 <a name="gsignond-access-control-manager-security-context-of-peer"></a><h3>gsignond_access_control_manager_security_context_of_peer ()</h3>
312 <pre class="programlisting"><span class="returnvalue">void</span>                gsignond_access_control_manager_security_context_of_peer
313                                                         (<em class="parameter"><code><a class="link" href="GSignondAccessControlManager.html" title="GSignondAccessControlManager"><span class="type">GSignondAccessControlManager</span></a> *self</code></em>,
314                                                          <em class="parameter"><code><a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> *peer_ctx</code></em>,
315                                                          <em class="parameter"><code><span class="type">int</span> peer_fd</code></em>,
316                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *peer_service</code></em>,
317                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *peer_app_ctx</code></em>);</pre>
318 <p>
319 Retrieves and sets <a class="link" href="gsignond-GSignondSecurityContext.html#GSignondSecurityContext" title="GSignondSecurityContext"><span class="type">GSignondSecurityContext</span></a> of the specified peer.
320 </p>
321 <p>
322 The default implementation sets the app context as it was passed, and sets 
323 the system context to the binary path of the process that is determined from
324 <em class="parameter"><code>peer_fd</code></em> and <em class="parameter"><code>peer_service</code></em> parameters.
325 </p>
326 <div class="variablelist"><table border="0">
327 <col align="left" valign="top">
328 <tbody>
329 <tr>
330 <td><p><span class="term"><em class="parameter"><code>self</code></em> :</span></p></td>
331 <td>object instance.</td>
332 </tr>
333 <tr>
334 <td><p><span class="term"><em class="parameter"><code>peer_ctx</code></em> :</span></p></td>
335 <td>instance of security context to be set.</td>
336 </tr>
337 <tr>
338 <td><p><span class="term"><em class="parameter"><code>peer_fd</code></em> :</span></p></td>
339 <td>file descriptor of the peer connection if using peer-to-peer dbus, -1 otherwise.</td>
340 </tr>
341 <tr>
342 <td><p><span class="term"><em class="parameter"><code>peer_service</code></em> :</span></p></td>
343 <td>g_dbus_method_invocation_get_sender() of the peer connection, if not using peer-to-peer dbus, NULL otherwise</td>
344 </tr>
345 <tr>
346 <td><p><span class="term"><em class="parameter"><code>peer_app_ctx</code></em> :</span></p></td>
347 <td>application context of the peer connection.</td>
348 </tr>
349 </tbody>
350 </table></div>
351 </div>
352 </div>
353 <div class="refsect1">
354 <a name="GSignondAccessControlManager.property-details"></a><h2>Property Details</h2>
355 <div class="refsect2">
356 <a name="GSignondAccessControlManager--config"></a><h3>The <code class="literal">"config"</code> property</h3>
357 <pre class="programlisting">  "config"                   <a class="link" href="GSignondConfig.html" title="GSignondConfig"><span class="type">GSignondConfig</span></a>*       : Read / Write / Construct Only</pre>
358 <p>Configuration object.</p>
359 </div>
360 </div>
361 </div>
362 <div class="footer">
363 <hr>
364           Generated by GTK-Doc V1.19.1</div>
365 </body>
366 </html>