// Jeff Mitchell , (C) 2006 // License: GNU General Public License V2 #ifndef METABUNDLESAVER_H #define METABUNDLESAVER_H #include #include #include //inline functions #include //inline functions #include #include "expression.h" #include "atomicstring.h" #include "atomicurl.h" #include "amarok_export.h" namespace TagLib { class FileRef; } /** * @class MetaBundleSaver * @author Jeff Mitchell */ class LIBAMAROK_EXPORT MetaBundleSaver : public TQObject { Q_OBJECT TQ_OBJECT public: MetaBundleSaver( MetaBundle *bundle ); ~MetaBundleSaver(); //bool scannerSafeSave( TagLib::File* file ); TagLib::FileRef* prepareToSave(); bool doSave(); bool cleanupSave(); void abortSave( const TQString message ); private: MetaBundle *m_bundle; TQString m_tempSavePath; TQString m_origRenamedSavePath; TQCString m_tempSaveDigest; TagLib::FileRef* m_saveFileref; char m_databuf[8192]; TQ_ULONG m_maxlen; bool m_cleanupNeeded; }; #endif