This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
mbed/jsonrpc/RpcPortOut.cpp@115:fa79286d8ea4, 2017-02-24 (annotated)
- Committer:
- furutani
- Date:
- Fri Feb 24 04:43:41 2017 +0000
- Revision:
- 115:fa79286d8ea4
- Parent:
- 87:814e89e853a2
Delete missing include line.; Add parameter "timeout" to TCPSocket::connect(), precv().; Fix to send ARP request to default gateway when connecting to IP address of different segment.;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 78:8cdb8fc7eda8 | 1 | #include "RpcHandlerBase.h" |
nyatla | 78:8cdb8fc7eda8 | 2 | namespace MiMic |
nyatla | 78:8cdb8fc7eda8 | 3 | { |
nyatla | 78:8cdb8fc7eda8 | 4 | class PortOutHandler :RpcHandlerBase |
nyatla | 78:8cdb8fc7eda8 | 5 | { |
nyatla | 78:8cdb8fc7eda8 | 6 | public: |
nyatla | 78:8cdb8fc7eda8 | 7 | static NyLPC_TBool new1(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) |
nyatla | 78:8cdb8fc7eda8 | 8 | { |
nyatla | 87:814e89e853a2 | 9 | //uu |
nyatla | 85:416f8bbbdf54 | 10 | ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; |
nyatla | 78:8cdb8fc7eda8 | 11 | unsigned int port; |
nyatla | 87:814e89e853a2 | 12 | unsigned int mask; |
nyatla | 78:8cdb8fc7eda8 | 13 | if(getParamUInt(mod,i_rpc,port,0)){ |
nyatla | 87:814e89e853a2 | 14 | if(getParamUInt(mod,i_rpc,mask,1)){ |
nyatla | 87:814e89e853a2 | 15 | addNewObjectBatch(mod,i_rpc->method.id,new ModJsonRpc::RpcObject<PortOut>(new PortOut(portId2PortName(port),(int)mask))); |
nyatla | 78:8cdb8fc7eda8 | 16 | } |
nyatla | 78:8cdb8fc7eda8 | 17 | } |
nyatla | 78:8cdb8fc7eda8 | 18 | return NyLPC_TBool_TRUE; |
nyatla | 78:8cdb8fc7eda8 | 19 | } |
nyatla | 78:8cdb8fc7eda8 | 20 | static NyLPC_TBool read(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) |
nyatla | 78:8cdb8fc7eda8 | 21 | { |
nyatla | 78:8cdb8fc7eda8 | 22 | //d return d |
nyatla | 85:416f8bbbdf54 | 23 | ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; |
nyatla | 78:8cdb8fc7eda8 | 24 | PortOut* inst=(PortOut*)getObjectBatch(mod,i_rpc); |
nyatla | 78:8cdb8fc7eda8 | 25 | if(inst!=NULL){ |
nyatla | 78:8cdb8fc7eda8 | 26 | mod->putResult(i_rpc->method.id,"%d",(int)(inst->read())); |
nyatla | 78:8cdb8fc7eda8 | 27 | } |
nyatla | 78:8cdb8fc7eda8 | 28 | return NyLPC_TBool_TRUE; |
nyatla | 78:8cdb8fc7eda8 | 29 | } |
nyatla | 78:8cdb8fc7eda8 | 30 | static NyLPC_TBool write(const union NyLPC_TJsonRpcParserResult* i_rpc,void* i_param) |
nyatla | 78:8cdb8fc7eda8 | 31 | { |
nyatla | 78:8cdb8fc7eda8 | 32 | //dd return void |
nyatla | 85:416f8bbbdf54 | 33 | ModJsonRpc* mod=((ModJsonRpc::TcJsonRpcEx_t*)i_param)->cppmod_ptr; |
nyatla | 78:8cdb8fc7eda8 | 34 | PortOut* inst=(PortOut*)getObjectBatch(mod,i_rpc); |
nyatla | 78:8cdb8fc7eda8 | 35 | if(inst!=NULL){ |
nyatla | 87:814e89e853a2 | 36 | unsigned int v; |
nyatla | 87:814e89e853a2 | 37 | if(getParamUInt(mod,i_rpc,v,1)){ |
nyatla | 87:814e89e853a2 | 38 | inst->write((int)v); |
nyatla | 85:416f8bbbdf54 | 39 | mod->putResult(i_rpc->method.id); |
nyatla | 78:8cdb8fc7eda8 | 40 | } |
nyatla | 78:8cdb8fc7eda8 | 41 | } |
nyatla | 78:8cdb8fc7eda8 | 42 | return NyLPC_TBool_TRUE; |
nyatla | 78:8cdb8fc7eda8 | 43 | } |
nyatla | 78:8cdb8fc7eda8 | 44 | }; |
nyatla | 78:8cdb8fc7eda8 | 45 | |
nyatla | 78:8cdb8fc7eda8 | 46 | |
nyatla | 78:8cdb8fc7eda8 | 47 | |
nyatla | 78:8cdb8fc7eda8 | 48 | const static struct NyLPC_TJsonRpcMethodDef func_table[]= |
nyatla | 78:8cdb8fc7eda8 | 49 | { |
nyatla | 87:814e89e853a2 | 50 | { "_new1" ,"uu" ,PortOutHandler::new1}, |
nyatla | 78:8cdb8fc7eda8 | 51 | { "read" ,"d" ,PortOutHandler::read}, |
nyatla | 87:814e89e853a2 | 52 | { "write" ,"du" ,PortOutHandler::write}, |
nyatla | 78:8cdb8fc7eda8 | 53 | { NULL ,NULL ,NULL} |
nyatla | 78:8cdb8fc7eda8 | 54 | }; |
nyatla | 78:8cdb8fc7eda8 | 55 | |
nyatla | 78:8cdb8fc7eda8 | 56 | const struct NyLPC_TJsonRpcClassDef MbedJsApi::RPC_MBED_PORT_OUT={ |
nyatla | 78:8cdb8fc7eda8 | 57 | "mbedJS","PortOut",func_table |
nyatla | 78:8cdb8fc7eda8 | 58 | }; |
nyatla | 78:8cdb8fc7eda8 | 59 | |
nyatla | 78:8cdb8fc7eda8 | 60 | |
nyatla | 78:8cdb8fc7eda8 | 61 | |
nyatla | 78:8cdb8fc7eda8 | 62 | } |