/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Interface for the Evolution shell. * * Authors: * Ettore Perazzoli * * Copyright (C) 2000, 2001 Ximian, Inc. */ #include module GNOME { module Evolution { interface ShellComponent; interface FolderSelectionListener; interface Shell : Bonobo::Unknown { exception NotFound {}; exception Busy {}; /** * getComponentByType: * @type: name of a valid folder type * * Get the shell component associated with a specific folder type. * * Return value: the Evolution::ShellComponent interface for the component that * handles @type. */ ShellComponent getComponentByType (in string type) raises (NotFound); typedef sequence FolderTypeNameList; /** * createNewView: * @uri: URI for the view to open * * Return value: the new view. */ ShellView createNewView (in string uri); /** * selectUserFolder: * @listener: a listener interface to report the answer of the user. * @title: title for the folder selector dialog * @default_folder: physical or `evolution:' URI for the folder that must be * selected by default, when the dialog is popped up * @possible_types: list of the names of the types of folders that are allowed * * Pop up a folder selection dialog from which the user can select a folder. * Initially, the @default_folder is selected. The user can also create a new * folder by using the "New..." button. The dialog only lets the user choose * a folder whose type is listed in @possible_types. */ void selectUserFolder (in FolderSelectionListener listener, in string title, in string default_folder, in FolderTypeNameList possible_types) raises (Busy); /** * getLocalStorage: * * Get the interface to the local storage. * * FIXME: Probably we just want to be able to request this to * the StorageRegistry. This is an ugly kludge. * * Return value: the `Evolution::LocalStorage' interface for * the local storage. */ LocalStorage getLocalStorage (); /** * createStorageSetView: * * Create a control for the storage set view. This control * will also implement the `Evolution::StorageSetView' interface. * * Return value: the newly created control. */ Bonobo::Control createStorageSetView (); }; interface FolderSelectionListener { void notifySelected (in string uri, in string physical_uri); void notifyCanceled (); }; }; };