/***************************************************************************
                          dcopiface_shell.h  -  description
                             -------------------
    begin                : Tue Oct 23 2001
    copyright            : (C) 2001, 2002, 2003 by The KXMLEditor Team
    email                : lvanek@users.sourceforge.net
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/
#ifndef DCOPIFACE_SHELL_H
#define DCOPIFACE_SHELL_H

#include <dcopobject.h>
#include <kurl.h>

/**
	*@short DCOP inteface for Kpart based kxmleditor shell.
  *@author The KXMLEditor Team
	* See the shell iface as an user, who can perform the _shell_ actions a live user can.
	* This means opening a file via an fileopen dialog and not by giving a filename/url (this is up to the part's iface - but read on, I'll come back to it later). This means your openURL function should simply "open" and should show the file open dialog.
  */
class KXMLEditorShell;

class KXMLEditorShellIface
	:virtual public DCOPObject
{
	K_DCOP
protected:
	/**
	Pointer to @ref KXMLEditorShell which iface manages.
	**/
	KXMLEditorShell	& m_KXEShell;
public:
	/**
	* Default constructor with default name of DCOP object used by @ref KXMLEditorShell
	**/
	KXMLEditorShellIface(KXMLEditorShell & KXEShell, const char * szDCOPObjectName = "KXMLEditorShellIface")
		:DCOPObject(szDCOPObjectName)
		,m_KXEShell(KXEShell)
			{
//				m_pKXEShell = pKXEShell;
			}
k_dcop:

	/**
	* Closes entire KXMLEditor.
	*
	* @returns Error description or empty string if program closed.
	**/
	TQString Quit();


	/**
	* Calls and shows open file dialog.
	**/

	ASYNC FileOpen();


};

#endif // DCOPIFACE_SHELL_H

