LeviLamina
Loading...
Searching...
No Matches
CerealDocumentUpgrader.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
8class SemVersion;
9namespace Core { class Path; }
10namespace cereal { struct Schema; }
11// clang-format on
12
14public:
15 // CerealDocumentUpgrader inner types define
16 enum class ParseAndUpgradeResult : int {
17 Failure = 0,
18 SuccessWithChanges = 1,
19 SuccessWithoutChanges = 2,
20 };
21
22public:
23 // member variables
24 // NOLINTBEGIN
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCNAPI void clear();
39
40 MCNAPI ::CerealDocumentUpgrader::ParseAndUpgradeResult parseJsonAndUpgrade(
41 ::std::string const& json,
42 ::SemVersion& outDocumentVersion,
43 ::rapidjson::GenericDocument<
44 ::rapidjson::UTF8<char>,
45 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
46 ::rapidjson::CrtAllocator>& document,
47 ::Core::Path const& resourceName,
48 bool allowMissingVersionAsZero,
49 ::std::optional<::SemVersion> const& minVersion,
50 ::std::function<bool(::SemVersion const&)> const& shouldUpgrade
51 ) const;
52
53 MCNAPI void registerUpgrade(::std::shared_ptr<::CerealSchemaUpgrade> upgrade);
54
55 MCNAPI bool upgradeJson(
56 ::std::string& json,
57 ::SemVersion& outDocumentVersion,
58 ::rapidjson::GenericDocument<
59 ::rapidjson::UTF8<char>,
60 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
61 ::rapidjson::CrtAllocator>& document,
62 ::Core::Path const& resourceName,
63 ::std::optional<::SemVersion> const& minVersion,
64 ::std::function<bool(::SemVersion const&)> const& shouldUpgrade
65 ) const;
66 // NOLINTEND
67
68public:
69 // static functions
70 // NOLINTBEGIN
71 MCNAPI static ::std::string getVersion(
72 ::rapidjson::GenericDocument<
73 ::rapidjson::UTF8<char>,
74 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
75 ::rapidjson::CrtAllocator> const& document
76 );
77 // NOLINTEND
78};
Definition CerealDocumentUpgrader.h:13
MCAPI::CerealDocumentUpgrader::ParseAndUpgradeResult parseJsonAndUpgrade(::std::string const &json, ::SemVersion &outDocumentVersion, ::rapidjson::GenericDocument< ::rapidjson::UTF8< char >, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator >, ::rapidjson::CrtAllocator > &document, ::Core::Path const &resourceName, bool allowMissingVersionAsZero, ::std::optional<::SemVersion > const &minVersion, ::std::function< bool(::SemVersion const &)> const &shouldUpgrade) const
static MCAPI ::std::string getVersion(::rapidjson::GenericDocument< ::rapidjson::UTF8< char >, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator >, ::rapidjson::CrtAllocator > const &document)
MCAPI void registerUpgrade(::std::shared_ptr<::CerealSchemaUpgrade > upgrade)
MCAPI bool upgradeJson(::std::string &json, ::SemVersion &outDocumentVersion, ::rapidjson::GenericDocument< ::rapidjson::UTF8< char >, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator >, ::rapidjson::CrtAllocator > &document, ::Core::Path const &resourceName, ::std::optional<::SemVersion > const &minVersion, ::std::function< bool(::SemVersion const &)> const &shouldUpgrade) const
Definition CerealSchemaUpgrade.h:10
Definition Path.h:17
Definition Path.h:16
Definition SemVersion.h:15
Definition Alias.h:14