aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.h
blob: 818ba0233fd4f2262fe91343d492724f8bba6516 (plain) (blame)
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
/* -*- 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-shortcuts.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);
};


/* 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;



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_settings  (EShell     *shell,
                        const char *uri,
                        EShellView  *template_view,
                        int         view_num,
                        gboolean   *settings_found);

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);

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_send_receive  (EShell *shell);

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);


const char *e_shell_construct_result_to_string (EShellConstructResult result);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* _E_SHELL_H_ */
puter series and other Z80 basedpawel2011-12-235-0/+348 * - Add fix for build failure on FreeBSD 10-CURRENT after r228444decke2011-12-232-0/+38 * - New port: emulators/mupen64plus-pluginsacm2011-12-213-0/+53 * - New port: emulators/mupen64plus-video-z64acm2011-12-212-0/+31 * - New port: emulators/mupen64plus-video-glide64acm2011-12-212-0/+31 * - New port: emulators/mupen64plus-video-arachnoidacm2011-12-212-0/+31 * - New port: emulators/mupen64plus-rsp-z64acm2011-12-212-0/+31 * - Preparing for new mupen64plus plugin portsacm2011-12-215-7/+37 * Update to Wine 1.3.35. This includes the following changes:gerald2011-12-206-6/+16 * - New port: emulators/wxmupen64plusacm2011-12-186-0/+110 * - Update to latest 1.99.4 (hg bitbucket) versionacm2011-12-1810-24/+63 * Unbreak by fixig emulators/seabios-devel dependency.nox2011-12-131-2/+3 * Update to 1.6.3.1 .nox2011-12-102-6/+7 * - Disallow from pointyhat, tries to fetch from svn during extract stagepav2011-12-061-0/+2 * Mirror main distfile on MASTER_SITE_LOCAL as original mastersite seemsnox2011-12-061-4/+3 * Update to Wine 1.3.34. This includes the following changes:gerald2011-12-036-6/+8 * Update to 1.0, announce message is here:nox2011-12-038-86/+37 * - Update to 4.0.14decke2011-12-036-13/+11 * - Fix error check for aio_errordecke2011-12-022-0/+17 * - Fix panic: mutex vm page queue free mutex not owned on 10-CURRENTdecke2011-12-023-4/+56 * - Update to 20111108gabor2011-11-294-10389/+11093 * (Attempt to) fix build WITH_ALL_TARGETS on < 9.x/i386nox2011-11-271-1/+1 * Port for package building of virtio kernel lodable modules.kuriyama2011-11-215-0/+102 * - Update to 1.4 [1]rene2011-11-214-12/+12 * Update to Wine 1.3.33. This includes the following changes:gerald2011-11-196-8/+24 * Update to 1.28rene2011-11-192-5/+5 * Remove trailing whitespaces.ehaupt2011-11-191-1/+1 * Update to 1.27 which works properly on amd64 and does not need therene2011-11-157-112/+7 * Add a knob DOSBOX to control an optional run-time dependency on DOSBox.gerald2011-11-132-0/+10 * Mark as broken on powerpc: does not compile.linimon2011-11-112-2/+14 * Mark as broken on tier-2: uses i386 asm.linimon2011-11-111-0/+4 * Mark as broken on powerpc: uses i386-specific option.linimon2011-11-111-0/+3 * Mark as broken on powerpc: does not compile.linimon2011-11-111-0/+3 * Also broken on powerpc: uses i386 asm.linimon2011-11-101-0/+1 * Mark broken on powerpc as well as sparc64. (In fact, on all the tier-2s.)linimon2011-11-102-8/+5 * - Mark BROKEN: does not compilepav2011-11-091-0/+2 * - Mark BROKEN: does not compilepav2011-11-081-0/+2 * - Bump PORTREVISION which was missing since adding PG_UNMANAGED patch for HEADdecke2011-11-072-7/+8 * - Get rid FreeBSD 6 supportmiwi2011-11-074-13/+3 * Update to Wine 1.3.32. This includes the following changes:gerald2011-11-066-6/+10 * - Fix dfbinimage2 CD handling (program identification)martymac2011-11-033-3/+26 * Remove useless dependency on gnomelibsmartymac2011-11-031-1/+2 * - fix explicit use of unzip in portseadler2011-11-031-1/+1 * Add EXPIRATION_DATE= 2011-11-30 to recently BROKEN ports that do notdougb2011-11-021-0/+1 * The vast majority of pkg-descr files had the following format when theydougb2011-10-248-19/+4 * Remove more tags from pkg-descr files fo the form:dougb2011-10-2412-34/+0 * - Respect STRIP [1]nox2011-10-231-1/+5 * - Respect CC (sgabios) [1]nox2011-10-232-9/+33 * Update to Wine 1.3.31. This includes the following changes:gerald2011-10-226-6/+14 * Fix build with gcc 4.6pawel2011-10-223-0/+23 * Mark BROKEN: does not builderwin2011-10-201-0/+2 * Update to 0.9.96ehaupt2011-10-198-124/+24 * - Add LICENSEehaupt2011-10-182-2/+6 * - Update to 425873swills2011-10-156-51/+26 * Update to 0.15.1 - Changelog:nox2011-10-145-94/+42 * Joytran is a joystick to keyboard/mouse events translator written in C.pawel2011-10-134-0/+51 * Should only be BROKEN if compiled with X11. open-vm-tools-nox11 still buildslx2011-10-121-4/+4 * Update to Wine 1.3.30. This includes the following changes:gerald2011-10-116-8/+10 * Welcome Dolphin-emu, a free Wii/GC emulatormartymac2011-10-038-0/+1575 * - Incorporate Quilt MZ80 patches for non-i386 and add legal notificationsrene2011-10-017-13/+91 * - Mark BROKEN: does not compilepav2011-09-251-0/+2 * - Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)amdmi32011-09-2441-74/+57 * Update to Wine 1.3.29. This includes the following changes:gerald2011-09-246-12/+10 * Add XInput2 (aka x11/libXi aka xi.6) as an explicit dependency.gerald2011-09-202-4/+6 * Fix building for OSVERSION >= 900044.bsam2011-09-191-0/+8 * - Add ahci emulation fix for FreeBSD guests. [1]nox2011-09-173-1/+38 * SeaBIOS is an open source implementation of a 16bit X86 BIOS. SeaBIOSnox2011-09-174-0/+62 * Update to Wine 1.3.28. This includes the following changes:gerald2011-09-116-6/+22 * - Fix SFML dependency (use LIB_DEPENDS as now sfml installs numbered .so libr...amdmi32011-09-091-3/+3 * - emulators/wahcade: eliminate py-elementtree dependency [0]eadler2011-09-081-2/+1 * - Update to version 1.3danfe2011-09-066-18/+20 * Update to 20110826.stefan2011-09-049-1552/+19 * Add LICENSE (GPLv2) and relinquish to the pool.danfe2011-09-011-1/+3 * Minor language fixes.danfe2011-09-012-4/+4 * 2011-09-01 deskutils/gkrellm-gtodo: No more public distfilesbapt2011-09-0122-6082/+0 * Fix build under 7.xzi2011-09-011-0/+4 * - Fix SMC91c111 device emulation in qemu. This allows FreeBSD to boot onstas2011-08-312-1/+39 * Update to Wine 1.3.26. This includes the following changes:gerald2011-08-286-12/+14 * - Update MASTER_SITES and WWW: linemiwi2011-08-262-11/+9 * - Fix MASTER_SITESmiwi2011-08-261-7/+8 * Fix last-minute Makefile edit that broke the build WITH_GNS3.nox2011-08-261-5/+1 * - Undeprecate.stas2011-08-241-8/+2 * Chase libnotify, libproxy and webkit-gtk2 shlib changes, and fix build where ...kwm2011-08-241-2/+2 * Update to 0.9.7zi2011-08-232-7/+13 * Geocities has been gone for almost 2 years now, so let's removedougb2011-08-231-1/+0 * - Update to 0.15.0 - Changelog:nox2011-08-2117-2911/+218 * - Update to version 0.6.3, which features number of bug fixes and "netbook"danfe2011-08-205-46/+19 * - Update to 20110809gabor2011-08-194