Commit bf015f61 authored by Kenton Varda's avatar Kenton Varda

Add concept of sealing SturdyRefs to Persistent interface.

parent 517aaa22
......@@ -23,7 +23,7 @@
$import "/capnp/c++.capnp".namespace("capnp");
interface Persistent@0xc8cb212fcd9f5691(SturdyRef) {
interface Persistent@0xc8cb212fcd9f5691(SturdyRef, Owner) {
# Interface implemented by capabilities that outlive a single connection. A client may save()
# the capability, producing a SturdyRef. The SturdyRef can be stored to disk, then later used to
# obtain a new reference to the capability on a future connection.
......@@ -51,6 +51,42 @@ interface Persistent@0xc8cb212fcd9f5691(SturdyRef) {
# *might* make sense to explicitly inherit it. But, even in these cases, you probably don't want
# to specify the `SturdyRef` parameter, since this type may differ from app to app or even host
# to host.
#
# Sealing
# -------
#
# As an added security measure, SturdyRefs may be "sealed" to a particular owner, such that
# if the SturdyRef itself leaks to a third party, that party cannot actually restore it because
# they are not the owner. To restore a sealed capability, you must first prove to its host that
# you are the rightful owner. The precise mechanism for this authentication is defined by the
# realm.
#
# Sealing is a defense-in-depth mechanism meant to mitigate damage in the case of catastrophic
# attacks. For example, say an attacker temporarily gains read access to a database full of
# SturdyRefs: it would be unfortunate if it were then necessary to revoke every single reference
# in the database to prevent the attacker from using them.
#
# In general, an "owner" is a course-grained identity. Because capability-based security is still
# the primary mechanism of security, it is not necessary nor desirable to have a separate "owner"
# identity for every single process or object; that is exactly what capabilities are supposed to
# avoid! Instead, it makes sense for an "owner" to literally identify the owner of the machines
# where the capability is stored. If untrusted third parties are able to run arbitrary code on
# said machines, then the sandbox for that code should be designed using Distributed Confinement
# such that the third-party code never sees the bits of the SturdyRefs and cannot directly
# exercise the owner's power to restore refs. See:
#
# http://www.erights.org/elib/capability/dist-confine.html
#
# Resist the urge to represent an Owner as a simple public key. The whole point of sealing is to
# defend against leaked-storage attacks. Such attacks can easily result in the owner's private
# key being stolen as well. A better solution is for `Owner` to contain a simple globally unique
# identifier for the owner, and for everyone to separately maintain a mapping of owner IDs to
# public keys. If an owner's private key is compromised, then humans will need to communicate
# and agree on a replacement public key, then update the mapping.
#
# As a concrete example, an `Owner` could simply contain a domain name, and restoring a SturdyRef
# would require signing a request using the domain's private key. Authenticating this key could
# be accomplished through certificate authorities or web-of-trust techniques.
save @0 SaveParams -> SaveResults;
# Save a capability persistently so that it can be restored by a future connection. Not all
......@@ -58,24 +94,32 @@ interface Persistent@0xc8cb212fcd9f5691(SturdyRef) {
# this and which do not.
struct SaveParams {
# Nothing for now.
sealFor @0 :Owner;
# Seal the SturdyRef so that it can only be restored by the specified Owner. This is meant
# to mitigate damage when a SturdyRef is leaked. See comments above.
#
# Leaving this value null may or may not be allowed; it is up to the realm to decide. If a
# realm does allow a null owner, this should indicate that anyone is allowed to restore the
# ref.
}
struct SaveResults {
sturdyRef @0 :SturdyRef;
}
}
interface RealmGateway(InternalRef, ExternalRef) {
interface RealmGateway(InternalRef, ExternalRef, InternalOwner, ExternalOwner) {
# Interface invoked when a SturdyRef is about to cross realms. The RPC system supports providing
# a RealmGateway as a callback hook when setting up RPC over some VatNetwork.
import @0 (cap :Persistent(ExternalRef), params :Persistent(InternalRef).SaveParams)
-> Persistent(InternalRef).SaveResults;
import @0 (cap :Persistent(ExternalRef, ExternalOwner),
params :Persistent(InternalRef, InternalOwner).SaveParams)
-> Persistent(InternalRef, InternalOwner).SaveResults;
# Given an external capability, save it and return an internal reference. Used when someone
# inside the realm tries to save a capability from outside the realm.
export @1 (cap :Persistent(InternalRef), params :Persistent(ExternalRef).SaveParams)
-> Persistent(ExternalRef).SaveResults;
export @1 (cap :Persistent(InternalRef, InternalOwner),
params :Persistent(ExternalRef, ExternalOwner).SaveParams)
-> Persistent(ExternalRef, ExternalOwner).SaveResults;
# Given an internal capability, save it and return an external reference. Used when someone
# outside the realm tries to save a capability from inside the realm.
}
......@@ -5,7 +5,7 @@
namespace capnp {
namespace schemas {
static const ::capnp::_::AlignedData<52> b_c8cb212fcd9f5691 = {
static const ::capnp::_::AlignedData<54> b_c8cb212fcd9f5691 = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
145, 86, 159, 205, 47, 33, 203, 200,
23, 0, 0, 0, 3, 0, 0, 0,
......@@ -17,7 +17,7 @@ static const ::capnp::_::AlignedData<52> b_c8cb212fcd9f5691 = {
0, 0, 0, 0, 0, 0, 0, 0,
65, 0, 0, 0, 71, 0, 0, 0,
145, 0, 0, 0, 7, 0, 0, 0,
145, 0, 0, 0, 15, 0, 0, 0,
145, 0, 0, 0, 23, 0, 0, 0,
99, 97, 112, 110, 112, 47, 112, 101,
114, 115, 105, 115, 116, 101, 110, 116,
46, 99, 97, 112, 110, 112, 58, 80,
......@@ -54,10 +54,12 @@ static const ::capnp::_::AlignedData<52> b_c8cb212fcd9f5691 = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0, 1, 0,
4, 0, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 82, 0, 0, 0,
8, 0, 0, 0, 0, 0, 1, 0,
5, 0, 0, 0, 82, 0, 0, 0,
9, 0, 0, 0, 50, 0, 0, 0,
83, 116, 117, 114, 100, 121, 82, 101,
102, 0, 0, 0, 0, 0, 0, 0, }
102, 0, 0, 0, 0, 0, 0, 0,
79, 119, 110, 101, 114, 0, 0, 0, }
};
::capnp::word const* const bp_c8cb212fcd9f5691 = b_c8cb212fcd9f5691.words;
#if !CAPNP_LITE
......@@ -67,25 +69,25 @@ static const ::capnp::_::RawSchema* const d_c8cb212fcd9f5691[] = {
};
static const uint16_t m_c8cb212fcd9f5691[] = {0};
const ::capnp::_::RawBrandedSchema::Dependency bd_c8cb212fcd9f5691[] = {
{ 33554432, ::capnp::Persistent< ::capnp::AnyPointer>::SaveParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent< ::capnp::AnyPointer>::SaveResults::_capnpPrivate::brand },
{ 33554432, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::SaveParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::SaveResults::_capnpPrivate::brand },
};
const ::capnp::_::RawSchema s_c8cb212fcd9f5691 = {
0xc8cb212fcd9f5691, b_c8cb212fcd9f5691.words, 52, d_c8cb212fcd9f5691, m_c8cb212fcd9f5691,
0xc8cb212fcd9f5691, b_c8cb212fcd9f5691.words, 54, d_c8cb212fcd9f5691, m_c8cb212fcd9f5691,
2, 1, nullptr, nullptr, nullptr, { &s_c8cb212fcd9f5691, nullptr, bd_c8cb212fcd9f5691, 0, sizeof(bd_c8cb212fcd9f5691) / sizeof(bd_c8cb212fcd9f5691[0]), nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<19> b_f76fba59183073a5 = {
static const ::capnp::_::AlignedData<35> b_f76fba59183073a5 = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
165, 115, 48, 24, 89, 186, 111, 247,
34, 0, 0, 0, 1, 0, 0, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 7, 0, 0, 0, 0, 0,
1, 0, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0,
21, 0, 0, 0, 106, 1, 0, 0,
41, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
37, 0, 0, 0, 63, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
99, 97, 112, 110, 112, 47, 112, 101,
......@@ -94,13 +96,31 @@ static const ::capnp::_::AlignedData<19> b_f76fba59183073a5 = {
101, 114, 115, 105, 115, 116, 101, 110,
116, 46, 83, 97, 118, 101, 80, 97,
114, 97, 109, 115, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 0, }
0, 0, 0, 0, 1, 0, 1, 0,
4, 0, 0, 0, 3, 0, 4, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
13, 0, 0, 0, 66, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 3, 0, 1, 0,
20, 0, 0, 0, 2, 0, 1, 0,
115, 101, 97, 108, 70, 111, 114, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 0, 0, 0, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, }
};
::capnp::word const* const bp_f76fba59183073a5 = b_f76fba59183073a5.words;
#if !CAPNP_LITE
static const uint16_t m_f76fba59183073a5[] = {0};
static const uint16_t i_f76fba59183073a5[] = {0};
const ::capnp::_::RawSchema s_f76fba59183073a5 = {
0xf76fba59183073a5, b_f76fba59183073a5.words, 19, nullptr, nullptr,
0, 0, nullptr, nullptr, nullptr, { &s_f76fba59183073a5, nullptr, nullptr, 0, 0, nullptr }
0xf76fba59183073a5, b_f76fba59183073a5.words, 35, nullptr, m_f76fba59183073a5,
0, 1, i_f76fba59183073a5, nullptr, nullptr, { &s_f76fba59183073a5, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<36> b_b76848c18c40efbf = {
......@@ -150,7 +170,7 @@ const ::capnp::_::RawSchema s_b76848c18c40efbf = {
0, 1, i_b76848c18c40efbf, nullptr, nullptr, { &s_b76848c18c40efbf, nullptr, nullptr, 0, 0, nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<81> b_84ff286cd00a3ed4 = {
static const ::capnp::_::AlignedData<99> b_84ff286cd00a3ed4 = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
212, 62, 10, 208, 108, 40, 255, 132,
23, 0, 0, 0, 3, 0, 0, 0,
......@@ -161,8 +181,8 @@ static const ::capnp::_::AlignedData<81> b_84ff286cd00a3ed4 = {
37, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
33, 0, 0, 0, 135, 0, 0, 0,
249, 0, 0, 0, 7, 0, 0, 0,
249, 0, 0, 0, 23, 0, 0, 0,
41, 1, 0, 0, 7, 0, 0, 0,
41, 1, 0, 0, 39, 0, 0, 0,
99, 97, 112, 110, 112, 47, 112, 101,
114, 115, 105, 115, 116, 101, 110, 116,
46, 99, 97, 112, 110, 112, 58, 82,
......@@ -177,15 +197,15 @@ static const ::capnp::_::AlignedData<81> b_84ff286cd00a3ed4 = {
0, 0, 0, 0, 0, 0, 0, 0,
44, 0, 0, 0, 0, 0, 1, 0,
60, 0, 0, 0, 0, 0, 1, 0,
105, 0, 0, 0, 7, 0, 0, 0,
129, 0, 0, 0, 7, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
170, 163, 45, 72, 139, 161, 175, 236,
191, 239, 64, 140, 193, 72, 104, 183,
93, 0, 0, 0, 58, 0, 0, 0,
117, 0, 0, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
88, 0, 0, 0, 0, 0, 1, 0,
104, 0, 0, 0, 0, 0, 1, 0,
149, 0, 0, 0, 7, 0, 0, 0,
112, 0, 0, 0, 0, 0, 1, 0,
128, 0, 0, 0, 0, 0, 1, 0,
197, 0, 0, 0, 7, 0, 0, 0,
105, 109, 112, 111, 114, 116, 0, 0,
1, 0, 0, 0, 31, 0, 0, 0,
4, 0, 0, 0, 2, 0, 1, 0,
......@@ -196,12 +216,18 @@ static const ::capnp::_::AlignedData<81> b_84ff286cd00a3ed4 = {
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 23, 0, 0, 0,
4, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 39, 0, 0, 0,
8, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0, 1, 0,
16, 0, 0, 0, 3, 0, 1, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 2, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0,
......@@ -215,23 +241,35 @@ static const ::capnp::_::AlignedData<81> b_84ff286cd00a3ed4 = {
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 23, 0, 0, 0,
4, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 39, 0, 0, 0,
8, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0, 1, 0,
8, 0, 0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 3, 0, 1, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 3, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0, 1, 0,
8, 0, 0, 0, 0, 0, 1, 0,
5, 0, 0, 0, 98, 0, 0, 0,
9, 0, 0, 0, 98, 0, 0, 0,
16, 0, 0, 0, 0, 0, 1, 0,
13, 0, 0, 0, 98, 0, 0, 0,
17, 0, 0, 0, 98, 0, 0, 0,
21, 0, 0, 0, 114, 0, 0, 0,
25, 0, 0, 0, 114, 0, 0, 0,
73, 110, 116, 101, 114, 110, 97, 108,
82, 101, 102, 0, 0, 0, 0, 0,
69, 120, 116, 101, 114, 110, 97, 108,
82, 101, 102, 0, 0, 0, 0, 0, }
82, 101, 102, 0, 0, 0, 0, 0,
73, 110, 116, 101, 114, 110, 97, 108,
79, 119, 110, 101, 114, 0, 0, 0,
69, 120, 116, 101, 114, 110, 97, 108,
79, 119, 110, 101, 114, 0, 0, 0, }
};
::capnp::word const* const bp_84ff286cd00a3ed4 = b_84ff286cd00a3ed4.words;
#if !CAPNP_LITE
......@@ -242,17 +280,17 @@ static const ::capnp::_::RawSchema* const d_84ff286cd00a3ed4[] = {
};
static const uint16_t m_84ff286cd00a3ed4[] = {1, 0};
const ::capnp::_::RawBrandedSchema::Dependency bd_84ff286cd00a3ed4[] = {
{ 33554432, ::capnp::RealmGateway< ::capnp::AnyPointer, ::capnp::AnyPointer>::ImportParams::_capnpPrivate::brand },
{ 33554433, ::capnp::RealmGateway< ::capnp::AnyPointer, ::capnp::AnyPointer>::ExportParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent< ::capnp::AnyPointer>::SaveResults::_capnpPrivate::brand },
{ 50331649, ::capnp::Persistent< ::capnp::AnyPointer>::SaveResults::_capnpPrivate::brand },
{ 33554432, ::capnp::RealmGateway< ::capnp::AnyPointer, ::capnp::AnyPointer, ::capnp::AnyPointer, ::capnp::AnyPointer>::ImportParams::_capnpPrivate::brand },
{ 33554433, ::capnp::RealmGateway< ::capnp::AnyPointer, ::capnp::AnyPointer, ::capnp::AnyPointer, ::capnp::AnyPointer>::ExportParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::SaveResults::_capnpPrivate::brand },
{ 50331649, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::SaveResults::_capnpPrivate::brand },
};
const ::capnp::_::RawSchema s_84ff286cd00a3ed4 = {
0x84ff286cd00a3ed4, b_84ff286cd00a3ed4.words, 81, d_84ff286cd00a3ed4, m_84ff286cd00a3ed4,
0x84ff286cd00a3ed4, b_84ff286cd00a3ed4.words, 99, d_84ff286cd00a3ed4, m_84ff286cd00a3ed4,
3, 2, nullptr, nullptr, nullptr, { &s_84ff286cd00a3ed4, nullptr, bd_84ff286cd00a3ed4, 0, sizeof(bd_84ff286cd00a3ed4) / sizeof(bd_84ff286cd00a3ed4[0]), nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<74> b_f0c2cc1d3909574d = {
static const ::capnp::_::AlignedData<86> b_f0c2cc1d3909574d = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
77, 87, 9, 57, 29, 204, 194, 240,
36, 0, 0, 0, 1, 0, 0, 0,
......@@ -279,14 +317,14 @@ static const ::capnp::_::AlignedData<74> b_f0c2cc1d3909574d = {
41, 0, 0, 0, 34, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
36, 0, 0, 0, 3, 0, 1, 0,
96, 0, 0, 0, 2, 0, 1, 0,
120, 0, 0, 0, 2, 0, 1, 0,
1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
93, 0, 0, 0, 58, 0, 0, 0,
117, 0, 0, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
88, 0, 0, 0, 3, 0, 1, 0,
148, 0, 0, 0, 2, 0, 1, 0,
112, 0, 0, 0, 3, 0, 1, 0,
196, 0, 0, 0, 2, 0, 1, 0,
99, 97, 112, 0, 0, 0, 0, 0,
17, 0, 0, 0, 0, 0, 0, 0,
145, 86, 159, 205, 47, 33, 203, 200,
......@@ -296,12 +334,18 @@ static const ::capnp::_::AlignedData<74> b_f0c2cc1d3909574d = {
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 23, 0, 0, 0,
4, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 39, 0, 0, 0,
8, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0, 1, 0,
8, 0, 0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 3, 0, 1, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 3, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
17, 0, 0, 0, 0, 0, 0, 0,
......@@ -316,12 +360,18 @@ static const ::capnp::_::AlignedData<74> b_f0c2cc1d3909574d = {
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 23, 0, 0, 0,
4, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 39, 0, 0, 0,
8, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0, 1, 0,
16, 0, 0, 0, 3, 0, 1, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 2, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 0, 0, 0, 0,
......@@ -337,15 +387,15 @@ static const ::capnp::_::RawSchema* const d_f0c2cc1d3909574d[] = {
static const uint16_t m_f0c2cc1d3909574d[] = {0, 1};
static const uint16_t i_f0c2cc1d3909574d[] = {0, 1};
const ::capnp::_::RawBrandedSchema::Dependency bd_f0c2cc1d3909574d[] = {
{ 16777216, ::capnp::Persistent< ::capnp::AnyPointer>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent< ::capnp::AnyPointer>::SaveParams::_capnpPrivate::brand },
{ 16777216, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::SaveParams::_capnpPrivate::brand },
};
const ::capnp::_::RawSchema s_f0c2cc1d3909574d = {
0xf0c2cc1d3909574d, b_f0c2cc1d3909574d.words, 74, d_f0c2cc1d3909574d, m_f0c2cc1d3909574d,
0xf0c2cc1d3909574d, b_f0c2cc1d3909574d.words, 86, d_f0c2cc1d3909574d, m_f0c2cc1d3909574d,
2, 2, i_f0c2cc1d3909574d, nullptr, nullptr, { &s_f0c2cc1d3909574d, nullptr, bd_f0c2cc1d3909574d, 0, sizeof(bd_f0c2cc1d3909574d) / sizeof(bd_f0c2cc1d3909574d[0]), nullptr }
};
#endif // !CAPNP_LITE
static const ::capnp::_::AlignedData<74> b_ecafa18b482da3aa = {
static const ::capnp::_::AlignedData<86> b_ecafa18b482da3aa = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
170, 163, 45, 72, 139, 161, 175, 236,
36, 0, 0, 0, 1, 0, 0, 0,
......@@ -372,14 +422,14 @@ static const ::capnp::_::AlignedData<74> b_ecafa18b482da3aa = {
41, 0, 0, 0, 34, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
36, 0, 0, 0, 3, 0, 1, 0,
96, 0, 0, 0, 2, 0, 1, 0,
120, 0, 0, 0, 2, 0, 1, 0,
1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
93, 0, 0, 0, 58, 0, 0, 0,
117, 0, 0, 0, 58, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
88, 0, 0, 0, 3, 0, 1, 0,
148, 0, 0, 0, 2, 0, 1, 0,
112, 0, 0, 0, 3, 0, 1, 0,
196, 0, 0, 0, 2, 0, 1, 0,
99, 97, 112, 0, 0, 0, 0, 0,
17, 0, 0, 0, 0, 0, 0, 0,
145, 86, 159, 205, 47, 33, 203, 200,
......@@ -389,12 +439,18 @@ static const ::capnp::_::AlignedData<74> b_ecafa18b482da3aa = {
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 23, 0, 0, 0,
4, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 39, 0, 0, 0,
8, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0, 1, 0,
8, 0, 0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 3, 0, 1, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 2, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
17, 0, 0, 0, 0, 0, 0, 0,
......@@ -409,12 +465,18 @@ static const ::capnp::_::AlignedData<74> b_ecafa18b482da3aa = {
4, 0, 0, 0, 2, 0, 1, 0,
145, 86, 159, 205, 47, 33, 203, 200,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 23, 0, 0, 0,
4, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 39, 0, 0, 0,
8, 0, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
8, 0, 0, 0, 3, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 0, 1, 0,
16, 0, 0, 0, 3, 0, 1, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 1, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0,
1, 0, 3, 0, 0, 0, 0, 0,
212, 62, 10, 208, 108, 40, 255, 132,
0, 0, 0, 0, 0, 0, 0, 0,
16, 0, 0, 0, 0, 0, 0, 0,
......@@ -430,11 +492,11 @@ static const ::capnp::_::RawSchema* const d_ecafa18b482da3aa[] = {
static const uint16_t m_ecafa18b482da3aa[] = {0, 1};
static const uint16_t i_ecafa18b482da3aa[] = {0, 1};
const ::capnp::_::RawBrandedSchema::Dependency bd_ecafa18b482da3aa[] = {
{ 16777216, ::capnp::Persistent< ::capnp::AnyPointer>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent< ::capnp::AnyPointer>::SaveParams::_capnpPrivate::brand },
{ 16777216, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent< ::capnp::AnyPointer, ::capnp::AnyPointer>::SaveParams::_capnpPrivate::brand },
};
const ::capnp::_::RawSchema s_ecafa18b482da3aa = {
0xecafa18b482da3aa, b_ecafa18b482da3aa.words, 74, d_ecafa18b482da3aa, m_ecafa18b482da3aa,
0xecafa18b482da3aa, b_ecafa18b482da3aa.words, 86, d_ecafa18b482da3aa, m_ecafa18b482da3aa,
2, 2, i_ecafa18b482da3aa, nullptr, nullptr, { &s_ecafa18b482da3aa, nullptr, bd_ecafa18b482da3aa, 0, sizeof(bd_ecafa18b482da3aa) / sizeof(bd_ecafa18b482da3aa[0]), nullptr }
};
#endif // !CAPNP_LITE
......
......@@ -29,7 +29,7 @@ CAPNP_DECLARE_SCHEMA(ecafa18b482da3aa);
namespace capnp {
template <typename SturdyRef = ::capnp::AnyPointer>
template <typename SturdyRef = ::capnp::AnyPointer, typename Owner = ::capnp::AnyPointer>
struct Persistent {
Persistent() = delete;
......@@ -48,13 +48,13 @@ struct Persistent {
static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
static const ::capnp::_::RawBrandedSchema::Dependency brandDependencies[];
static const ::capnp::_::RawBrandedSchema specificBrand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef>::brand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef, Owner>::brand;
};
#endif // !CAPNP_LITE
};
template <typename SturdyRef>
struct Persistent<SturdyRef>::SaveParams {
template <typename SturdyRef, typename Owner>
struct Persistent<SturdyRef, Owner>::SaveParams {
SaveParams() = delete;
class Reader;
......@@ -62,18 +62,18 @@ struct Persistent<SturdyRef>::SaveParams {
class Pipeline;
struct _capnpPrivate {
CAPNP_DECLARE_STRUCT_HEADER(f76fba59183073a5, 0, 0)
CAPNP_DECLARE_STRUCT_HEADER(f76fba59183073a5, 0, 1)
#if !CAPNP_LITE
static const ::capnp::_::RawBrandedSchema::Scope brandScopes[];
static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
static const ::capnp::_::RawBrandedSchema specificBrand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef>::brand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef, Owner>::brand;
#endif // !CAPNP_LITE
};
};
template <typename SturdyRef>
struct Persistent<SturdyRef>::SaveResults {
template <typename SturdyRef, typename Owner>
struct Persistent<SturdyRef, Owner>::SaveResults {
SaveResults() = delete;
class Reader;
......@@ -86,12 +86,12 @@ struct Persistent<SturdyRef>::SaveResults {
static const ::capnp::_::RawBrandedSchema::Scope brandScopes[];
static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
static const ::capnp::_::RawBrandedSchema specificBrand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef>::brand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef, Owner>::brand;
#endif // !CAPNP_LITE
};
};
template <typename InternalRef = ::capnp::AnyPointer, typename ExternalRef = ::capnp::AnyPointer>
template <typename InternalRef = ::capnp::AnyPointer, typename ExternalRef = ::capnp::AnyPointer, typename InternalOwner = ::capnp::AnyPointer, typename ExternalOwner = ::capnp::AnyPointer>
struct RealmGateway {
RealmGateway() = delete;
......@@ -110,13 +110,13 @@ struct RealmGateway {
static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
static const ::capnp::_::RawBrandedSchema::Dependency brandDependencies[];
static const ::capnp::_::RawBrandedSchema specificBrand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, InternalRef, ExternalRef>::brand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, InternalRef, ExternalRef, InternalOwner, ExternalOwner>::brand;
};
#endif // !CAPNP_LITE
};
template <typename InternalRef, typename ExternalRef>
struct RealmGateway<InternalRef, ExternalRef>::ImportParams {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
struct RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams {
ImportParams() = delete;
class Reader;
......@@ -130,13 +130,13 @@ struct RealmGateway<InternalRef, ExternalRef>::ImportParams {
static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
static const ::capnp::_::RawBrandedSchema::Dependency brandDependencies[];
static const ::capnp::_::RawBrandedSchema specificBrand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, InternalRef, ExternalRef>::brand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, InternalRef, ExternalRef, InternalOwner, ExternalOwner>::brand;
#endif // !CAPNP_LITE
};
};
template <typename InternalRef, typename ExternalRef>
struct RealmGateway<InternalRef, ExternalRef>::ExportParams {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
struct RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams {
ExportParams() = delete;
class Reader;
......@@ -150,7 +150,7 @@ struct RealmGateway<InternalRef, ExternalRef>::ExportParams {
static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
static const ::capnp::_::RawBrandedSchema::Dependency brandDependencies[];
static const ::capnp::_::RawBrandedSchema specificBrand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, InternalRef, ExternalRef>::brand;
static constexpr ::capnp::_::RawBrandedSchema const* brand = ::capnp::_::ChooseBrand<_capnpPrivate, InternalRef, ExternalRef, InternalOwner, ExternalOwner>::brand;
#endif // !CAPNP_LITE
};
};
......@@ -158,12 +158,12 @@ struct RealmGateway<InternalRef, ExternalRef>::ExportParams {
// =======================================================================================
#if !CAPNP_LITE
template <typename SturdyRef>
class Persistent<SturdyRef>::Client
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::Client
: public virtual ::capnp::Capability::Client {
public:
typedef Persistent<SturdyRef> Calls;
typedef Persistent<SturdyRef> Reads;
typedef Persistent<SturdyRef, Owner> Calls;
typedef Persistent<SturdyRef, Owner> Reads;
Client(decltype(nullptr));
explicit Client(::kj::Own< ::capnp::ClientHook>&& hook);
......@@ -177,25 +177,25 @@ public:
Client& operator=(Client& other);
Client& operator=(Client&& other);
::capnp::Request<typename ::capnp::Persistent<SturdyRef>::SaveParams, typename ::capnp::Persistent<SturdyRef>::SaveResults> saveRequest(
::capnp::Request<typename ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename ::capnp::Persistent<SturdyRef, Owner>::SaveResults> saveRequest(
::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
protected:
Client() = default;
};
template <typename SturdyRef>
class Persistent<SturdyRef>::Server
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::Server
: public virtual ::capnp::Capability::Server {
public:
typedef Persistent<SturdyRef> Serves;
typedef Persistent<SturdyRef, Owner> Serves;
::kj::Promise<void> dispatchCall(uint64_t interfaceId, uint16_t methodId,
::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context)
override;
protected:
typedef ::capnp::CallContext<typename ::capnp::Persistent<SturdyRef>::SaveParams, typename ::capnp::Persistent<SturdyRef>::SaveResults> SaveContext;
typedef ::capnp::CallContext<typename ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename ::capnp::Persistent<SturdyRef, Owner>::SaveResults> SaveContext;
virtual ::kj::Promise<void> save(SaveContext context);
::kj::Promise<void> dispatchCallInternal(uint16_t methodId,
......@@ -203,8 +203,8 @@ protected:
};
#endif // !CAPNP_LITE
template <typename SturdyRef>
class Persistent<SturdyRef>::SaveParams::Reader {
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::SaveParams::Reader {
public:
typedef SaveParams Reads;
......@@ -221,6 +221,9 @@ public:
}
#endif // !CAPNP_LITE
inline bool hasSealFor() const;
inline ::capnp::ReaderFor<Owner> getSealFor() const;
private:
::capnp::_::StructReader _reader;
template <typename, ::capnp::Kind>
......@@ -233,8 +236,8 @@ private:
friend class ::capnp::Orphanage;
};
template <typename SturdyRef>
class Persistent<SturdyRef>::SaveParams::Builder {
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::SaveParams::Builder {
public:
typedef SaveParams Builds;
......@@ -250,6 +253,14 @@ public:
inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif // !CAPNP_LITE
inline bool hasSealFor();
inline ::capnp::BuilderFor<Owner> getSealFor();
inline void setSealFor( ::capnp::ReaderFor<Owner> value);
inline ::capnp::BuilderFor<Owner> initSealFor();
inline ::capnp::BuilderFor<Owner> initSealFor(unsigned int size);
inline void adoptSealFor(::capnp::Orphan<Owner>&& value);
inline ::capnp::Orphan<Owner> disownSealFor();
private:
::capnp::_::StructBuilder _builder;
template <typename, ::capnp::Kind>
......@@ -260,8 +271,8 @@ private:
};
#if !CAPNP_LITE
template <typename SturdyRef>
class Persistent<SturdyRef>::SaveParams::Pipeline {
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::SaveParams::Pipeline {
public:
typedef SaveParams Pipelines;
......@@ -269,6 +280,7 @@ public:
inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
: _typeless(kj::mv(typeless)) {}
inline ::capnp::PipelineFor<Owner> getSealFor();
private:
::capnp::AnyPointer::Pipeline _typeless;
friend class ::capnp::PipelineHook;
......@@ -277,8 +289,8 @@ private:
};
#endif // !CAPNP_LITE
template <typename SturdyRef>
class Persistent<SturdyRef>::SaveResults::Reader {
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::SaveResults::Reader {
public:
typedef SaveResults Reads;
......@@ -310,8 +322,8 @@ private:
friend class ::capnp::Orphanage;
};
template <typename SturdyRef>
class Persistent<SturdyRef>::SaveResults::Builder {
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::SaveResults::Builder {
public:
typedef SaveResults Builds;
......@@ -345,8 +357,8 @@ private:
};
#if !CAPNP_LITE
template <typename SturdyRef>
class Persistent<SturdyRef>::SaveResults::Pipeline {
template <typename SturdyRef, typename Owner>
class Persistent<SturdyRef, Owner>::SaveResults::Pipeline {
public:
typedef SaveResults Pipelines;
......@@ -364,12 +376,12 @@ private:
#endif // !CAPNP_LITE
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::Client
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client
: public virtual ::capnp::Capability::Client {
public:
typedef RealmGateway<InternalRef, ExternalRef> Calls;
typedef RealmGateway<InternalRef, ExternalRef> Reads;
typedef RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner> Calls;
typedef RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner> Reads;
Client(decltype(nullptr));
explicit Client(::kj::Own< ::capnp::ClientHook>&& hook);
......@@ -383,31 +395,31 @@ public:
Client& operator=(Client& other);
Client& operator=(Client&& other);
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ImportParams, typename ::capnp::Persistent<InternalRef>::SaveResults> importRequest(
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams, typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveResults> importRequest(
::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ExportParams, typename ::capnp::Persistent<ExternalRef>::SaveResults> exportRequest(
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams, typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveResults> exportRequest(
::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
protected:
Client() = default;
};
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::Server
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Server
: public virtual ::capnp::Capability::Server {
public:
typedef RealmGateway<InternalRef, ExternalRef> Serves;
typedef RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner> Serves;
::kj::Promise<void> dispatchCall(uint64_t interfaceId, uint16_t methodId,
::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context)
override;
protected:
typedef typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ImportParams ImportParams;
typedef ::capnp::CallContext<ImportParams, typename ::capnp::Persistent<InternalRef>::SaveResults> ImportContext;
typedef typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams ImportParams;
typedef ::capnp::CallContext<ImportParams, typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveResults> ImportContext;
virtual ::kj::Promise<void> import(ImportContext context);
typedef typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ExportParams ExportParams;
typedef ::capnp::CallContext<ExportParams, typename ::capnp::Persistent<ExternalRef>::SaveResults> ExportContext;
typedef typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams ExportParams;
typedef ::capnp::CallContext<ExportParams, typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveResults> ExportContext;
virtual ::kj::Promise<void> export_(ExportContext context);
::kj::Promise<void> dispatchCallInternal(uint16_t methodId,
......@@ -415,8 +427,8 @@ protected:
};
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::ImportParams::Reader {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Reader {
public:
typedef ImportParams Reads;
......@@ -435,11 +447,11 @@ public:
inline bool hasCap() const;
#if !CAPNP_LITE
inline typename ::capnp::Persistent<ExternalRef>::Client getCap() const;
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client getCap() const;
#endif // !CAPNP_LITE
inline bool hasParams() const;
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Reader getParams() const;
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Reader getParams() const;
private:
::capnp::_::StructReader _reader;
......@@ -453,8 +465,8 @@ private:
friend class ::capnp::Orphanage;
};
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder {
public:
typedef ImportParams Builds;
......@@ -472,19 +484,19 @@ public:
inline bool hasCap();
#if !CAPNP_LITE
inline typename ::capnp::Persistent<ExternalRef>::Client getCap();
inline void setCap(typename ::capnp::Persistent<ExternalRef>::Client&& value);
inline void setCap(typename ::capnp::Persistent<ExternalRef>::Client& value);
inline void adoptCap(::capnp::Orphan< ::capnp::Persistent<ExternalRef>>&& value);
inline ::capnp::Orphan< ::capnp::Persistent<ExternalRef>> disownCap();
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client getCap();
inline void setCap(typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client&& value);
inline void setCap(typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client& value);
inline void adoptCap(::capnp::Orphan< ::capnp::Persistent<ExternalRef, ExternalOwner>>&& value);
inline ::capnp::Orphan< ::capnp::Persistent<ExternalRef, ExternalOwner>> disownCap();
#endif // !CAPNP_LITE
inline bool hasParams();
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Builder getParams();
inline void setParams(typename ::capnp::Persistent<InternalRef>::SaveParams::Reader value);
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Builder initParams();
inline void adoptParams(::capnp::Orphan<typename ::capnp::Persistent<InternalRef>::SaveParams>&& value);
inline ::capnp::Orphan<typename ::capnp::Persistent<InternalRef>::SaveParams> disownParams();
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Builder getParams();
inline void setParams(typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Reader value);
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Builder initParams();
inline void adoptParams(::capnp::Orphan<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>&& value);
inline ::capnp::Orphan<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams> disownParams();
private:
::capnp::_::StructBuilder _builder;
......@@ -496,8 +508,8 @@ private:
};
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::ImportParams::Pipeline {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Pipeline {
public:
typedef ImportParams Pipelines;
......@@ -505,8 +517,8 @@ public:
inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
: _typeless(kj::mv(typeless)) {}
inline typename ::capnp::Persistent<ExternalRef>::Client getCap();
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Pipeline getParams();
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client getCap();
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Pipeline getParams();
private:
::capnp::AnyPointer::Pipeline _typeless;
friend class ::capnp::PipelineHook;
......@@ -515,8 +527,8 @@ private:
};
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::ExportParams::Reader {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Reader {
public:
typedef ExportParams Reads;
......@@ -535,11 +547,11 @@ public:
inline bool hasCap() const;
#if !CAPNP_LITE
inline typename ::capnp::Persistent<InternalRef>::Client getCap() const;
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::Client getCap() const;
#endif // !CAPNP_LITE
inline bool hasParams() const;
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Reader getParams() const;
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Reader getParams() const;
private:
::capnp::_::StructReader _reader;
......@@ -553,8 +565,8 @@ private:
friend class ::capnp::Orphanage;
};
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder {
public:
typedef ExportParams Builds;
......@@ -572,19 +584,19 @@ public:
inline bool hasCap();
#if !CAPNP_LITE
inline typename ::capnp::Persistent<InternalRef>::Client getCap();
inline void setCap(typename ::capnp::Persistent<InternalRef>::Client&& value);
inline void setCap(typename ::capnp::Persistent<InternalRef>::Client& value);
inline void adoptCap(::capnp::Orphan< ::capnp::Persistent<InternalRef>>&& value);
inline ::capnp::Orphan< ::capnp::Persistent<InternalRef>> disownCap();
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::Client getCap();
inline void setCap(typename ::capnp::Persistent<InternalRef, InternalOwner>::Client&& value);
inline void setCap(typename ::capnp::Persistent<InternalRef, InternalOwner>::Client& value);
inline void adoptCap(::capnp::Orphan< ::capnp::Persistent<InternalRef, InternalOwner>>&& value);
inline ::capnp::Orphan< ::capnp::Persistent<InternalRef, InternalOwner>> disownCap();
#endif // !CAPNP_LITE
inline bool hasParams();
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Builder getParams();
inline void setParams(typename ::capnp::Persistent<ExternalRef>::SaveParams::Reader value);
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Builder initParams();
inline void adoptParams(::capnp::Orphan<typename ::capnp::Persistent<ExternalRef>::SaveParams>&& value);
inline ::capnp::Orphan<typename ::capnp::Persistent<ExternalRef>::SaveParams> disownParams();
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Builder getParams();
inline void setParams(typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Reader value);
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Builder initParams();
inline void adoptParams(::capnp::Orphan<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>&& value);
inline ::capnp::Orphan<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams> disownParams();
private:
::capnp::_::StructBuilder _builder;
......@@ -596,8 +608,8 @@ private:
};
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
class RealmGateway<InternalRef, ExternalRef>::ExportParams::Pipeline {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
class RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Pipeline {
public:
typedef ExportParams Pipelines;
......@@ -605,8 +617,8 @@ public:
inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
: _typeless(kj::mv(typeless)) {}
inline typename ::capnp::Persistent<InternalRef>::Client getCap();
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Pipeline getParams();
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::Client getCap();
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Pipeline getParams();
private:
::capnp::AnyPointer::Pipeline _typeless;
friend class ::capnp::PipelineHook;
......@@ -618,160 +630,213 @@ private:
// =======================================================================================
#if !CAPNP_LITE
template <typename SturdyRef>
inline Persistent<SturdyRef>::Client::Client(decltype(nullptr))
template <typename SturdyRef, typename Owner>
inline Persistent<SturdyRef, Owner>::Client::Client(decltype(nullptr))
: ::capnp::Capability::Client(nullptr) {}
template <typename SturdyRef>
inline Persistent<SturdyRef>::Client::Client(
template <typename SturdyRef, typename Owner>
inline Persistent<SturdyRef, Owner>::Client::Client(
::kj::Own< ::capnp::ClientHook>&& hook)
: ::capnp::Capability::Client(::kj::mv(hook)) {}
template <typename SturdyRef>
template <typename SturdyRef, typename Owner>
template <typename _t, typename>
inline Persistent<SturdyRef>::Client::Client(::kj::Own<_t>&& server)
inline Persistent<SturdyRef, Owner>::Client::Client(::kj::Own<_t>&& server)
: ::capnp::Capability::Client(::kj::mv(server)) {}
template <typename SturdyRef>
template <typename SturdyRef, typename Owner>
template <typename _t, typename>
inline Persistent<SturdyRef>::Client::Client(::kj::Promise<_t>&& promise)
inline Persistent<SturdyRef, Owner>::Client::Client(::kj::Promise<_t>&& promise)
: ::capnp::Capability::Client(::kj::mv(promise)) {}
template <typename SturdyRef>
inline Persistent<SturdyRef>::Client::Client(::kj::Exception&& exception)
template <typename SturdyRef, typename Owner>
inline Persistent<SturdyRef, Owner>::Client::Client(::kj::Exception&& exception)
: ::capnp::Capability::Client(::kj::mv(exception)) {}
template <typename SturdyRef>
inline typename ::capnp::Persistent<SturdyRef>::Client& Persistent<SturdyRef>::Client::operator=(Client& other) {
template <typename SturdyRef, typename Owner>
inline typename ::capnp::Persistent<SturdyRef, Owner>::Client& Persistent<SturdyRef, Owner>::Client::operator=(Client& other) {
::capnp::Capability::Client::operator=(other);
return *this;
}
template <typename SturdyRef>
inline typename ::capnp::Persistent<SturdyRef>::Client& Persistent<SturdyRef>::Client::operator=(Client&& other) {
template <typename SturdyRef, typename Owner>
inline typename ::capnp::Persistent<SturdyRef, Owner>::Client& Persistent<SturdyRef, Owner>::Client::operator=(Client&& other) {
::capnp::Capability::Client::operator=(kj::mv(other));
return *this;
}
#endif // !CAPNP_LITE
// Persistent<SturdyRef>::SaveParams
template <typename SturdyRef, typename Owner>
inline bool Persistent<SturdyRef, Owner>::SaveParams::Reader::hasSealFor() const {
return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
template <typename SturdyRef, typename Owner>
inline bool Persistent<SturdyRef, Owner>::SaveParams::Builder::hasSealFor() {
return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
template <typename SturdyRef, typename Owner>
inline ::capnp::ReaderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Reader::getSealFor() const {
return ::capnp::_::PointerHelpers<Owner>::get(
_reader.getPointerField(0 * ::capnp::POINTERS));
}
template <typename SturdyRef, typename Owner>
inline ::capnp::BuilderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::getSealFor() {
return ::capnp::_::PointerHelpers<Owner>::get(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
#if !CAPNP_LITE
template <typename SturdyRef, typename Owner>
inline ::capnp::PipelineFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Pipeline::getSealFor() {
return ::capnp::PipelineFor<Owner>(_typeless.getPointerField(0));
}
#endif // !CAPNP_LITE
template <typename SturdyRef, typename Owner>
inline void Persistent<SturdyRef, Owner>::SaveParams::Builder::setSealFor( ::capnp::ReaderFor<Owner> value) {
::capnp::_::PointerHelpers<Owner>::set(
_builder.getPointerField(0 * ::capnp::POINTERS), value);
}
template <typename SturdyRef, typename Owner>
inline ::capnp::BuilderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::initSealFor() {
return ::capnp::_::PointerHelpers<Owner>::init(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
template <typename SturdyRef, typename Owner>
inline ::capnp::BuilderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::initSealFor(unsigned int size) {
return ::capnp::_::PointerHelpers<Owner>::init(
_builder.getPointerField(0 * ::capnp::POINTERS), size);
}
template <typename SturdyRef, typename Owner>
inline void Persistent<SturdyRef, Owner>::SaveParams::Builder::adoptSealFor(
::capnp::Orphan<Owner>&& value) {
::capnp::_::PointerHelpers<Owner>::adopt(
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
template <typename SturdyRef, typename Owner>
inline ::capnp::Orphan<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::disownSealFor() {
return ::capnp::_::PointerHelpers<Owner>::disown(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
// Persistent<SturdyRef, Owner>::SaveParams
#ifndef _MSC_VER
template <typename SturdyRef>
constexpr uint16_t Persistent<SturdyRef>::SaveParams::_capnpPrivate::dataWordSize;
template <typename SturdyRef>
constexpr uint16_t Persistent<SturdyRef>::SaveParams::_capnpPrivate::pointerCount;
template <typename SturdyRef, typename Owner>
constexpr uint16_t Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::dataWordSize;
template <typename SturdyRef, typename Owner>
constexpr uint16_t Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename SturdyRef>
constexpr ::capnp::Kind Persistent<SturdyRef>::SaveParams::_capnpPrivate::kind;
template <typename SturdyRef>
constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef>::SaveParams::_capnpPrivate::schema;
template <typename SturdyRef>
constexpr ::capnp::_::RawBrandedSchema const* Persistent<SturdyRef>::SaveParams::_capnpPrivate::brand;
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef>::SaveParams::_capnpPrivate::brandScopes[] = {
{ 0xc8cb212fcd9f5691, brandBindings + 0, 1, false},
template <typename SturdyRef, typename Owner>
constexpr ::capnp::Kind Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::kind;
template <typename SturdyRef, typename Owner>
constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::schema;
template <typename SturdyRef, typename Owner>
constexpr ::capnp::_::RawBrandedSchema const* Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::brand;
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::brandScopes[] = {
{ 0xc8cb212fcd9f5691, brandBindings + 0, 2, false},
};
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef>::SaveParams::_capnpPrivate::brandBindings[] = {
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::brandBindings[] = {
::capnp::_::brandBindingFor<SturdyRef>(),
::capnp::_::brandBindingFor<Owner>(),
};
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema Persistent<SturdyRef>::SaveParams::_capnpPrivate::specificBrand = {
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::specificBrand = {
&::capnp::schemas::s_f76fba59183073a5, brandScopes, nullptr,
sizeof(brandScopes) / sizeof(brandScopes[0]), 0, nullptr
};
#endif // !CAPNP_LITE
template <typename SturdyRef>
inline bool Persistent<SturdyRef>::SaveResults::Reader::hasSturdyRef() const {
template <typename SturdyRef, typename Owner>
inline bool Persistent<SturdyRef, Owner>::SaveResults::Reader::hasSturdyRef() const {
return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
template <typename SturdyRef>
inline bool Persistent<SturdyRef>::SaveResults::Builder::hasSturdyRef() {
template <typename SturdyRef, typename Owner>
inline bool Persistent<SturdyRef, Owner>::SaveResults::Builder::hasSturdyRef() {
return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
template <typename SturdyRef>
inline ::capnp::ReaderFor<SturdyRef> Persistent<SturdyRef>::SaveResults::Reader::getSturdyRef() const {
template <typename SturdyRef, typename Owner>
inline ::capnp::ReaderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Reader::getSturdyRef() const {
return ::capnp::_::PointerHelpers<SturdyRef>::get(
_reader.getPointerField(0 * ::capnp::POINTERS));
}
template <typename SturdyRef>
inline ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef>::SaveResults::Builder::getSturdyRef() {
template <typename SturdyRef, typename Owner>
inline ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::getSturdyRef() {
return ::capnp::_::PointerHelpers<SturdyRef>::get(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
#if !CAPNP_LITE
template <typename SturdyRef>
inline ::capnp::PipelineFor<SturdyRef> Persistent<SturdyRef>::SaveResults::Pipeline::getSturdyRef() {
template <typename SturdyRef, typename Owner>
inline ::capnp::PipelineFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Pipeline::getSturdyRef() {
return ::capnp::PipelineFor<SturdyRef>(_typeless.getPointerField(0));
}
#endif // !CAPNP_LITE
template <typename SturdyRef>
inline void Persistent<SturdyRef>::SaveResults::Builder::setSturdyRef( ::capnp::ReaderFor<SturdyRef> value) {
template <typename SturdyRef, typename Owner>
inline void Persistent<SturdyRef, Owner>::SaveResults::Builder::setSturdyRef( ::capnp::ReaderFor<SturdyRef> value) {
::capnp::_::PointerHelpers<SturdyRef>::set(
_builder.getPointerField(0 * ::capnp::POINTERS), value);
}
template <typename SturdyRef>
inline ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef>::SaveResults::Builder::initSturdyRef() {
template <typename SturdyRef, typename Owner>
inline ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::initSturdyRef() {
return ::capnp::_::PointerHelpers<SturdyRef>::init(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
template <typename SturdyRef>
inline ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef>::SaveResults::Builder::initSturdyRef(unsigned int size) {
template <typename SturdyRef, typename Owner>
inline ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::initSturdyRef(unsigned int size) {
return ::capnp::_::PointerHelpers<SturdyRef>::init(
_builder.getPointerField(0 * ::capnp::POINTERS), size);
}
template <typename SturdyRef>
inline void Persistent<SturdyRef>::SaveResults::Builder::adoptSturdyRef(
template <typename SturdyRef, typename Owner>
inline void Persistent<SturdyRef, Owner>::SaveResults::Builder::adoptSturdyRef(
::capnp::Orphan<SturdyRef>&& value) {
::capnp::_::PointerHelpers<SturdyRef>::adopt(
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
template <typename SturdyRef>
inline ::capnp::Orphan<SturdyRef> Persistent<SturdyRef>::SaveResults::Builder::disownSturdyRef() {
template <typename SturdyRef, typename Owner>
inline ::capnp::Orphan<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::disownSturdyRef() {
return ::capnp::_::PointerHelpers<SturdyRef>::disown(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
// Persistent<SturdyRef>::SaveResults
// Persistent<SturdyRef, Owner>::SaveResults
#ifndef _MSC_VER
template <typename SturdyRef>
constexpr uint16_t Persistent<SturdyRef>::SaveResults::_capnpPrivate::dataWordSize;
template <typename SturdyRef>
constexpr uint16_t Persistent<SturdyRef>::SaveResults::_capnpPrivate::pointerCount;
template <typename SturdyRef, typename Owner>
constexpr uint16_t Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::dataWordSize;
template <typename SturdyRef, typename Owner>
constexpr uint16_t Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename SturdyRef>
constexpr ::capnp::Kind Persistent<SturdyRef>::SaveResults::_capnpPrivate::kind;
template <typename SturdyRef>
constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef>::SaveResults::_capnpPrivate::schema;
template <typename SturdyRef>
constexpr ::capnp::_::RawBrandedSchema const* Persistent<SturdyRef>::SaveResults::_capnpPrivate::brand;
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef>::SaveResults::_capnpPrivate::brandScopes[] = {
{ 0xc8cb212fcd9f5691, brandBindings + 0, 1, false},
template <typename SturdyRef, typename Owner>
constexpr ::capnp::Kind Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::kind;
template <typename SturdyRef, typename Owner>
constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::schema;
template <typename SturdyRef, typename Owner>
constexpr ::capnp::_::RawBrandedSchema const* Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::brand;
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::brandScopes[] = {
{ 0xc8cb212fcd9f5691, brandBindings + 0, 2, false},
};
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef>::SaveResults::_capnpPrivate::brandBindings[] = {
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::brandBindings[] = {
::capnp::_::brandBindingFor<SturdyRef>(),
::capnp::_::brandBindingFor<Owner>(),
};
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema Persistent<SturdyRef>::SaveResults::_capnpPrivate::specificBrand = {
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::specificBrand = {
&::capnp::schemas::s_b76848c18c40efbf, brandScopes, nullptr,
sizeof(brandScopes) / sizeof(brandScopes[0]), 0, nullptr
};
#endif // !CAPNP_LITE
#if !CAPNP_LITE
template <typename SturdyRef>
::capnp::Request<typename ::capnp::Persistent<SturdyRef>::SaveParams, typename ::capnp::Persistent<SturdyRef>::SaveResults>
Persistent<SturdyRef>::Client::saveRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
return newCall<typename ::capnp::Persistent<SturdyRef>::SaveParams, typename ::capnp::Persistent<SturdyRef>::SaveResults>(
template <typename SturdyRef, typename Owner>
::capnp::Request<typename ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename ::capnp::Persistent<SturdyRef, Owner>::SaveResults>
Persistent<SturdyRef, Owner>::Client::saveRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
return newCall<typename ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename ::capnp::Persistent<SturdyRef, Owner>::SaveResults>(
0xc8cb212fcd9f5691ull, 0, sizeHint);
}
template <typename SturdyRef>
::kj::Promise<void> Persistent<SturdyRef>::Server::save(SaveContext) {
template <typename SturdyRef, typename Owner>
::kj::Promise<void> Persistent<SturdyRef, Owner>::Server::save(SaveContext) {
return ::capnp::Capability::Server::internalUnimplemented(
"capnp/persistent.capnp:Persistent", "save",
0xc8cb212fcd9f5691ull, 0);
}
template <typename SturdyRef>
::kj::Promise<void> Persistent<SturdyRef>::Server::dispatchCall(
template <typename SturdyRef, typename Owner>
::kj::Promise<void> Persistent<SturdyRef, Owner>::Server::dispatchCall(
uint64_t interfaceId, uint16_t methodId,
::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
switch (interfaceId) {
......@@ -781,14 +846,14 @@ template <typename SturdyRef>
return internalUnimplemented("capnp/persistent.capnp:Persistent", interfaceId);
}
}
template <typename SturdyRef>
::kj::Promise<void> Persistent<SturdyRef>::Server::dispatchCallInternal(
template <typename SturdyRef, typename Owner>
::kj::Promise<void> Persistent<SturdyRef, Owner>::Server::dispatchCallInternal(
uint16_t methodId,
::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
switch (methodId) {
case 0:
return save(::capnp::Capability::Server::internalGetTypedContext<
typename ::capnp::Persistent<SturdyRef>::SaveParams, typename ::capnp::Persistent<SturdyRef>::SaveResults>(context));
typename ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename ::capnp::Persistent<SturdyRef, Owner>::SaveResults>(context));
default:
(void)context;
return ::capnp::Capability::Server::internalUnimplemented(
......@@ -798,346 +863,351 @@ template <typename SturdyRef>
}
#endif // !CAPNP_LITE
// Persistent<SturdyRef>
// Persistent<SturdyRef, Owner>
#if !CAPNP_LITE
template <typename SturdyRef>
constexpr ::capnp::Kind Persistent<SturdyRef>::_capnpPrivate::kind;
template <typename SturdyRef>
constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef>::_capnpPrivate::schema;
template <typename SturdyRef>
constexpr ::capnp::_::RawBrandedSchema const* Persistent<SturdyRef>::_capnpPrivate::brand;
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef>::_capnpPrivate::brandScopes[] = {
{ 0xc8cb212fcd9f5691, brandBindings + 0, 1, false},
template <typename SturdyRef, typename Owner>
constexpr ::capnp::Kind Persistent<SturdyRef, Owner>::_capnpPrivate::kind;
template <typename SturdyRef, typename Owner>
constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef, Owner>::_capnpPrivate::schema;
template <typename SturdyRef, typename Owner>
constexpr ::capnp::_::RawBrandedSchema const* Persistent<SturdyRef, Owner>::_capnpPrivate::brand;
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef, Owner>::_capnpPrivate::brandScopes[] = {
{ 0xc8cb212fcd9f5691, brandBindings + 0, 2, false},
};
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef>::_capnpPrivate::brandBindings[] = {
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef, Owner>::_capnpPrivate::brandBindings[] = {
::capnp::_::brandBindingFor<SturdyRef>(),
::capnp::_::brandBindingFor<Owner>(),
};
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema::Dependency Persistent<SturdyRef>::_capnpPrivate::brandDependencies[] = {
{ 33554432, ::capnp::Persistent<SturdyRef>::SaveParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent<SturdyRef>::SaveResults::_capnpPrivate::brand },
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema::Dependency Persistent<SturdyRef, Owner>::_capnpPrivate::brandDependencies[] = {
{ 33554432, ::capnp::Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::brand },
};
template <typename SturdyRef>
const ::capnp::_::RawBrandedSchema Persistent<SturdyRef>::_capnpPrivate::specificBrand = {
template <typename SturdyRef, typename Owner>
const ::capnp::_::RawBrandedSchema Persistent<SturdyRef, Owner>::_capnpPrivate::specificBrand = {
&::capnp::schemas::s_c8cb212fcd9f5691, brandScopes, brandDependencies,
sizeof(brandScopes) / sizeof(brandScopes[0]), sizeof(brandDependencies) / sizeof(brandDependencies[0]), nullptr
};
#endif // !CAPNP_LITE
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline RealmGateway<InternalRef, ExternalRef>::Client::Client(decltype(nullptr))
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::Client(decltype(nullptr))
: ::capnp::Capability::Client(nullptr) {}
template <typename InternalRef, typename ExternalRef>
inline RealmGateway<InternalRef, ExternalRef>::Client::Client(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::Client(
::kj::Own< ::capnp::ClientHook>&& hook)
: ::capnp::Capability::Client(::kj::mv(hook)) {}
template <typename InternalRef, typename ExternalRef>
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
template <typename _t, typename>
inline RealmGateway<InternalRef, ExternalRef>::Client::Client(::kj::Own<_t>&& server)
inline RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::Client(::kj::Own<_t>&& server)
: ::capnp::Capability::Client(::kj::mv(server)) {}
template <typename InternalRef, typename ExternalRef>
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
template <typename _t, typename>
inline RealmGateway<InternalRef, ExternalRef>::Client::Client(::kj::Promise<_t>&& promise)
inline RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::Client(::kj::Promise<_t>&& promise)
: ::capnp::Capability::Client(::kj::mv(promise)) {}
template <typename InternalRef, typename ExternalRef>
inline RealmGateway<InternalRef, ExternalRef>::Client::Client(::kj::Exception&& exception)
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::Client(::kj::Exception&& exception)
: ::capnp::Capability::Client(::kj::mv(exception)) {}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::RealmGateway<InternalRef, ExternalRef>::Client& RealmGateway<InternalRef, ExternalRef>::Client::operator=(Client& other) {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client& RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::operator=(Client& other) {
::capnp::Capability::Client::operator=(other);
return *this;
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::RealmGateway<InternalRef, ExternalRef>::Client& RealmGateway<InternalRef, ExternalRef>::Client::operator=(Client&& other) {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client& RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::operator=(Client&& other) {
::capnp::Capability::Client::operator=(kj::mv(other));
return *this;
}
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ImportParams::Reader::hasCap() const {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Reader::hasCap() const {
return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::hasCap() {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::hasCap() {
return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<ExternalRef>::Client RealmGateway<InternalRef, ExternalRef>::ImportParams::Reader::getCap() const {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef>>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Reader::getCap() const {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef, ExternalOwner>>::get(
_reader.getPointerField(0 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<ExternalRef>::Client RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::getCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef>>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::getCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef, ExternalOwner>>::get(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<ExternalRef>::Client RealmGateway<InternalRef, ExternalRef>::ImportParams::Pipeline::getCap() {
return typename ::capnp::Persistent<ExternalRef>::Client(_typeless.getPointerField(0).asCap());
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Pipeline::getCap() {
return typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client(_typeless.getPointerField(0).asCap());
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::setCap(typename ::capnp::Persistent<ExternalRef>::Client&& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef>>::set(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::setCap(typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client&& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef, ExternalOwner>>::set(
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(cap));
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::setCap(typename ::capnp::Persistent<ExternalRef>::Client& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef>>::set(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::setCap(typename ::capnp::Persistent<ExternalRef, ExternalOwner>::Client& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef, ExternalOwner>>::set(
_builder.getPointerField(0 * ::capnp::POINTERS), cap);
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::adoptCap(
::capnp::Orphan< ::capnp::Persistent<ExternalRef>>&& value) {
::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef>>::adopt(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::adoptCap(
::capnp::Orphan< ::capnp::Persistent<ExternalRef, ExternalOwner>>&& value) {
::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef, ExternalOwner>>::adopt(
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
template <typename InternalRef, typename ExternalRef>
inline ::capnp::Orphan< ::capnp::Persistent<ExternalRef>> RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::disownCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef>>::disown(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline ::capnp::Orphan< ::capnp::Persistent<ExternalRef, ExternalOwner>> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::disownCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<ExternalRef, ExternalOwner>>::disown(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ImportParams::Reader::hasParams() const {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Reader::hasParams() const {
return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::hasParams() {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::hasParams() {
return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Reader RealmGateway<InternalRef, ExternalRef>::ImportParams::Reader::getParams() const {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef>::SaveParams>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Reader RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Reader::getParams() const {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>::get(
_reader.getPointerField(1 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::getParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef>::SaveParams>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::getParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>::get(
_builder.getPointerField(1 * ::capnp::POINTERS));
}
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Pipeline RealmGateway<InternalRef, ExternalRef>::ImportParams::Pipeline::getParams() {
return typename ::capnp::Persistent<InternalRef>::SaveParams::Pipeline(_typeless.getPointerField(1));
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Pipeline RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Pipeline::getParams() {
return typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Pipeline(_typeless.getPointerField(1));
}
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::setParams(typename ::capnp::Persistent<InternalRef>::SaveParams::Reader value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef>::SaveParams>::set(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::setParams(typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Reader value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>::set(
_builder.getPointerField(1 * ::capnp::POINTERS), value);
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<InternalRef>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::initParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef>::SaveParams>::init(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::initParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>::init(
_builder.getPointerField(1 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::adoptParams(
::capnp::Orphan<typename ::capnp::Persistent<InternalRef>::SaveParams>&& value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef>::SaveParams>::adopt(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::adoptParams(
::capnp::Orphan<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>&& value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>::adopt(
_builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
template <typename InternalRef, typename ExternalRef>
inline ::capnp::Orphan<typename ::capnp::Persistent<InternalRef>::SaveParams> RealmGateway<InternalRef, ExternalRef>::ImportParams::Builder::disownParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef>::SaveParams>::disown(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline ::capnp::Orphan<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::Builder::disownParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams>::disown(
_builder.getPointerField(1 * ::capnp::POINTERS));
}
// RealmGateway<InternalRef, ExternalRef>::ImportParams
// RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams
#ifndef _MSC_VER
template <typename InternalRef, typename ExternalRef>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::dataWordSize;
template <typename InternalRef, typename ExternalRef>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::pointerCount;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::dataWordSize;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::kind;
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::RawSchema const* RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::schema;
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::RawBrandedSchema const* RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::brand;
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Scope RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::brandScopes[] = {
{ 0x84ff286cd00a3ed4, brandBindings + 0, 2, false},
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::kind;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::_::RawSchema const* RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::schema;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::_::RawBrandedSchema const* RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::brand;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Scope RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::brandScopes[] = {
{ 0x84ff286cd00a3ed4, brandBindings + 0, 4, false},
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Binding RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::brandBindings[] = {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Binding RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::brandBindings[] = {
::capnp::_::brandBindingFor<InternalRef>(),
::capnp::_::brandBindingFor<ExternalRef>(),
::capnp::_::brandBindingFor<InternalOwner>(),
::capnp::_::brandBindingFor<ExternalOwner>(),
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Dependency RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::brandDependencies[] = {
{ 16777216, ::capnp::Persistent<ExternalRef>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent<InternalRef>::SaveParams::_capnpPrivate::brand },
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Dependency RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::brandDependencies[] = {
{ 16777216, ::capnp::Persistent<ExternalRef, ExternalOwner>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent<InternalRef, InternalOwner>::SaveParams::_capnpPrivate::brand },
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::specificBrand = {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::specificBrand = {
&::capnp::schemas::s_f0c2cc1d3909574d, brandScopes, brandDependencies,
sizeof(brandScopes) / sizeof(brandScopes[0]), sizeof(brandDependencies) / sizeof(brandDependencies[0]), nullptr
};
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ExportParams::Reader::hasCap() const {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Reader::hasCap() const {
return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
}
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::hasCap() {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::hasCap() {
return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
}
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<InternalRef>::Client RealmGateway<InternalRef, ExternalRef>::ExportParams::Reader::getCap() const {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef>>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::Client RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Reader::getCap() const {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef, InternalOwner>>::get(
_reader.getPointerField(0 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<InternalRef>::Client RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::getCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef>>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::Client RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::getCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef, InternalOwner>>::get(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<InternalRef>::Client RealmGateway<InternalRef, ExternalRef>::ExportParams::Pipeline::getCap() {
return typename ::capnp::Persistent<InternalRef>::Client(_typeless.getPointerField(0).asCap());
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<InternalRef, InternalOwner>::Client RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Pipeline::getCap() {
return typename ::capnp::Persistent<InternalRef, InternalOwner>::Client(_typeless.getPointerField(0).asCap());
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::setCap(typename ::capnp::Persistent<InternalRef>::Client&& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef>>::set(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::setCap(typename ::capnp::Persistent<InternalRef, InternalOwner>::Client&& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef, InternalOwner>>::set(
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(cap));
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::setCap(typename ::capnp::Persistent<InternalRef>::Client& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef>>::set(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::setCap(typename ::capnp::Persistent<InternalRef, InternalOwner>::Client& cap) {
::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef, InternalOwner>>::set(
_builder.getPointerField(0 * ::capnp::POINTERS), cap);
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::adoptCap(
::capnp::Orphan< ::capnp::Persistent<InternalRef>>&& value) {
::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef>>::adopt(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::adoptCap(
::capnp::Orphan< ::capnp::Persistent<InternalRef, InternalOwner>>&& value) {
::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef, InternalOwner>>::adopt(
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
}
template <typename InternalRef, typename ExternalRef>
inline ::capnp::Orphan< ::capnp::Persistent<InternalRef>> RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::disownCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef>>::disown(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline ::capnp::Orphan< ::capnp::Persistent<InternalRef, InternalOwner>> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::disownCap() {
return ::capnp::_::PointerHelpers< ::capnp::Persistent<InternalRef, InternalOwner>>::disown(
_builder.getPointerField(0 * ::capnp::POINTERS));
}
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ExportParams::Reader::hasParams() const {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Reader::hasParams() const {
return !_reader.getPointerField(1 * ::capnp::POINTERS).isNull();
}
template <typename InternalRef, typename ExternalRef>
inline bool RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::hasParams() {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline bool RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::hasParams() {
return !_builder.getPointerField(1 * ::capnp::POINTERS).isNull();
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Reader RealmGateway<InternalRef, ExternalRef>::ExportParams::Reader::getParams() const {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef>::SaveParams>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Reader RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Reader::getParams() const {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>::get(
_reader.getPointerField(1 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::getParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef>::SaveParams>::get(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::getParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>::get(
_builder.getPointerField(1 * ::capnp::POINTERS));
}
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Pipeline RealmGateway<InternalRef, ExternalRef>::ExportParams::Pipeline::getParams() {
return typename ::capnp::Persistent<ExternalRef>::SaveParams::Pipeline(_typeless.getPointerField(1));
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Pipeline RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Pipeline::getParams() {
return typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Pipeline(_typeless.getPointerField(1));
}
#endif // !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::setParams(typename ::capnp::Persistent<ExternalRef>::SaveParams::Reader value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef>::SaveParams>::set(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::setParams(typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Reader value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>::set(
_builder.getPointerField(1 * ::capnp::POINTERS), value);
}
template <typename InternalRef, typename ExternalRef>
inline typename ::capnp::Persistent<ExternalRef>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::initParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef>::SaveParams>::init(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::Builder RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::initParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>::init(
_builder.getPointerField(1 * ::capnp::POINTERS));
}
template <typename InternalRef, typename ExternalRef>
inline void RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::adoptParams(
::capnp::Orphan<typename ::capnp::Persistent<ExternalRef>::SaveParams>&& value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef>::SaveParams>::adopt(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline void RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::adoptParams(
::capnp::Orphan<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>&& value) {
::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>::adopt(
_builder.getPointerField(1 * ::capnp::POINTERS), kj::mv(value));
}
template <typename InternalRef, typename ExternalRef>
inline ::capnp::Orphan<typename ::capnp::Persistent<ExternalRef>::SaveParams> RealmGateway<InternalRef, ExternalRef>::ExportParams::Builder::disownParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef>::SaveParams>::disown(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
inline ::capnp::Orphan<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::Builder::disownParams() {
return ::capnp::_::PointerHelpers<typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams>::disown(
_builder.getPointerField(1 * ::capnp::POINTERS));
}
// RealmGateway<InternalRef, ExternalRef>::ExportParams
// RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams
#ifndef _MSC_VER
template <typename InternalRef, typename ExternalRef>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::dataWordSize;
template <typename InternalRef, typename ExternalRef>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::pointerCount;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::dataWordSize;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr uint16_t RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::pointerCount;
#endif
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::kind;
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::RawSchema const* RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::schema;
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::RawBrandedSchema const* RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::brand;
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Scope RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::brandScopes[] = {
{ 0x84ff286cd00a3ed4, brandBindings + 0, 2, false},
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::kind;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::_::RawSchema const* RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::schema;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::_::RawBrandedSchema const* RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::brand;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Scope RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::brandScopes[] = {
{ 0x84ff286cd00a3ed4, brandBindings + 0, 4, false},
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Binding RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::brandBindings[] = {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Binding RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::brandBindings[] = {
::capnp::_::brandBindingFor<InternalRef>(),
::capnp::_::brandBindingFor<ExternalRef>(),
::capnp::_::brandBindingFor<InternalOwner>(),
::capnp::_::brandBindingFor<ExternalOwner>(),
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Dependency RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::brandDependencies[] = {
{ 16777216, ::capnp::Persistent<InternalRef>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent<ExternalRef>::SaveParams::_capnpPrivate::brand },
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Dependency RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::brandDependencies[] = {
{ 16777216, ::capnp::Persistent<InternalRef, InternalOwner>::_capnpPrivate::brand },
{ 16777217, ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveParams::_capnpPrivate::brand },
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::specificBrand = {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::specificBrand = {
&::capnp::schemas::s_ecafa18b482da3aa, brandScopes, brandDependencies,
sizeof(brandScopes) / sizeof(brandScopes[0]), sizeof(brandDependencies) / sizeof(brandDependencies[0]), nullptr
};
#endif // !CAPNP_LITE
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ImportParams, typename ::capnp::Persistent<InternalRef>::SaveResults>
RealmGateway<InternalRef, ExternalRef>::Client::importRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
return newCall<typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ImportParams, typename ::capnp::Persistent<InternalRef>::SaveResults>(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams, typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveResults>
RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::importRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
return newCall<typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams, typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveResults>(
0x84ff286cd00a3ed4ull, 0, sizeHint);
}
template <typename InternalRef, typename ExternalRef>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef>::Server::import(ImportContext) {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Server::import(ImportContext) {
return ::capnp::Capability::Server::internalUnimplemented(
"capnp/persistent.capnp:RealmGateway", "import",
0x84ff286cd00a3ed4ull, 0);
}
template <typename InternalRef, typename ExternalRef>
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ExportParams, typename ::capnp::Persistent<ExternalRef>::SaveResults>
RealmGateway<InternalRef, ExternalRef>::Client::exportRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
return newCall<typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ExportParams, typename ::capnp::Persistent<ExternalRef>::SaveResults>(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
::capnp::Request<typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams, typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveResults>
RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Client::exportRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
return newCall<typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams, typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveResults>(
0x84ff286cd00a3ed4ull, 1, sizeHint);
}
template <typename InternalRef, typename ExternalRef>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef>::Server::export_(ExportContext) {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Server::export_(ExportContext) {
return ::capnp::Capability::Server::internalUnimplemented(
"capnp/persistent.capnp:RealmGateway", "export",
0x84ff286cd00a3ed4ull, 1);
}
template <typename InternalRef, typename ExternalRef>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef>::Server::dispatchCall(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Server::dispatchCall(
uint64_t interfaceId, uint16_t methodId,
::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
switch (interfaceId) {
......@@ -1147,17 +1217,17 @@ template <typename InternalRef, typename ExternalRef>
return internalUnimplemented("capnp/persistent.capnp:RealmGateway", interfaceId);
}
}
template <typename InternalRef, typename ExternalRef>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef>::Server::dispatchCallInternal(
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
::kj::Promise<void> RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::Server::dispatchCallInternal(
uint16_t methodId,
::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
switch (methodId) {
case 0:
return import(::capnp::Capability::Server::internalGetTypedContext<
typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ImportParams, typename ::capnp::Persistent<InternalRef>::SaveResults>(context));
typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams, typename ::capnp::Persistent<InternalRef, InternalOwner>::SaveResults>(context));
case 1:
return export_(::capnp::Capability::Server::internalGetTypedContext<
typename ::capnp::RealmGateway<InternalRef, ExternalRef>::ExportParams, typename ::capnp::Persistent<ExternalRef>::SaveResults>(context));
typename ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams, typename ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveResults>(context));
default:
(void)context;
return ::capnp::Capability::Server::internalUnimplemented(
......@@ -1167,32 +1237,34 @@ template <typename InternalRef, typename ExternalRef>
}
#endif // !CAPNP_LITE
// RealmGateway<InternalRef, ExternalRef>
// RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>
#if !CAPNP_LITE
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef>::_capnpPrivate::kind;
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::RawSchema const* RealmGateway<InternalRef, ExternalRef>::_capnpPrivate::schema;
template <typename InternalRef, typename ExternalRef>
constexpr ::capnp::_::RawBrandedSchema const* RealmGateway<InternalRef, ExternalRef>::_capnpPrivate::brand;
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Scope RealmGateway<InternalRef, ExternalRef>::_capnpPrivate::brandScopes[] = {
{ 0x84ff286cd00a3ed4, brandBindings + 0, 2, false},
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::Kind RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::_capnpPrivate::kind;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::_::RawSchema const* RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::_capnpPrivate::schema;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
constexpr ::capnp::_::RawBrandedSchema const* RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::_capnpPrivate::brand;
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Scope RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::_capnpPrivate::brandScopes[] = {
{ 0x84ff286cd00a3ed4, brandBindings + 0, 4, false},
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Binding RealmGateway<InternalRef, ExternalRef>::_capnpPrivate::brandBindings[] = {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Binding RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::_capnpPrivate::brandBindings[] = {
::capnp::_::brandBindingFor<InternalRef>(),
::capnp::_::brandBindingFor<ExternalRef>(),
::capnp::_::brandBindingFor<InternalOwner>(),
::capnp::_::brandBindingFor<ExternalOwner>(),
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema::Dependency RealmGateway<InternalRef, ExternalRef>::_capnpPrivate::brandDependencies[] = {
{ 33554432, ::capnp::RealmGateway<InternalRef, ExternalRef>::ImportParams::_capnpPrivate::brand },
{ 33554433, ::capnp::RealmGateway<InternalRef, ExternalRef>::ExportParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent<InternalRef>::SaveResults::_capnpPrivate::brand },
{ 50331649, ::capnp::Persistent<ExternalRef>::SaveResults::_capnpPrivate::brand },
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema::Dependency RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::_capnpPrivate::brandDependencies[] = {
{ 33554432, ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ImportParams::_capnpPrivate::brand },
{ 33554433, ::capnp::RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::ExportParams::_capnpPrivate::brand },
{ 50331648, ::capnp::Persistent<InternalRef, InternalOwner>::SaveResults::_capnpPrivate::brand },
{ 50331649, ::capnp::Persistent<ExternalRef, ExternalOwner>::SaveResults::_capnpPrivate::brand },
};
template <typename InternalRef, typename ExternalRef>
const ::capnp::_::RawBrandedSchema RealmGateway<InternalRef, ExternalRef>::_capnpPrivate::specificBrand = {
template <typename InternalRef, typename ExternalRef, typename InternalOwner, typename ExternalOwner>
const ::capnp::_::RawBrandedSchema RealmGateway<InternalRef, ExternalRef, InternalOwner, ExternalOwner>::_capnpPrivate::specificBrand = {
&::capnp::schemas::s_84ff286cd00a3ed4, brandScopes, brandDependencies,
sizeof(brandScopes) / sizeof(brandScopes[0]), sizeof(brandDependencies) / sizeof(brandDependencies[0]), nullptr
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment