mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-21 16:45:44 +00:00
32 lines
890 B
C++
32 lines
890 B
C++
#pragma once
|
|
|
|
#include "SearchPath/ISearchPath.h"
|
|
#include "ObjContainer/ObjContainerRepository.h"
|
|
|
|
class IWD final : public ISearchPath, IObjContainer
|
|
{
|
|
class Impl;
|
|
Impl* m_impl;
|
|
|
|
public:
|
|
static ObjContainerRepository<IWD, ISearchPath> Repository;
|
|
|
|
IWD(std::string path, FileAPI::IFile* file);
|
|
~IWD();
|
|
|
|
IWD(const IWD& other) = delete;
|
|
IWD(IWD&& other) noexcept;
|
|
IWD& operator=(const IWD& other) = delete;
|
|
IWD& operator=(IWD&& other) noexcept;
|
|
|
|
/**
|
|
* \brief Initializes the IWD container.
|
|
* \return \c true when initialization was successful.
|
|
*/
|
|
bool Initialize() const;
|
|
|
|
FileAPI::IFile* Open(const std::string& fileName) override;
|
|
std::string GetPath() override;
|
|
std::string GetName() override;
|
|
void Find(const SearchPathSearchOptions& options, const std::function<void(const std::string&)>& callback) override;
|
|
}; |