1 /* vi: set et sw=4 ts=4 cino=t0,(0: */
2 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
4 * This file is part of gsignond
6 * Copyright (C) 2012-2013 Intel Corporation.
8 * Contact: Imran Zaman <imran.zaman@linux.intel.com>
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License as published by the Free Software Foundation; either
13 * version 2.1 of the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
26 #ifndef __GSIGNOND_IDENTITY_INFO_H__
27 #define __GSIGNOND_IDENTITY_INFO_H__
30 #include <glib-object.h>
31 #include <gsignond/gsignond-security-context.h>
32 #include <gsignond/gsignond-dictionary.h>
36 #define GSIGNOND_TYPE_IDENTITY_INFO (GSIGNOND_TYPE_DICTIONARY)
38 #define GSIGNOND_IDENTITY_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
39 GSIGNOND_TYPE_IDENTITY_INFO, \
40 GSignondIdentityInfo))
41 #define GSIGNOND_IS_IDENTITY_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
42 GSIGNOND_TYPE_IDENTITY_INFO))
44 typedef GSignondDictionary GSignondIdentityInfo;
45 typedef GList GSignondIdentityInfoList;
47 GSignondIdentityInfo *
48 gsignond_identity_info_new (void);
50 GSignondIdentityInfo *
51 gsignond_identity_info_copy (GSignondIdentityInfo *info);
54 gsignond_identity_info_ref (GSignondIdentityInfo *info);
57 gsignond_identity_info_unref (GSignondIdentityInfo *info);
60 gsignond_identity_info_get_id (GSignondIdentityInfo *info);
63 gsignond_identity_info_set_id (
64 GSignondIdentityInfo *info,
68 gsignond_identity_info_get_is_identity_new (GSignondIdentityInfo *info);
71 gsignond_identity_info_set_identity_new (GSignondIdentityInfo *info);
74 gsignond_identity_info_get_username (GSignondIdentityInfo *info);
77 gsignond_identity_info_set_username (
78 GSignondIdentityInfo *info,
79 const gchar *username);
82 gsignond_identity_info_remove_username (GSignondIdentityInfo *info);
85 gsignond_identity_info_get_is_username_secret (GSignondIdentityInfo *info);
88 gsignond_identity_info_set_username_secret (
89 GSignondIdentityInfo *info,
90 gboolean username_secret);
93 gsignond_identity_info_get_secret (GSignondIdentityInfo *info);
96 gsignond_identity_info_set_secret (
97 GSignondIdentityInfo *info,
101 gsignond_identity_info_remove_secret (GSignondIdentityInfo *info);
104 gsignond_identity_info_get_store_secret (GSignondIdentityInfo *info);
107 gsignond_identity_info_set_store_secret (
108 GSignondIdentityInfo *info,
109 gboolean store_secret);
112 gsignond_identity_info_get_caption (GSignondIdentityInfo *info);
115 gsignond_identity_info_set_caption (
116 GSignondIdentityInfo *info,
117 const gchar *caption);
120 gsignond_identity_info_get_realms (GSignondIdentityInfo *info);
123 gsignond_identity_info_set_realms (
124 GSignondIdentityInfo *info,
128 gsignond_identity_info_get_methods (GSignondIdentityInfo *info);
131 gsignond_identity_info_set_methods (
132 GSignondIdentityInfo *info,
133 GHashTable *methods);
136 gsignond_identity_info_get_mechanisms (
137 GSignondIdentityInfo *info,
138 const gchar *method);
141 gsignond_identity_info_remove_method (
142 GSignondIdentityInfo *info,
143 const gchar *method);
145 GSignondSecurityContextList *
146 gsignond_identity_info_get_access_control_list (GSignondIdentityInfo *info);
149 gsignond_identity_info_set_access_control_list (
150 GSignondIdentityInfo *info,
151 const GSignondSecurityContextList *acl);
153 GSignondSecurityContext *
154 gsignond_identity_info_get_owner (GSignondIdentityInfo *info);
157 gsignond_identity_info_set_owner (
158 GSignondIdentityInfo *info,
159 const GSignondSecurityContext *owner);
162 gsignond_identity_info_get_validated (GSignondIdentityInfo *info);
165 gsignond_identity_info_set_validated (
166 GSignondIdentityInfo *info,
170 gsignond_identity_info_get_identity_type (GSignondIdentityInfo *info);
173 gsignond_identity_info_set_identity_type (
174 GSignondIdentityInfo *info,
178 gsignond_identity_info_compare (
179 GSignondIdentityInfo *info,
180 GSignondIdentityInfo *other);
183 gsignond_identity_info_list_free (GSignondIdentityInfoList *list);
187 #endif /* __GSIGNOND_IDENTITY_INFO_H__ */