forkしたmbed-rpc:
mbed-rpc
クラスのメンバー関数でもRPCFunctionの(Arguments*, Reply*)タイプの関数を使えるように、rpc.h に以下の関数を追加。
template<class T, void(T::*member)(Arguments*, Reply*)>
void rpc_method_caller(RPC *this_ptr, Arguments *arguments, Reply *result) {
(static_cast<T*>(this_ptr)->*member)(arguments, result);
使用例:
ExtensionUnitのテスト
RpcClasses.hのRpcAnalogInクラス、RpcAnalogOutクラスがRPC::add_rpc_classで登録出来るように、Arguments.cppに以下の関数を追加。
template<> unsigned short Arguments::getArg<unsigned short>(void) {
index++;
char *pEnd;
return strtol(argv[index], &pEnd, 10);
}
template<> void Reply::putData<unsigned short>(unsigned short v) {
separator();
reply += sprintf(reply, "%u", v);
}
(2013/2/16)
---
0 件のコメント:
コメントを投稿