This file is indexed.

/usr/include/evolution-data-server-3.2/libedataserver/e-account.h is in libedataserver1.2-dev 3.2.3-0ubuntu7.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of version 2 of the GNU Lesser General Public
 * License as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301, USA.
 */

#ifndef E_ACCOUNT_H
#define E_ACCOUNT_H

#include <glib-object.h>

/* Standard GObject macros */
#define E_TYPE_ACCOUNT \
	(e_account_get_type ())
#define E_ACCOUNT(obj) \
	(G_TYPE_CHECK_INSTANCE_CAST \
	((obj), E_TYPE_ACCOUNT, EAccount))
#define E_ACCOUNT_CLASS(cls) \
	(G_TYPE_CHECK_CLASS_CAST \
	((cls), E_TYPE_ACCOUNT, EAccountClass))
#define E_IS_ACCOUNT(obj) \
	(G_TYPE_CHECK_INSTANCE_TYPE \
	((obj), E_TYPE_ACCOUNT))
#define E_IS_ACCOUNT_CLASS(cls) \
	(G_TYPE_CHECK_CLASS_TYPE \
	((cls), E_TYPE_ACCOUNT))
#define E_ACCOUNT_GET_CLASS(obj) \
	(G_TYPE_INSTANCE_GET_CLASS \
	((obj), E_TYPE_ACCOUNT, EAccountClass))

G_BEGIN_DECLS

typedef struct _EAccount EAccount;
typedef struct _EAccountClass EAccountClass;

typedef enum _e_account_item_t {
	E_ACCOUNT_NAME,

	E_ACCOUNT_ID_NAME,
	E_ACCOUNT_ID_ADDRESS,
	E_ACCOUNT_ID_REPLY_TO,
	E_ACCOUNT_ID_ORGANIZATION,
	E_ACCOUNT_ID_SIGNATURE,

	E_ACCOUNT_SOURCE_URL,	/* what about separating out host/user/path settings??  sigh */
	E_ACCOUNT_SOURCE_KEEP_ON_SERVER,
	E_ACCOUNT_SOURCE_AUTO_CHECK,
	E_ACCOUNT_SOURCE_AUTO_CHECK_TIME,
	E_ACCOUNT_SOURCE_SAVE_PASSWD,

	E_ACCOUNT_TRANSPORT_URL,
	E_ACCOUNT_TRANSPORT_SAVE_PASSWD,

	E_ACCOUNT_DRAFTS_FOLDER_URI,
	E_ACCOUNT_SENT_FOLDER_URI,

	E_ACCOUNT_CC_ALWAYS,
	E_ACCOUNT_CC_ADDRS,

	E_ACCOUNT_BCC_ALWAYS,
	E_ACCOUNT_BCC_ADDRS,

	E_ACCOUNT_RECEIPT_POLICY,

	E_ACCOUNT_PGP_KEY,
	E_ACCOUNT_PGP_HASH_ALGORITHM,
	E_ACCOUNT_PGP_ENCRYPT_TO_SELF,
	E_ACCOUNT_PGP_ALWAYS_SIGN,
	E_ACCOUNT_PGP_NO_IMIP_SIGN,
	E_ACCOUNT_PGP_ALWAYS_TRUST,

	E_ACCOUNT_SMIME_SIGN_KEY,
	E_ACCOUNT_SMIME_ENCRYPT_KEY,
	E_ACCOUNT_SMIME_HASH_ALGORITHM,
	E_ACCOUNT_SMIME_SIGN_DEFAULT,
	E_ACCOUNT_SMIME_ENCRYPT_TO_SELF,
	E_ACCOUNT_SMIME_ENCRYPT_DEFAULT,

	E_ACCOUNT_PROXY_PARENT_UID,

	E_ACCOUNT_ITEM_LAST
} e_account_item_t;

typedef enum _e_account_access_t {
	E_ACCOUNT_ACCESS_WRITE = 1 << 0
} e_account_access_t;

typedef struct _EAccountIdentity {
	gchar *name;
	gchar *address;
	gchar *reply_to;
	gchar *organization;

	gchar *sig_uid;
} EAccountIdentity;

typedef enum _EAccountReceiptPolicy {
	E_ACCOUNT_RECEIPT_NEVER,
	E_ACCOUNT_RECEIPT_ASK,
	E_ACCOUNT_RECEIPT_ALWAYS
} EAccountReceiptPolicy;

typedef struct _EAccountService {
	gchar *url;
	gboolean keep_on_server;
	gboolean auto_check;
	gint auto_check_time;
	gboolean save_passwd;
	gboolean get_password_canceled;
} EAccountService;

struct _EAccount {
	GObject parent;

	gchar *name;
	gchar *uid;

	gboolean enabled;

	EAccountIdentity *id;
	EAccountService *source;
	EAccountService *transport;

	gchar *drafts_folder_uri, *sent_folder_uri, *templates_folder_uri;

	gboolean always_cc;
	gchar *cc_addrs;
	gboolean always_bcc;
	gchar *bcc_addrs;

	EAccountReceiptPolicy receipt_policy;

	gchar *pgp_key;
	gchar *pgp_hash_algorithm; /* "sha1", "sha256", "sha384", "sha512" are supported now; anything else is default */
	gboolean pgp_encrypt_to_self;
	gboolean pgp_always_sign;
	gboolean pgp_no_imip_sign;
	gboolean pgp_always_trust;

	gchar *parent_uid;

	gchar *smime_sign_key;
	gchar *smime_encrypt_key;
	gchar *smime_hash_algorithm; /* "sha1", "sha256", "sha384", "sha512" are supported now; anything else is default */
	gboolean smime_sign_default;
	gboolean smime_encrypt_to_self;
	gboolean smime_encrypt_default;
};

struct _EAccountClass {
	GObjectClass parent_class;

	void		(*changed)		(EAccount *account,
						 gint field);
};

GType		e_account_get_type		(void) G_GNUC_CONST;
EAccount *	e_account_new			(void);
EAccount *	e_account_new_from_xml		(const gchar *xml);
gboolean	e_account_set_from_xml		(EAccount *account,
						 const gchar *xml);
void		e_account_import		(EAccount *dest,
						 EAccount *src);
gchar *		e_account_to_xml		(EAccount *account);
gchar *		e_account_uid_from_xml		(const gchar *xml);
const gchar *	e_account_get_string		(EAccount *account,
						 e_account_item_t type);
gint		e_account_get_int		(EAccount *account,
						 e_account_item_t type);
gboolean	e_account_get_bool		(EAccount *account,
						 e_account_item_t type);
void		e_account_set_string		(EAccount *account,
						 e_account_item_t type,
						 const gchar *v_string);
void		e_account_set_int		(EAccount *account,
						 e_account_item_t type,
						 gint v_int);
void		e_account_set_bool		(EAccount *account,
						 e_account_item_t type,
						 gboolean v_bool);
gboolean	e_account_writable		(EAccount *account,
						 e_account_item_t type);
gboolean	e_account_writable_option	(EAccount *account,
						 const gchar *protocol,
						 const gchar *option);

G_END_DECLS

#endif /* E_ACCOUNT_H */