Skip to content

Commit a5dfaf5

Browse files
committed
Add sub-module mounts support + codegen
1 parent d31301a commit a5dfaf5

17 files changed

Lines changed: 1492 additions & 165 deletions

File tree

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: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@
2525
#include "RawTableDefV10.g.h"
2626
#include "RawRowLevelSecurityDefV9.g.h"
2727
#include "RawHttpRouteDefV10.g.h"
28+
#include "RawModuleMountV10.g.h"
2829

2930
namespace SpacetimeDB::Internal {
3031

31-
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::RawHttpHandlerDefV10>, std::vector<SpacetimeDB::Internal::RawHttpRouteDefV10>)
32+
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::RawHttpHandlerDefV10>, std::vector<SpacetimeDB::Internal::RawHttpRouteDefV10>, std::vector<SpacetimeDB::Internal::RawModuleMountV10>)
3233
} // namespace SpacetimeDB::Internal
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/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-csharp/Runtime/Internal/Autogen/RawModuleDefV10Section.g.cs

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/bindings-csharp/Runtime/Internal/Autogen/RawModuleMountV10.g.cs

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)