File: e2k-autoconfig.h

package info (click to toggle)
evolution-data-server 1.6.3-5etch3
  • links: PTS
  • area: main
  • in suites: etch
  • size: 59,384 kB
  • ctags: 43,218
  • sloc: ansic: 319,315; tcl: 30,499; xml: 19,166; sh: 18,776; perl: 11,529; cpp: 8,259; java: 7,653; makefile: 6,448; awk: 1,338; yacc: 1,103; sed: 772; cs: 505; lex: 134; asm: 14
file content (85 lines) | stat: -rw-r--r-- 2,465 bytes parent folder | download | duplicates (3)
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
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* Copyright (C) 2003, 2004 Novell, Inc. */

#ifndef __E2K_AUTOCONFIG_H__
#define __E2K_AUTOCONFIG_H__

#include "e2k-types.h"
#include "e2k-operation.h"
#include "e2k-validate.h"

#ifdef __cplusplus
extern "C" {
#pragma }
#endif /* __cplusplus */

typedef enum {
	E2K_EXCHANGE_UNKNOWN,
	E2K_EXCHANGE_2000,
	E2K_EXCHANGE_2003,

	E2K_EXCHANGE_FUTURE
} E2kExchangeVersion;

typedef enum {
	E2K_AUTOCONFIG_USE_BASIC,
	E2K_AUTOCONFIG_USE_NTLM,
	E2K_AUTOCONFIG_USE_EITHER,
} E2kAutoconfigAuthPref;

typedef struct {
	/* Input data. (gc_server is optional) */
	char *owa_uri, *gc_server;
	char *username, *password;
	int gal_limit;

	/* Output data */
	E2kExchangeVersion version;
	char *display_name, *email;
	char *account_uri, *exchange_server;
	char *timezone;

	/* Private-ish members */
	char *nt_domain, *w2k_domain;
	char *home_uri, *exchange_dn;
	char *pf_server;
	E2kAutoconfigAuthPref auth_pref;
	gboolean require_ntlm, use_ntlm;
	gboolean saw_basic, saw_ntlm;
	gboolean nt_domain_defaulted, gc_server_autodetected;
} E2kAutoconfig;

E2kAutoconfig       *e2k_autoconfig_new                  (const char *owa_uri,
							  const char *username,
							  const char *password,
							  E2kAutoconfigAuthPref auth_pref);
void                 e2k_autoconfig_free                 (E2kAutoconfig *ac);

void                 e2k_autoconfig_set_owa_uri          (E2kAutoconfig *ac,
							  const char *owa_uri);
void                 e2k_autoconfig_set_gc_server        (E2kAutoconfig *ac,
							  const char *gc_server,
							  int gal_limit);
void                 e2k_autoconfig_set_username         (E2kAutoconfig *ac,
							  const char *username);
void                 e2k_autoconfig_set_password         (E2kAutoconfig *ac,
							  const char *password);

E2kContext          *e2k_autoconfig_get_context          (E2kAutoconfig *ac,
							  E2kOperation *op,
							  E2kAutoconfigResult *result);
E2kAutoconfigResult  e2k_autoconfig_check_exchange       (E2kAutoconfig *ac,
							  E2kOperation *op);
E2kGlobalCatalog    *e2k_autoconfig_get_global_catalog   (E2kAutoconfig *ac,
							  E2kOperation *op);
E2kAutoconfigResult  e2k_autoconfig_check_global_catalog (E2kAutoconfig *ac,
							  E2kOperation *op);


const char          *e2k_autoconfig_lookup_option        (const char *option);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __EXCHANGE_AUTOCONFIG_H__ */