aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-shell-component.h
blob: a1a70ebafa5eb454879df559dbb8b0c33d6aa214 (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
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* evolution-shell-component.h
 *
 * Copyright (C) 2000  Helix Code, Inc.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * 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 EVOLUTION_SHELL_COMPONENT_H
#define EVOLUTION_SHELL_COMPONENT_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <bonobo/bonobo-object.h>
#include <bonobo/bonobo-control.h>

#include "Evolution.h"

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

#define EVOLUTION_TYPE_SHELL_COMPONENT            (evolution_shell_component_get_type ())
#define EVOLUTION_SHELL_COMPONENT(obj)            (GTK_CHECK_CAST ((obj), EVOLUTION_TYPE_SHELL_COMPONENT, EvolutionShellComponent))
#define EVOLUTION_SHELL_COMPONENT_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), EVOLUTION_TYPE_SHELL_COMPONENT, EvolutionShellComponentClass))
#define EVOLUTION_IS_SHELL_COMPONENT(obj)         (GTK_CHECK_TYPE ((obj), EVOLUTION_TYPE_SHELL_COMPONENT))
#define EVOLUTION_IS_SHELL_COMPONENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), EVOLUTION_TYPE_SHELL_COMPONENT))


typedef struct _EvolutionShellComponent        EvolutionShellComponent;
typedef struct _EvolutionShellComponentPrivate EvolutionShellComponentPrivate;
typedef struct _EvolutionShellComponentClass   EvolutionShellComponentClass;

enum _EvolutionShellComponentResult {
    EVOLUTION_SHELL_COMPONENT_OK,
    EVOLUTION_SHELL_COMPONENT_CORBAERROR,
    EVOLUTION_SHELL_COMPONENT_INTERRUPTED,
    EVOLUTION_SHELL_COMPONENT_INVALIDARG,
    EVOLUTION_SHELL_COMPONENT_ALREADYOWNED,
    EVOLUTION_SHELL_COMPONENT_NOTOWNED,
    EVOLUTION_SHELL_COMPONENT_NOTFOUND,
    EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE,
    EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDOPERATION,
    EVOLUTION_SHELL_COMPONENT_INTERNALERROR,
    EVOLUTION_SHELL_COMPONENT_BUSY,
    EVOLUTION_SHELL_COMPONENT_EXISTS,
    EVOLUTION_SHELL_COMPONENT_INVALIDURI,
    EVOLUTION_SHELL_COMPONENT_PERMISSIONDENIED,
    EVOLUTION_SHELL_COMPONENT_HASSUBFOLDERS,
    EVOLUTION_SHELL_COMPONENT_NOSPACE,
    EVOLUTION_SHELL_COMPONENT_UNKNOWNERROR
};
typedef enum _EvolutionShellComponentResult EvolutionShellComponentResult;

typedef EvolutionShellComponentResult (* EvolutionShellComponentCreateViewFn)
                                                   (EvolutionShellComponent *shell_component,
                            const char *physical_uri,
                            const char *type,
                            BonoboControl **control_return,
                            void *closure);
typedef void (* EvolutionShellComponentCreateFolderFn) (EvolutionShellComponent *shell_component,
                                const char *physical_uri,
                                const char *type,
                                const Evolution_ShellComponentListener listener,
                                void *closure);
typedef void (* EvolutionShellComponentRemoveFolderFn) (EvolutionShellComponent *shell_component,
                                const char *physical_uri,
                                const Evolution_ShellComponentListener listener,
                                void *closure);

struct _EvolutionShellComponentFolderType {
    char *name;
    char *icon_name;
};
typedef struct _EvolutionShellComponentFolderType EvolutionShellComponentFolderType;

struct _EvolutionShellComponent {
    BonoboObject parent;

    EvolutionShellComponentPrivate *priv;
};

struct _EvolutionShellComponentClass {
    BonoboObjectClass parent_class;

    /* Signals.  */

    void (* owner_set)   (EvolutionShellComponent *shell_component,
                  Evolution_Shell shell_interface);
    void (* owner_unset) (EvolutionShellComponent *shell_component);
};


GtkType                  evolution_shell_component_get_type   (void);
void                     evolution_shell_component_construct  (EvolutionShellComponent                 *shell_component,
                                   const EvolutionShellComponentFolderType  folder_types[],
                                   Evolution_ShellComponent                 corba_object,
                                   EvolutionShellComponentCreateViewFn      create_view_fn,
                                   EvolutionShellComponentCreateFolderFn    create_folder_fn,
                                   EvolutionShellComponentRemoveFolderFn    remove_folder_fn,
                                   void                                    *closure);
EvolutionShellComponent *evolution_shell_component_new        (const EvolutionShellComponentFolderType  folder_types[],
                                   EvolutionShellComponentCreateViewFn      create_view_fn,
                                   EvolutionShellComponentCreateFolderFn    create_folder_fn,
                                   EvolutionShellComponentRemoveFolderFn    remove_folder_fn,
                                   void                                    *closure);
Evolution_Shell          evolution_shell_component_get_owner  (EvolutionShellComponent                 *shell_component);

#ifdef cplusplus
}
#endif /* cplusplus */

#endif /* EVOLUTION_SHELL_COMPONENT_H */
47286223f973063ae61'>- Update from 0.10.1 to 0.10.2danilo2014-07-043-30/+32 * Remove NOPORTDOCS and NOPORTEXAMPLES.adamw2014-07-0447-131/+125 * devel/py-unipathwg2014-07-044-0/+32 * - update to 1.109leeym2014-07-042-3/+3 * - Drop .la files, no dependees require themamdmi32014-07-042-3/+2 * - Switch to USES=libtool, drop .la filesamdmi32014-07-042-8/+11 * - Switch math/cloog to USES=libtool, drop .la filesamdmi32014-07-041-0/+1 * - Switch to USES=libtool, drop .la filesamdmi32014-07-042-3/+6 * - Switch graphics/sdl2_ttf to USES=libtool, drop .la filesamdmi32014-07-041-0/+1 * - Add LICENSEsunpoet2014-07-041-3/+6 * devel/rubygem-table_print: upgrade to 1.5.3, assign maintainerxmj2014-07-042-4/+4 * devel/rubygem-kafo_parsers: upgrade to 0.0.3xmj2014-07-043-5/+5 * - Reformat pkg-descrsunpoet2014-07-042-10/+10 * Avoid unnecessary bsd.port.options.mk inclusion by usingadamw2014-07-041-17/+9 * - Add LICENSEsunpoet2014-07-042-1/+3 * Update to 1.8.6.kwm2014-07-033-4/+4 * - Update to 0.65culot2014-07-033-3/+14 * - Update to 2.00culot2014-07-033-9/+3 * devel/llvm34: convert to new LIB_DEPENDS formatrobak2014-07-031-1/+1 * devel/llvm34: convert to new LIB_DEPENDS formatrobak2014-07-031-1/+1 * devel/llvm32: convert to new LIB_DEPENDS formatrobak2014-07-031-1/+1 * devel/libassetml: convert to new LIB_DEPENDS formatrobak2014-07-031-1/+1 * Library that provides GLib and Gtk implementation of the DBusMenu protocol.olivierd2014-07-038-0/+214 * Switch to use rpm 4 as the default rpmbapt2014-07-032-5/+6 * - Update to 3.0.2olivierd2014-07-032-4/+4 * - Update to 1.570lwhsu2014-07-032-3/+3 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-2/+5 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-4/+3 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-5/+3 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-5/+4 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-2/+3 * - Update rails and friend to 3.2.19swills2014-07-032-3/+3 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-4/+7 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-1/+3 * - Switch devel/argtable to USES=libtool, drop .la filesamdmi32014-07-032-3/+6 * - Finalize switch to USES=libtoolamdmi32014-07-031-1/+1 * - Use new LIB_DEPENDS syntaxamdmi32014-07-032-4/+5 * - Bump PORTREVISION as plist has changedamdmi32014-07-031-1/+1 * - Use USES=libtool features to simplify buildamdmi32014-07-032-5/+1 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-4/+3 * devel/pypymplerwg2014-07-035-0/+55 * - Switch to USES=libtool, drop .la filesamdmi32014-07-033-3/+15 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-3/+2 * - Switch to USES=libtool, drop .la filesamdmi32014-07-032-3/+3 * devel/py-yappi: upgrade to 0.92xmj2014-07-033-32/+4 * Add p5-Term-EditLine, a Perl interface to the NetBSD editline library.ehaupt2014-07-025-0/+34 * Update to 6.2.7arved2014-07-023-3/+9 * Bump PORTREVISION because of recent changes.demon2014-07-021-1/+1 * devel/libepp-nicbr: convert to new LIB_DEPENDS formatrobak2014-07-021-1/+1 * devel/doxygen: convert to new LIB_DEPENDS formatrobak2014-07-021-1/+1 * Both LOG_DIR and PID_DIR are created during package installation withdemon2014-07-025-60/+0 * Upgrade to version 2.24.joerg2014-07-0223-8119/+26 * Upgrade to version 6.11.joerg2014-07-022-3/+3 * Remove extra +demon2014-07-021-1/+1 * With jetty-6.1.26 tasktracker's threads hung with the following error:demon2014-07-023-3/+12 * Do not hardcode make and pass CPPFLAGS to CFLAGS to fix build with no readlin...bapt2014-07-021-1/+2 * - Switch to USES=libtool, drop .la filesamdmi32014-07-022-6/+4 * devel/dbus-glib: convert to new LIB_DEPENDS formatrobak2014-07-021-1/+1 * devel/gobject-introspection: convert to new LIB_DEPENDS formatrobak2014-07-021-1/+1 * devel/py-click: update 2.1 -> 2.2robak2014-07-022-3/+3 * Make those ports more likely to build with texinfo from portsantoine2014-07-022-5/+13 * It seems to work with openjdk8 as well.demon2014-07-021-1/+1 * - Switch to USES=libtool, drop .la filesamdmi32014-07-012-6/+6 * - Switch to USES=libtool, drop .la filesamdmi32014-07-012-4/+4 * devel/py-flake8: update to 2.2.1wg2014-07-012-3/+3 * - Support staging.vg2014-07-012-42/+40 * Use different users for HDFS- and MapReduce-related daemons.demon2014-07-017-21/+24 * Update to version 1.77az2014-07-012-3/+6 * - Switch to USES=libtool, drop .la filesamdmi32014-07-012-2/+3 * Fix building with readline from ports and do not hardcode the gcc versionbapt2014-07-011-4/+4 * - Switch to USES=libtool, drop .la filesamdmi32014-07-012-3/+4 * - Switch to USES=libtool, drop .la filesamdmi32014-07-012-3/+4 * devel/p5-Config-Properties: reset maintainershipwg2014-07-011-1/+1 * Fix build with readline from portsbapt2014-07-011-2/+1 * Fix build with readline from portsbapt2014-07-011-0/+1 * I did not success in running it with openjdk6, but I have more luck withdemon2014-07-011-1/+1 * Assume maintainershipdemon2014-07-011-1/+1 * Fix build with readline from portsbapt2014-07-011-1/+1 * - Fix build when CXX contains spacesgblach2014-07-011-1/+1 * - Upgrade to 0.3.1.vg2014-07-013-10/+12 * - Switch to USES=libtool, drop .la filesamdmi32014-07-012-4/+3 * - Switch to USES=libtool, drop .la filesamdmi32014-07-012-1/+3 * - Switch to USES=libtool, drop .la filesamdmi32014-07-011-4/+5 * Update WWW: homepage link.kevlo2014-07-012-2/+2 * Fix build with readline from portsbapt2014-07-011-1/+1 * Update to findlib 1.5.1johans2014-07-018-91/+118 * - Take maintainershipsunpoet2014-07-0139-39/+39 * - Update to 0.13delphij2014-07-013-15/+28 * * devel/awscli - update to 1.3.20alexey2014-06-304-7/+7 * - Switch to USES=libtool, drop .la filesamdmi32014-06-302-4/+4 * Remove "mkdir -p %%EXAMPLESDIR%%/contrib" from pkg-plist.olgeni2014-06-302-1/+1 * Fix KWallet / GNOMe Keyring integration: eanble code in "main" librarieslev2014-06-301-0/+3 * - Update to 0.36jadawin2014-06-302-3/+6 * - Update to 0.43jadawin2014-06-302-3/+3 * - Update to 0.928jadawin2014-06-302-3/+3 * - Update to 1.13jadawin2014-06-302-3/+3 * - Update to 1.34jadawin2014-06-302-3/+3 * - Update to 0.21jadawin2014-06-302-3/+6 * Update to version 4.5.23.bsam2014-06-303-3/+6 * - Add STAGE supportashish2014-06-302-5/+9 * fix plist issuedaichi2014-06-302-10/+27 * - stagefieddaichi2014-06-302-81/+32 * multiple: reset gslin's maintainereadler2014-06-3045-45/+45 * - Update to 0.06sunpoet2014-06-302-5/+11 * - Update to 1.5.1gblach2014-06-292-5/+4 * Allow to build with texinfo from portsantoine2014-06-291-1/+1 * - update to 3.47leeym2014-06-292-3/+3 * Revive devel/codeville and assign new maintainermarino2014-06-297-0/+176 * - Add a workaround to fix conflicts with tests/__init__.pymiwi2014-06-291-0/+3 * - update to 0.23.04leeym2014-06-292-3/+3 * - Forgot to bump PORTREVISIONjhale2014-06-281-0/+1 * - USES=libtool, drop .a and .la filesjhale2014-06-282-7/+5 * - Support STAGEDIRtota2014-06-281-11/+12 * - Unbreak ports, which installed setup.py files due to the messed up argumentmva2014-06-2810-474/+11 * Unbreak at runtineantoine2014-06-282-0/+2 * Allow to build with texinfo from portsantoine2014-06-281-1/+1 * - Fix buildmiwi2014-06-281-0/+1 * USES= tar:xzbapt2014-06-281-2/+1 * Allow building with newer texinfoantoine2014-06-281-5/+22 * devel/ocfpcsc: support stagewg2014-06-284-31/+64 * Allow to build with texinfo from portsantoine2014-06-281-1/+1 * Remove reference to dead ode-develantoine2014-06-281-2/+0 * 2014-06-27 devel/ode-devel: Outdated by devel/odeantoine2014-06-287-132/+0 * Fix after sqlite3 updateantoine2014-06-281-1/+1 * - upgrade to 0.99.08leeym2014-06-282-3/+3 * - Chase database/sqlite3 slib bumpmiwi2014-06-2811-9/+11 * devel/py-pygit2: update to 0.21.0wg2014-06-282-4/+7 * devel/libgit2: update to 0.21.0wg2014-06-283-8/+12 * - Update to 0.4.2miwi2014-06-272-4/+4 * - Update to 1.0.3miwi2014-06-272-3/+4 * - Add stage supportdanilo2014-06-272-17/+10 * - Properly remove references to deprecated emacs versions, and unbreak INDEXashish2014-06-272-8/+0 * - Remove editors/emacs21, and editors/emacs22 as they're no longer maintainedashish2014-06-274-19/+0 * devel/py-demjson: update 2.2 -> 2.2.2robak2014-06-272-3/+4 * devel/mercurial: Add FREEBSD option for authormapsuffix patchkoobs2014-06-272-1/+173 * - Update to 1.0.9sunpoet2014-06-272-3/+3 * - Update to 0.1.1sunpoet2014-06-272-3/+3 * - Set EXPIRATION_DATE to 2014-07-27sunpoet2014-06-271-0/+1 * - Update to 0.19sunpoet2014-06-272-4/+4 * - Update to 0.08220sunpoet2014-06-272-3/+3 * - Update to 1.50culot2014-06-272-3/+3 * - Update to 1.16culot2014-06-272-3/+5 * - Update to 2.60culot2014-06-272-3/+3 * - Update to 0.009culot2014-06-272-3/+3 * devel/py-pygithub: Update to 1.25.0koobs2014-06-272-4/+4 * Update to 5.0.1.romain2014-06-276-134/+249 * Convert to USES=libtoolbapt2014-06-271-13/+7 * devel/py-pbr: Update to 0.8.2koobs2014-06-272-4/+4 * Update to 1.3.6.delphij2014-06-272-4/+4 * Update to 1.3.6 pl01delphij2014-06-272-4/+4 * Upgrade to 1.64.brooks2014-06-274-58/+269 * - Added stage support [1]lth2014-06-271-5/+6 * Update gitolite to 3.6.1,1milki2014-06-273-4/+8 * - Switch to USES= libtool tar:bzip2olivierd2014-06-272-6/+2 * - Drop .la files, no dependees require themamdmi32014-06-262-3/+2 * Allow to build with texinfo from portsantoine2014-06-261-1/+1 * - Update to 0.62sunpoet2014-06-262-3/+4 * - Update to 1.0.8sunpoet2014-06-262-3/+3 * - Update to 0.1.0sunpoet2014-06-263-6/+7 * - Add rubygem-inflecto 0.0.2sunpoet2014-06-264-0/+26 * - Update to 0.19sunpoet2014-06-262-3/+3 * - Update to 0.008sunpoet2014-06-262-3/+3 * - Cosmetic changesunpoet2014-06-261-2/+1 * Allow to build with texinfo from portsantoine2014-06-261-0/+2 * Allow to build with texinfo from portsantoine2014-06-26