@@ -78,6 +78,33 @@ struct C$VK$TL$RpcFunctionReturnResult : abstract_refcountable_php_interface {
7878 ~C$VK$TL$RpcFunctionReturnResult() override = default ;
7979};
8080
81+ // Every TL function has a corresponding Fetcher, which captures nat parameters,
82+ // required to fetch/store function result.
83+ struct C $VK$TL$RpcFunctionFetcher : abstract_refcountable_php_interface {
84+ virtual const char * get_class () const noexcept {
85+ return " VK\\ TL\\ RpcFunctionFetcher" ;
86+ }
87+ virtual int32_t get_hash () const noexcept {
88+ std::string_view name_view{C$VK$TL$RpcFunctionFetcher::get_class ()};
89+ return static_cast <int32_t >(vk::murmur_hash<uint32_t >(name_view.data (), name_view.size ()));
90+ }
91+
92+ virtual void accept (ToArrayVisitor& /* unused*/ ) noexcept {}
93+ virtual void accept (CommonMemoryEstimateVisitor& /* unused*/ ) noexcept {}
94+ virtual void accept (InstanceReferencesCountingVisitor& /* unused*/ ) noexcept {}
95+ virtual void accept (InstanceDeepCopyVisitor& /* unused*/ ) noexcept {}
96+ virtual void accept (InstanceDeepDestroyVisitor& /* unused*/ ) noexcept {}
97+
98+ virtual size_t virtual_builtin_sizeof () const noexcept {
99+ return 0 ;
100+ }
101+ virtual C$VK$TL$RpcFunctionFetcher* virtual_builtin_clone () const noexcept {
102+ return nullptr ;
103+ }
104+
105+ ~C$VK$TL$RpcFunctionFetcher() override = default ;
106+ };
107+
81108// function call response — ReqResult from the TL scheme — is a rpcResponseOk|rpcResponseHeader|rpcResponseError;
82109// if it's rpcResponseOk or rpcResponseHeader, then their bodies can be retrieved by a fetcher that was returned by a store
83110struct C $VK$TL$RpcResponse : abstract_refcountable_php_interface {
0 commit comments