/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Interface for the Evolution components. * * Authors: * Ettore Perazzoli * * Copyright (C) 2000, 2001 Ximian, Inc. */ #include module GNOME { module Evolution { interface Shell; struct FolderType { string name; string iconName; string displayName; string description; boolean userCreatable; sequence acceptedDndTypes; sequence exportedDndTypes; }; typedef sequence FolderTypeList; typedef string URISchema; typedef sequence URISchemaList; struct UserCreatableItemType { string id; string description; string menuDescription; char menuShortcut; }; typedef sequence UserCreatableItemTypeList; interface ShellComponentListener; interface ShellComponent : Bonobo::Unknown { readonly attribute FolderTypeList supportedTypes; readonly attribute URISchemaList externalUriSchemas ; readonly attribute UserCreatableItemTypeList userCreatableItemTypes; exception AlreadyOwned {}; exception OldOwnerHasDied {}; void setOwner (in Shell shell, in string evolution_homedir) raises (AlreadyOwned, OldOwnerHasDied); exception NotOwned {}; void unsetOwner () raises (NotOwned); void interactive (in boolean now_interactive); void debug (in string log_path); /* FIXME: We might want more exceptions here. */ exception NotFound {}; exception UnsupportedType {}; exception UnsupportedSchema {}; exception InternalError {}; Bonobo::Control createView (in string physical_uri, in string type) raises (NotFound, UnsupportedType, InternalError); void handleExternalURI (in string external_uri) raises (NotFound, UnsupportedSchema, InternalError); exception Busy {}; void createFolderAsync (in ShellComponentListener listener, in string physical_uri, in string type) raises (Busy); void removeFolderAsync (in ShellComponentListener listener, in string physical_uri, in string type) raises (Busy); void xferFolderAsync (in ShellComponentListener listener, in string source_physical_uri, in string destination_physical_uri, in string type, in boolean remove_source) raises (Busy); void populateFolderContextMenu (in Bonobo::UIContainer uih, in string physical_uri, in string type); void userCreateNewItem (in string id, in string parent_folder_physical_uri, in string parent_folder_type) raises (UnsupportedType); }; interface ShellComponentListener { enum Result { OK, UNSUPPORTED_OPERATION, UNSUPPORTED_TYPE, EXISTS, INVALID_URI, PERMISSION_DENIED, HAS_SUBFOLDERS, NO_SPACE }; void notifyResult (in Result result); }; }; };