diff options
Diffstat (limited to 'tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp')
-rw-r--r-- | tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp b/tool/mbed/mbed-sdk/workspace_tools/data/rpc/class.cpp new file mode 100644 index 0000000000..f7831980c0 --- /dev/null +++ b/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; +}; |