Coverage for tests/bindgen/generated/export_resources/exports/my_interface_name.py: 76%
50 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-20 16:25 +0000
1from ..intrinsics import _decode_utf8, _encode_utf8, _load
2import ctypes
3from typing import Protocol, Type
4import wasmtime
6from typing import TYPE_CHECKING
7if TYPE_CHECKING:
8 from .. import Root
10class DemoResourceClass(Protocol):
11 def __init__(self, caller: wasmtime.Store, name: str) -> None: ...
12 def greet(self, caller: wasmtime.Store, greeting: str) -> str: ...
15class MyInterfaceName:
16 component: 'Root'
18 def __init__(self, component: 'Root') -> None:
19 self.component = component
20 self.DemoResourceClass = _create_demo_resource_class(component)
21 def interface_func(self, caller: wasmtime.Store, foo: str) -> str:
22 ptr, len0 = _encode_utf8(foo, self.component._realloc1, self.component._core_memory0, caller)
23 ret = self.component.lift_callee3(caller, ptr, len0)
24 assert(isinstance(ret, int))
25 load = _load(ctypes.c_int32, self.component._core_memory0, caller, ret, 0)
26 load1 = _load(ctypes.c_int32, self.component._core_memory0, caller, ret, 4)
27 ptr2 = load
28 len3 = load1
29 list = _decode_utf8(self.component._core_memory0, caller, ptr2, len3)
30 tmp = list
31 self.component._post_return2(caller, ret)
32 return tmp
35def _create_demo_resource_class(component: 'Root') -> Type[DemoResourceClass]:
36 class _DemoResourceClass:
37 def __init__(self, caller: wasmtime.Store, name: str) -> None:
38 self.component = component
39 ptr, len0 = _encode_utf8(name, self.component._realloc1, self.component._core_memory0, caller)
40 ret = self.component.lift_callee1(caller, ptr, len0)
41 assert(isinstance(ret, int))
42 entry = self.component._handle_remove_0(ret)
43 self._rep = entry[0]
44 def greet(self, caller: wasmtime.Store, greeting: str) -> str:
45 rep = self._rep
46 ptr, len0 = _encode_utf8(greeting, self.component._realloc1, self.component._core_memory0, caller)
47 ret = self.component.lift_callee2(caller, rep, ptr, len0)
48 assert(isinstance(ret, int))
49 load = _load(ctypes.c_int32, self.component._core_memory0, caller, ret, 0)
50 load1 = _load(ctypes.c_int32, self.component._core_memory0, caller, ret, 4)
51 ptr2 = load
52 len3 = load1
53 list = _decode_utf8(self.component._core_memory0, caller, ptr2, len3)
54 tmp = list
55 self.component._post_return1(caller, ret)
56 return tmp
57 return _DemoResourceClass