Modified to run on Renesas GR Peach

Fork of mbed-rpc by mbed official

Committer:
webOnBoard
Date:
Wed Oct 07 20:35:13 2015 +0000
Revision:
6:a1a58dcfece8
Parent:
1:6919289a5946
Modified for GRPeach

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:efe8172b4113 1 /* mbed Microcontroller Library
emilmont 1:6919289a5946 2 * Copyright (c) 2006-2013 ARM Limited
mbed_official 0:efe8172b4113 3 *
emilmont 1:6919289a5946 4 * Licensed under the Apache License, Version 2.0 (the "License");
emilmont 1:6919289a5946 5 * you may not use this file except in compliance with the License.
emilmont 1:6919289a5946 6 * You may obtain a copy of the License at
mbed_official 0:efe8172b4113 7 *
emilmont 1:6919289a5946 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 0:efe8172b4113 9 *
emilmont 1:6919289a5946 10 * Unless required by applicable law or agreed to in writing, software
emilmont 1:6919289a5946 11 * distributed under the License is distributed on an "AS IS" BASIS,
emilmont 1:6919289a5946 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
emilmont 1:6919289a5946 13 * See the License for the specific language governing permissions and
emilmont 1:6919289a5946 14 * limitations under the License.
mbed_official 0:efe8172b4113 15 */
mbed_official 0:efe8172b4113 16 #ifndef ARGUMENTS_H
mbed_official 0:efe8172b4113 17 #define ARGUMENTS_H
mbed_official 0:efe8172b4113 18
mbed_official 0:efe8172b4113 19 #include "platform.h"
mbed_official 0:efe8172b4113 20
mbed_official 0:efe8172b4113 21 namespace mbed {
mbed_official 0:efe8172b4113 22
mbed_official 0:efe8172b4113 23 #define RPC_MAX_STRING 128
mbed_official 0:efe8172b4113 24 #define RPC_MAX_ARGS 16
mbed_official 0:efe8172b4113 25
mbed_official 0:efe8172b4113 26 class Arguments {
mbed_official 0:efe8172b4113 27 public:
mbed_official 0:efe8172b4113 28 Arguments(const char* rqs);
emilmont 1:6919289a5946 29
mbed_official 0:efe8172b4113 30 template<typename Arg>
mbed_official 0:efe8172b4113 31 Arg getArg(void);
emilmont 1:6919289a5946 32
mbed_official 0:efe8172b4113 33 char *obj_name;
mbed_official 0:efe8172b4113 34 char *method_name;
emilmont 1:6919289a5946 35
mbed_official 0:efe8172b4113 36 int argc;
mbed_official 0:efe8172b4113 37 char* argv[RPC_MAX_ARGS];
mbed_official 0:efe8172b4113 38
mbed_official 0:efe8172b4113 39 private:
mbed_official 0:efe8172b4113 40 // This copy can be removed if we can assume the request string is
mbed_official 0:efe8172b4113 41 // persistent and writable for the duration of the call
mbed_official 0:efe8172b4113 42 char request[RPC_MAX_STRING];
mbed_official 0:efe8172b4113 43 int index;
mbed_official 0:efe8172b4113 44 char* search_arg(char **arg, char *p, char next_sep);
mbed_official 0:efe8172b4113 45 };
mbed_official 0:efe8172b4113 46
mbed_official 0:efe8172b4113 47 class Reply {
mbed_official 0:efe8172b4113 48 public:
mbed_official 0:efe8172b4113 49 Reply(char* r);
emilmont 1:6919289a5946 50
mbed_official 0:efe8172b4113 51 template<typename Data>
mbed_official 0:efe8172b4113 52 void putData(Data d);
mbed_official 0:efe8172b4113 53
mbed_official 0:efe8172b4113 54 private:
mbed_official 0:efe8172b4113 55 void separator(void);
mbed_official 0:efe8172b4113 56 bool first;
mbed_official 0:efe8172b4113 57 char* reply;
mbed_official 0:efe8172b4113 58 };
mbed_official 0:efe8172b4113 59
mbed_official 0:efe8172b4113 60
mbed_official 0:efe8172b4113 61 } // Namespace mbed
mbed_official 0:efe8172b4113 62
mbed_official 0:efe8172b4113 63 #endif