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
|
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* e-shell.h
*
* Copyright (C) 2000 Ximian, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU 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 General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Ettore Perazzoli
*/
#ifndef _E_SHELL_H_
#define _E_SHELL_H_
#include <liboaf/liboaf.h> /* For the registration stuff. */
#include <bonobo/bonobo-xobject.h>
#include <bonobo-conf/bonobo-config-database.h>
#ifdef __cplusplus
extern "C" {
#pragma }
#endif /* __cplusplus */
typedef struct _EShell EShell;
typedef struct _EShellPrivate EShellPrivate;
typedef struct _EShellClass EShellClass;
#include "Evolution.h"
#include "e-component-registry.h"
#include "e-shell-view.h"
#include "e-uri-schema-registry.h"
#include "e-shell-user-creatable-items-handler.h"
#include "e-local-storage.h"
#define E_TYPE_SHELL (e_shell_get_type ())
#define E_SHELL(obj) (GTK_CHECK_CAST ((obj), E_TYPE_SHELL, EShell))
#define E_SHELL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_SHELL, EShellClass))
#define E_IS_SHELL(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_SHELL))
#define E_IS_SHELL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_TYPE_SHELL))
enum _EShellLineStatus {
E_SHELL_LINE_STATUS_ONLINE,
E_SHELL_LINE_STATUS_GOING_OFFLINE,
E_SHELL_LINE_STATUS_OFFLINE
};
typedef enum _EShellLineStatus EShellLineStatus;
enum _EShellStartupLineMode {
E_SHELL_STARTUP_LINE_MODE_CONFIG,
E_SHELL_STARTUP_LINE_MODE_ONLINE,
E_SHELL_STARTUP_LINE_MODE_OFFLINE
};
typedef enum _EShellStartupLineMode EShellStartupLineMode;
struct _EShell {
BonoboXObject parent;
EShellPrivate *priv;
};
struct _EShellClass {
BonoboXObjectClass parent_class;
POA_GNOME_Evolution_Shell__epv epv;
void (* no_views_left) (EShell *shell);
void (* line_status_changed) (EShell *shell, EShellLineStatus status);
void (* new_view_created) (EShell *shell, EShellView *view);
};
/* ID for registering the shell in the OAF name service. */
#define E_SHELL_OAFIID "OAFIID:GNOME_Evolution_Shell"
enum _EShellConstructResult {
E_SHELL_CONSTRUCT_RESULT_OK,
E_SHELL_CONSTRUCT_RESULT_INVALIDARG,
E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER,
E_SHELL_CONSTRUCT_RESULT_NOCONFIGDB,
E_SHELL_CONSTRUCT_RESULT_GENERICERROR
};
typedef enum _EShellConstructResult EShellConstructResult;
#include "e-shortcuts.h"
GtkType e_shell_get_type (void);
EShellConstructResult e_shell_construct (EShell *shell,
const char *iid,
const char *local_directory,
gboolean show_splash,
EShellStartupLineMode startup_line_mode);
EShell *e_shell_new (const char *local_directory,
gboolean show_splash,
EShellStartupLineMode startup_line_mode,
EShellConstructResult *construct_result_return);
EShellView *e_shell_create_view (EShell *shell,
const char *uri,
EShellView *template_view);
EShellView *e_shell_create_view_from_uri_and_settings (EShell *shell,
const char *uri,
int view_num);
gboolean e_shell_request_close_view (EShell *shell,
EShellView *view);
const char *e_shell_get_local_directory (EShell *shell);
EShortcuts *e_shell_get_shortcuts (EShell *shell);
EStorageSet *e_shell_get_storage_set (EShell *shell);
ELocalStorage *e_shell_get_local_storage (EShell *shell);
EFolderTypeRegistry *e_shell_get_folder_type_registry (EShell *shell);
EUriSchemaRegistry *e_shell_get_uri_schema_registry (EShell *shell);
gboolean e_shell_save_settings (EShell *shell);
gboolean e_shell_restore_from_settings (EShell *shell,
gboolean restore_all_views);
void e_shell_destroy_all_views (EShell *shell);
void e_shell_unregister_all (EShell *shell);
void e_shell_disconnect_db (EShell *shell);
void e_shell_component_maybe_crashed (EShell *shell,
const char *uri,
const char *type_name,
EShellView *shell_view);
EShellLineStatus e_shell_get_line_status (EShell *shell);
void e_shell_go_offline (EShell *shell,
EShellView *action_view);
void e_shell_go_online (EShell *shell,
EShellView *action_view);
void e_shell_set_interactive (EShell *shell,
gboolean interactive);
void e_shell_send_receive (EShell *shell);
void e_shell_show_settings (EShell *shell,
const char *type,
EShellView *shell_view);
Bonobo_ConfigDatabase e_shell_get_config_db (EShell *shell);
EComponentRegistry *e_shell_get_component_registry (EShell *shell);
EShellUserCreatableItemsHandler *e_shell_get_user_creatable_items_handler (EShell *shell);
gboolean e_shell_prepare_for_quit (EShell *shell);
const char *e_shell_construct_result_to_string (EShellConstructResult result);
gboolean e_shell_parse_uri (EShell *shell,
const char *uri,
char **path_return,
char **extra_return);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _E_SHELL_H_ */
|