summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/language-bindings/python/wasm-c-api/samples/hello_oop.py
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/language-bindings/python/wasm-c-api/samples/hello_oop.py')
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/language-bindings/python/wasm-c-api/samples/hello_oop.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/language-bindings/python/wasm-c-api/samples/hello_oop.py b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/language-bindings/python/wasm-c-api/samples/hello_oop.py
new file mode 100644
index 000000000..666f63cd8
--- /dev/null
+++ b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/language-bindings/python/wasm-c-api/samples/hello_oop.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python3
+#
+# Copyright (C) 2019 Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+#
+import ctypes
+from wamr import *
+
+
+def hello_callback():
+ print("Calling back...")
+ print("> Hello World!")
+
+
+def main():
+ print("Initializing...")
+ engine = Engine()
+ store = Store(engine)
+
+ print("Loading binary...")
+ print("Compiling module...")
+ module = Module.from_file(engine, "./hello.wasm")
+
+ print("Creating callback...")
+ hello = Func(store, FuncType([], []), hello_callback)
+
+ print("Instantiating module...")
+ instance = Instance(store, module, [hello])
+
+ print("Extracting export...")
+ run = instance.exports(store)["run"]
+
+ print("Calling export...")
+ run(store)
+
+ print("Shutting down...")
+ print("Done.")
+
+
+if __name__ == "__main__":
+ main()