/** @file * @author Edouard DUPIN * @copyright 2010, Edouard DUPIN, all right reserved * @license GPL v3 (see license file) */ #pragma once #include #include #include #include namespace appl { class WorkerCloseFile : public ewol::object::Worker { public: esignal::Signal<> signalCloseDone; esignal::Signal<> signalAbort; protected: // note : if == "" ==> current ... WorkerCloseFile(); void init(); public: DECLARE_FACTORY(WorkerCloseFile); virtual ~WorkerCloseFile(); public: /** * @brief Action to do */ void startAction(const etk::String& _bufferName); private: etk::String m_bufferName; ememory::SharedPtr m_buffer; //!< reference on the buffer (when rename, we have no more reference on the buffer ememory::SharedPtr m_worker; //! sub-worker element... ememory::SharedPtr m_bufferManager; //!< handle on the buffer manager public: // callback Functions void onCallbackSaveAsValidate(); void onCallbackSaveValidate(); void onCallbackClose(); void onCallbackCancel(); }; }