summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp b/tmk_core/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp
new file mode 100644
index 0000000000..f7831980c0
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp
@@ -0,0 +1,24 @@
+class Rpc{{name}} : public RPC {
+public:
+ Rpc{{name}}({{cons_proto}}) : RPC(name), o({{cons_call}}) {}
+
+ {{methods}}
+
+ virtual const struct rpc_method *get_rpc_methods() {
+ static const rpc_method rpc_methods[] = {
+ {{rpc_methods}},
+ RPC_METHOD_SUPER(RPC)
+ };
+ return rpc_methods;
+ }
+ static struct rpc_class *get_rpc_class() {
+ static const rpc_function funcs[] = {
+ {"new", rpc_function_caller<const char*, {{cons_type}}, &RPC::construct<Rpc{{name}}, {{cons_type}}> >},
+ RPC_METHOD_END
+ };
+ static rpc_class c = {"{{name}}", funcs, NULL};
+ return &c;
+ }
+private:
+ {{name}} o;
+};