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 explicit CerealDocumentUpgrader(::SemVersion terminus);
39
40 MCNAPI void clear();
41
42 MCNAPI ::CerealDocumentUpgrader::ParseAndUpgradeResult parseJsonAndUpgrade(
43 ::std::string const& json,
44 ::SemVersion& outDocumentVersion,
45 ::rapidjson::GenericDocument<
46 ::rapidjson::UTF8<char>,
47 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
48 ::rapidjson::CrtAllocator>& document,
49 ::Core::Path const& resourceName,
50 bool allowMissingVersionAsZero,
51 ::std::optional<::SemVersion> const& minVersion,
52 ::std::function<bool(::SemVersion const&)> const& shouldUpgrade
53 ) const;
54
55 MCNAPI void registerUpgrade(::std::shared_ptr<::CerealSchemaUpgrade> upgrade);
56
57 MCNAPI bool upgradeJson(
58 ::std::string& json,
59 ::SemVersion& outDocumentVersion,
60 ::rapidjson::GenericDocument<
61 ::rapidjson::UTF8<char>,
62 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
63 ::rapidjson::CrtAllocator>& document,
64 ::Core::Path const& resourceName,
65 ::std::optional<::SemVersion> const& minVersion,
66 ::std::function<bool(::SemVersion const&)> const& shouldUpgrade
67 ) const;
68
70 // NOLINTEND
71
72public:
73 // static functions
74 // NOLINTBEGIN
75 MCNAPI static ::std::string getVersion(
76 ::rapidjson::GenericDocument<
77 ::rapidjson::UTF8<char>,
78 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
79 ::rapidjson::CrtAllocator> const& document
80 );
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCNAPI void* $ctor(::SemVersion terminus);
87 // NOLINTEND
88
89public:
90 // destructor thunk
91 // NOLINTBEGIN
92 MCNAPI void $dtor();
93 // NOLINTEND
94};
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 CerealDocumentUpgrader(::SemVersion terminus)
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
MCAPI void * $ctor(::SemVersion terminus)
Definition CerealSchemaUpgrade.h:10
Definition Path.h:17
Definition Path.h:16
Definition SemVersion.h:16
Definition Alias.h:14