/* * * $Id: k3binterface.h 619556 2007-01-03 17:38:12Z trueg $ * Copyright (C) 2003 Sebastian Trueg * * This file is part of the K3b project. * Copyright (C) 1998-2007 Sebastian Trueg * * 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. * See the file "COPYING" for the exact licensing terms. */ #ifndef _K3B_INTERFACE_H_ #define _K3B_INTERFACE_H_ #include #include #include #include class K3bMainWindow; namespace K3bDevice { class Device; } class K3bInterface : public DCOPObject { K_DCOP public: K3bInterface(); void setMainWindow( K3bMainWindow* mw ) { m_main = mw; } k_dcop: /** * returns a DCOPRef to a K3bProjectInterface */ DCOPRef createDataCDProject(); DCOPRef createAudioCDProject(); DCOPRef createMixedCDProject(); DCOPRef createVideoCDProject(); DCOPRef createMovixCDProject(); DCOPRef createDataDVDProject(); DCOPRef createVideoDVDProject(); DCOPRef createMovixDVDProject(); /** * Returns a reference to the currently active project. * This is useful to do things like: * *
k3b --audiocd
* and then use dcop on the newly created project via: *
dcop $(dcop k3b K3bInterface currentProject) something
*/ DCOPRef currentProject(); DCOPRef openProject( const KURL& url ); TQValueList projects(); void copyCd(); void copyDvd(); void copyCd( const KURL& dev ); void copyDvd( const KURL& dev ); void eraseCdrw(); void formatDvd(); void burnCdImage( const KURL& url ); void burnDvdImage( const KURL& url ); /** * Open the audio ripping window for the specified device. */ void cddaRip( const KURL& dev ); /** * Add URLs to the current active project. * If no project is open a new Audio or Data CD * project will be created depending on the type * of the first file. */ void addUrls( const KURL::List& urls ); void addUrl( const KURL& url ); /** * @return true if currently some job is running. */ bool blocked() const; private: K3bMainWindow* m_main; K3bDevice::Device* m_lastDevice; }; #endif