/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Interfaces for the importer framework. * * Authors: * Iain Holmes * * Copyright (C) 2000 Ximian, Inc. */ #include module GNOME { module Evolution { interface ImporterListener : Bonobo::Unknown { enum ImporterResult { OK, UNSUPPORTED_OPERATION, NOT_READY, BUSY, UNKNOWN_DATA, BAD_DATA, BAD_FILE }; /** * notifyResult: * @result: The result of the import. * @more_items: Are there any more items to be processed? * * Notifies the listener of the result and whether there are * any more items to be imported. */ oneway void notifyResult (in ImporterResult result, in boolean more_items); }; interface Importer : Bonobo::Unknown { /** * processItem: * @listener: The ImporterListener that will be notified of the * progress. * * Processes the next item. * */ oneway void processItem (in ImporterListener listener); /** * getError: * * Retrieve a detailed explaination of the error. * * Returns: A string. */ string getError (); /** * supportFormat: * @filename: The filename of the file. * * Checks if the importer created by this factory can * import the file specified. * * Returns: A boolean, TRUE if it can import the file, * FALSE otherwise. */ boolean supportFormat (in string filename); /** * loadFile: * @filename: The filename of the file. * @folderpath: The full pathname to the folder. * * Loads the file and prepares an Importer object that can * process files of this type. * * Returns: An Importer object. */ boolean loadFile (in string filename, in string folderpath); }; interface IntelligentImporter : Bonobo::Unknown { readonly attribute string importername; readonly attribute string message; boolean canImport (); void importData (); }; }; };