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 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_INTERNAL_H__
27 #define __GSIGNOND_IDENTITY_INFO_INTERNAL_H__
30 #include "gsignond-identity-info.h"
34 #define GSIGNOND_IDENTITY_INFO_NEW_IDENTITY 0
37 * Identity info strings
39 #define GSIGNOND_IDENTITY_INFO_ID "Id"
40 #define GSIGNOND_IDENTITY_INFO_USERNAME "UserName"
41 #define GSIGNOND_IDENTITY_INFO_SECRET "Secret"
42 #define GSIGNOND_IDENTITY_INFO_STORESECRET "StoreSecret"
43 #define GSIGNOND_IDENTITY_INFO_CAPTION "Caption"
44 #define GSIGNOND_IDENTITY_INFO_REALMS "Realms"
45 #define GSIGNOND_IDENTITY_INFO_AUTHMETHODS "AuthMethods"
46 #define GSIGNOND_IDENTITY_INFO_OWNER "Owner"
47 #define GSIGNOND_IDENTITY_INFO_ACL "ACL"
48 #define GSIGNOND_IDENTITY_INFO_TYPE "Type"
49 #define GSIGNOND_IDENTITY_INFO_REFCOUNT "RefCount"
50 #define GSIGNOND_IDENTITY_INFO_VALIDATED "Validated"
51 #define GSIGNOND_IDENTITY_INFO_USERNAME_IS_SECRET "UserNameSecret"
53 #define GSIGNOND_IDENTITY_INFO_EDIT_FLAGS "EditFlags"
56 IDENTITY_INFO_PROP_NONE = 0x0000,
59 IDENTITY_INFO_PROP_USERNAME = 0x0001,
60 IDENTITY_INFO_PROP_SECRET = 0x0002,
62 IDENTITY_INFO_PROP_ID = 0x0004,
63 IDENTITY_INFO_PROP_TYPE = 0x0008,
64 IDENTITY_INFO_PROP_CAPTION = 0x0010,
65 IDENTITY_INFO_PROP_STORE_SECRET = 0x0020,
66 IDENTITY_INFO_PROP_USERNAME_IS_SECRET = 0x0040,
67 IDENTITY_INFO_PROP_OWNER = 0x0080,
68 IDENTITY_INFO_PROP_ACL = 0x0100,
69 IDENTITY_INFO_PROP_METHODS = 0x0200,
70 IDENTITY_INFO_PROP_REALMS = 0x0400,
71 IDENTITY_INFO_PROP_REF_COUNT = 0x0800,
72 IDENTITY_INFO_PROP_VALIDATED = 0x1000,
74 IDENTITY_INFO_PROP_MAX = 0x2000,
75 IDENTITY_INFO_PROP_ALL = 0x1ffff
77 } GSignondIdentityInfoPropFlags;
79 GSignondIdentityInfoPropFlags
80 gsignond_identity_info_get_edit_flags (GSignondIdentityInfo *info);
83 gsignond_identity_info_set_edit_flags (GSignondIdentityInfo *info,
84 GSignondIdentityInfoPropFlags flags);
87 gsignond_identity_info_reset_edit_flags (GSignondIdentityInfo *info,
88 GSignondIdentityInfoPropFlags flags);
91 gsignond_identity_info_unset_edit_flags (GSignondIdentityInfo *info,
92 GSignondIdentityInfoPropFlags flags);
94 GSignondIdentityInfoPropFlags
95 gsignond_identity_info_selective_copy (GSignondIdentityInfo *dest,
96 const GSignondIdentityInfo *src,
97 GSignondIdentityInfoPropFlags flags);
100 gsignond_identity_info_remove_owner (GSignondIdentityInfo *info);
104 #endif /* __GSIGNOND_IDENTITY_INFO_INTERNAL_H__ */