etk/etk/uri/provider/ProviderFile.hpp

31 lines
878 B
C++

/** @file
* @author Edouard DUPIN
* @copyright 2018, Edouard DUPIN, all right reserved
* @license MPL v2.0 (see license file)
*/
#pragma once
#include <etk/types.hpp>
#include <etk/uri/provider/provider.hpp>
namespace etk {
namespace uri {
namespace provider {
class ProviderFile : public etk::uri::provider::Interface {
protected:
etk::Path m_offset;
public:
ProviderFile();
ProviderFile(const etk::Path& _offset);
public:
ememory::SharedPtr<etk::io::Interface> create(const etk::Uri& _uri) override;
bool exist(const etk::Uri& _uri) override;
etk::Vector<etk::Uri> list(const etk::Uri& _uri) override;
etk::Vector<etk::Uri> listRecursive(const etk::Uri& _uri) override;
virtual bool canMove() override;
virtual bool move(const etk::Uri& _uriSource, const etk::Uri& _uriDestination) override;
};
}
}
}