mbed-os

Dependents:   cobaLCDJoyMotor_Thread odometry_omni_3roda_v3 odometry_omni_3roda_v1 odometry_omni_3roda_v2 ... more

tools/data/rpc/class.cpp

Committer:
be_bryan
Date:
2017-12-11
Revision:
0:b74591d5ab33

File content as of revision 0:b74591d5ab33:

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;
};