Exteor/include/xtr/ExtSourceManager.h

40 lines
1.5 KiB
C
Raw Permalink Normal View History

2024-06-07 20:30:06 +03:00
#pragma once
namespace xtr {
namespace doc { class RSFormDoc; } // namespace doc
class ExtSourceManager final : public ccl::SourceManager {
public:
[[nodiscard]] bool TestDomain(const ccl::src::Descriptor& global,
const std::u8string& domain) const override;
[[nodiscard]] ccl::src::Descriptor
Convert2Local(const ccl::src::Descriptor& global,
const std::u8string& domain) const override;
[[nodiscard]] ccl::src::Descriptor
Convert2Global(const ccl::src::Descriptor& local,
const std::u8string& domain) const override;
[[nodiscard]] ccl::src::Descriptor
CreateLocalDesc(ccl::src::SrcType type,
std::u8string localName) const override;
[[nodiscard]] ccl::src::Source* Find(const ccl::src::Descriptor& desc) override;
[[nodiscard]] ccl::src::Descriptor GetDescriptor(const ccl::src::Source& src) const override;
bool ChangeDescriptor(const ccl::src::Descriptor& desc, const ccl::src::Descriptor& newDesc) override;
[[nodiscard]] ccl::src::Source* CreateNew(const ccl::src::Descriptor& desc) override;
[[nodiscard]] ccl::src::Source* Open(const ccl::src::Descriptor& desc) override;
void Close(ccl::src::Source& src) override;
bool SaveState(ccl::src::Source& src) override;
void Discard(const ccl::src::Descriptor& desc) override;
private:
static const doc::RSFormDoc& RSCast(const ccl::src::Source& src);
static doc::RSFormDoc& RSCast(ccl::src::Source& src);
[[nodiscard]] static std::u8string FixFilename(const std::u8string& name);
};
} // namespace xtr