/** @file * @author Edouard DUPIN * @copyright 2018, Edouard DUPIN, all right reserved * @license MPL v2.0 (see license file) */ #pragma once #include #include #include #include namespace etk { namespace uri { namespace provider { class Interface : public ememory::EnableSharedFromThis { public: /** * @brief Virtualize detructor: */ virtual ~Interface() = default; public: virtual ememory::SharedPtr create(const etk::Uri& _uri) = 0; virtual bool exist(const etk::Uri& _uri) = 0; virtual etk::Vector list(const etk::Uri& _uri) = 0; virtual bool canMove() { return false; } virtual bool move(const etk::Uri& _uriSource, const etk::Uri& _uriDestination) { return false; } }; } } }