Skip to content

Commit b61df09

Browse files
committed
Implement module mounts in C++
1 parent 068242b commit b61df09

13 files changed

Lines changed: 230 additions & 27 deletions

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawMiscModuleExportV9.g.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15-
#include "RawViewDefV9.g.h"
1615
#include "RawColumnDefaultValueV9.g.h"
1716
#include "RawProcedureDefV9.g.h"
17+
#include "RawViewDefV9.g.h"
1818

1919
namespace SpacetimeDB::Internal {
2020

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawModuleDef.g.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15+
#include "RawModuleDefV10.g.h"
1516
#include "RawModuleDefV8.g.h"
1617
#include "RawModuleDefV9.g.h"
17-
#include "RawModuleDefV10.g.h"
1818

1919
namespace SpacetimeDB::Internal {
2020

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawModuleDefV10Section.g.h

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,19 @@
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
1515
#include "RawViewDefV10.g.h"
16-
#include "CaseConversionPolicy.g.h"
17-
#include "RawScheduleDefV10.g.h"
18-
#include "RawTableDefV10.g.h"
19-
#include "Typespace.g.h"
20-
#include "RawReducerDefV10.g.h"
21-
#include "RawProcedureDefV10.g.h"
2216
#include "RawTypeDefV10.g.h"
23-
#include "RawLifeCycleReducerDefV10.g.h"
2417
#include "RawRowLevelSecurityDefV9.g.h"
18+
#include "Typespace.g.h"
2519
#include "ExplicitNames.g.h"
20+
#include "RawProcedureDefV10.g.h"
21+
#include "RawModuleMountV10.g.h"
22+
#include "RawScheduleDefV10.g.h"
23+
#include "RawTableDefV10.g.h"
24+
#include "CaseConversionPolicy.g.h"
25+
#include "RawLifeCycleReducerDefV10.g.h"
26+
#include "RawReducerDefV10.g.h"
2627

2728
namespace SpacetimeDB::Internal {
2829

29-
SPACETIMEDB_INTERNAL_TAGGED_ENUM(RawModuleDefV10Section, SpacetimeDB::Internal::Typespace, std::vector<SpacetimeDB::Internal::RawTypeDefV10>, std::vector<SpacetimeDB::Internal::RawTableDefV10>, std::vector<SpacetimeDB::Internal::RawReducerDefV10>, std::vector<SpacetimeDB::Internal::RawProcedureDefV10>, std::vector<SpacetimeDB::Internal::RawViewDefV10>, std::vector<SpacetimeDB::Internal::RawScheduleDefV10>, std::vector<SpacetimeDB::Internal::RawLifeCycleReducerDefV10>, std::vector<SpacetimeDB::Internal::RawRowLevelSecurityDefV9>, SpacetimeDB::Internal::CaseConversionPolicy, SpacetimeDB::Internal::ExplicitNames)
30+
SPACETIMEDB_INTERNAL_TAGGED_ENUM(RawModuleDefV10Section, SpacetimeDB::Internal::Typespace, std::vector<SpacetimeDB::Internal::RawTypeDefV10>, std::vector<SpacetimeDB::Internal::RawTableDefV10>, std::vector<SpacetimeDB::Internal::RawReducerDefV10>, std::vector<SpacetimeDB::Internal::RawProcedureDefV10>, std::vector<SpacetimeDB::Internal::RawViewDefV10>, std::vector<SpacetimeDB::Internal::RawScheduleDefV10>, std::vector<SpacetimeDB::Internal::RawLifeCycleReducerDefV10>, std::vector<SpacetimeDB::Internal::RawRowLevelSecurityDefV9>, SpacetimeDB::Internal::CaseConversionPolicy, SpacetimeDB::Internal::ExplicitNames, std::vector<SpacetimeDB::Internal::RawModuleMountV10>)
3031
} // namespace SpacetimeDB::Internal

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawModuleDefV8.g.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15-
#include "ReducerDef.g.h"
16-
#include "MiscModuleExport.g.h"
1715
#include "Typespace.g.h"
16+
#include "MiscModuleExport.g.h"
17+
#include "ReducerDef.g.h"
1818
#include "TableDesc.g.h"
1919

2020
namespace SpacetimeDB::Internal {

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawModuleDefV9.g.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15-
#include "RawTableDefV9.g.h"
16-
#include "RawTypeDefV9.g.h"
17-
#include "RawMiscModuleExportV9.g.h"
1815
#include "Typespace.g.h"
1916
#include "RawReducerDefV9.g.h"
2017
#include "RawRowLevelSecurityDefV9.g.h"
18+
#include "RawTableDefV9.g.h"
19+
#include "RawTypeDefV9.g.h"
20+
#include "RawMiscModuleExportV9.g.h"
2121

2222
namespace SpacetimeDB::Internal {
2323

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// THIS FILE IS AUTOMATICALLY GENERATED BY SPACETIMEDB. EDITS TO THIS FILE
2+
// WILL NOT BE SAVED. MODIFY TABLES IN YOUR MODULE SOURCE CODE INSTEAD.
3+
4+
// This was generated using spacetimedb codegen.
5+
6+
#pragma once
7+
8+
#include <cstdint>
9+
#include <string>
10+
#include <vector>
11+
#include <optional>
12+
#include <memory>
13+
#include "../autogen_base.h"
14+
#include "spacetimedb/bsatn/bsatn.h"
15+
16+
// Forward declaration breaks the circular include chain:
17+
// RawModuleMountV10 -> RawModuleDefV10 -> RawModuleDefV10Section -> RawModuleMountV10
18+
namespace SpacetimeDB::Internal { struct RawModuleDefV10; }
19+
20+
namespace SpacetimeDB::Internal {
21+
22+
SPACETIMEDB_INTERNAL_PRODUCT_TYPE(RawModuleMountV10) {
23+
std::string namespace_; // renamed: 'namespace' is a C++ keyword
24+
std::shared_ptr<SpacetimeDB::Internal::RawModuleDefV10> module; // shared_ptr breaks infinite-size recursion
25+
26+
void bsatn_serialize(::SpacetimeDB::bsatn::Writer& writer) const {
27+
::SpacetimeDB::bsatn::serialize(writer, namespace_);
28+
if (module) ::SpacetimeDB::bsatn::serialize(writer, *module);
29+
}
30+
bool operator==(const RawModuleMountV10& o) const noexcept {
31+
if (namespace_ != o.namespace_) return false;
32+
if (module && o.module) return *module == *o.module;
33+
return !module && !o.module;
34+
}
35+
bool operator!=(const RawModuleMountV10& o) const noexcept { return !(*this == o); }
36+
};
37+
} // namespace SpacetimeDB::Internal

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawProcedureDefV10.g.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15-
#include "FunctionVisibility.g.h"
1615
#include "ProductType.g.h"
1716
#include "AlgebraicType.g.h"
17+
#include "FunctionVisibility.g.h"
1818

1919
namespace SpacetimeDB::Internal {
2020

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawReducerDefV10.g.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15-
#include "AlgebraicType.g.h"
16-
#include "FunctionVisibility.g.h"
1715
#include "ProductType.g.h"
16+
#include "FunctionVisibility.g.h"
17+
#include "AlgebraicType.g.h"
1818

1919
namespace SpacetimeDB::Internal {
2020

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawReducerDefV9.g.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15-
#include "Lifecycle.g.h"
1615
#include "ProductType.g.h"
16+
#include "Lifecycle.g.h"
1717

1818
namespace SpacetimeDB::Internal {
1919

crates/bindings-cpp/include/spacetimedb/internal/autogen/RawTableDefV10.g.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
#include <memory>
1313
#include "../autogen_base.h"
1414
#include "spacetimedb/bsatn/bsatn.h"
15-
#include "RawIndexDefV10.g.h"
1615
#include "TableType.g.h"
1716
#include "TableAccess.g.h"
1817
#include "RawColumnDefaultValueV10.g.h"
19-
#include "RawConstraintDefV10.g.h"
2018
#include "RawSequenceDefV10.g.h"
19+
#include "RawConstraintDefV10.g.h"
20+
#include "RawIndexDefV10.g.h"
2121

2222
namespace SpacetimeDB::Internal {
2323

0 commit comments

Comments
 (0)