source: trunk/third/evolution/shell/Evolution-Shell.idl @ 18142

Revision 18142, 3.8 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18141, which included commits to RCS files with non-trunk default branches.
Line 
1/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2/*
3 * Interface for the Evolution shell.
4 *
5 * Authors:
6 *   Ettore Perazzoli <ettore@ximian.com>
7 *
8 * Copyright (C) 2000, 2001 Ximian, Inc.
9 */
10
11#include <Bonobo.idl>
12
13module GNOME {
14module Evolution {
15        interface ShellComponent;
16
17        interface FolderSelectionListener;
18
19        interface Shell : Bonobo::Unknown {
20                exception NotReady {};
21                exception NotFound {};
22                exception UnsupportedSchema {};
23                exception InvalidURI {};
24                exception InternalError {};
25                exception Busy {};
26
27                typedef sequence<string> FolderTypeNameList;
28
29                /* The X display name.  */
30                readonly attribute string displayName;
31
32                /**
33                 * getComponentByType:
34                 * @type: name of a valid folder type
35                 *
36                 * Get the shell component associated with a specific folder type.
37                 *
38                 * Return value: the Evolution::ShellComponent interface for the component that
39                 * handles @type.
40                 */
41                ShellComponent getComponentByType (in string type)
42                        raises (NotReady, NotFound);
43
44                /**
45                 * getIconByType:
46                 * @type: name of a valid folder type
47                 * @mini: whether or not to get a mini (16x16) icon
48                 *
49                 * Get an icon associated with a specific folder type.
50                 *
51                 * Return value: an Evolution::Icon interface for the
52                 * component that handles @type.
53                 */
54                Icon getIconByType (in string  type,
55                                    in boolean mini)
56                        raises (NotReady, NotFound);
57
58                /**
59                 * createNewView:
60                 * @uri: URI for the view to open
61                 *
62                 * Return value: the new view.
63                 */
64                ShellView createNewView (in string uri)
65                        raises (NotReady, NotFound, UnsupportedSchema, InvalidURI, InternalError);
66
67                /**
68                 * handleURI:
69                 * @uri: URI to handle
70                 *
71                 * This handles the specified URI.  It is different from
72                 * `::createNewView' as it doesn't necessarily imply creating a
73                 * new ShellView.  (For example, a `mailto:' URI will invoke
74                 * the message composer.)
75                 */
76                void handleURI (in string uri)
77                        raises (NotReady, NotFound, UnsupportedSchema, InvalidURI, InternalError);
78
79                /**
80                 * selectUserFolder:
81                 * @parent_xid: XID for the parent window (or zero if no parent window).
82                 * @listener: a listener interface to report the answer of the user.
83                 * @title: title for the folder selector dialog
84                 * @default_folder: physical or `evolution:' URI for the folder that must be
85                 * selected by default, when the dialog is popped up
86                 * @possible_types: list of the names of the types of folders that are allowed
87                 *
88                 * Pop up a folder selection dialog from which the user can select a folder.
89                 * Initially, the @default_folder is selected.  The user can also create a new
90                 * folder by using the "New..." button.  The dialog only lets the user choose
91                 * a folder whose type is listed in @possible_types.
92                 */
93                void selectUserFolder (in long long parent_xid,
94                                       in FolderSelectionListener listener,
95                                       in string title,
96                                       in string default_folder,
97                                       in FolderTypeNameList possible_types)
98                        raises (NotReady, Busy);
99
100                /**
101                 * getLocalStorage:
102                 *
103                 * Get the interface to the local storage.
104                 *
105                 * FIXME: Probably we just want to be able to request this to
106                 * the StorageRegistry.  This is an ugly kludge.
107                 *
108                 * Return value: the `Evolution::LocalStorage' interface for
109                 * the local storage.  */
110                Storage getLocalStorage ()
111                        raises (NotReady);
112
113                /**
114                 * createStorageSetView:
115                 *
116                 * Create a control for the storage set view.  This control
117                 * will also implement the `Evolution::StorageSetView' interface.
118                 *
119                 * Return value: the newly created control.
120                 */
121                Bonobo::Control createStorageSetView ()
122                        raises (NotReady);
123
124                /**
125                 * setLineStatus:
126                 *
127                 * Set the shell into on-line or off-line mode.
128                 */
129                void setLineStatus (in boolean online)
130                        raises (NotReady);
131        };
132
133        interface FolderSelectionListener {
134                void notifySelected (in Folder folder);
135                void notifyCanceled ();
136        };
137};
138};
Note: See TracBrowser for help on using the repository browser.