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
13class CerealDocumentUpgrader {
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
31 CerealDocumentUpgrader& operator=(CerealDocumentUpgrader const&);
32 CerealDocumentUpgrader(CerealDocumentUpgrader const&);
33 CerealDocumentUpgrader();
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 bool betaApis,
52 ::std::optional<::SemVersion> const& minVersion,
53 ::std::function<bool(::SemVersion const&)> const& shouldUpgrade
54 ) const;
55
56 MCNAPI void registerUpgrade(::std::shared_ptr<::CerealSchemaUpgrade> upgrade);
57
58 MCNAPI bool upgradeJson(
59 ::std::string& json,
60 ::SemVersion& outDocumentVersion,
61 ::rapidjson::GenericDocument<
62 ::rapidjson::UTF8<char>,
63 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
64 ::rapidjson::CrtAllocator>& document,
65 ::Core::Path const& resourceName,
66 ::std::optional<::SemVersion> const& minVersion,
67 bool betaApis,
68 ::std::function<bool(::SemVersion const&)> const& shouldUpgrade
69 ) const;
70
72 // NOLINTEND
73
74public:
75 // static functions
76 // NOLINTBEGIN
77 MCNAPI static ::std::string getVersion(
78 ::rapidjson::GenericDocument<
79 ::rapidjson::UTF8<char>,
80 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
81 ::rapidjson::CrtAllocator> const& document
82 );
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCNAPI void* $ctor(::SemVersion terminus);
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94 MCNAPI void $dtor();
95 // NOLINTEND
96};
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, bool betaApis, ::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::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, bool betaApis, ::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 SemVersion.h:15
Definition Schema.h:7
Definition Alias.h:14