nkjnm

Dependencies:   MAX44000 nexpaq_mdk

Fork of LED_Demo by Maxim nexpaq

Committer:
nexpaq
Date:
Sat Sep 17 16:32:05 2016 +0000
Revision:
1:55a6170b404f
checking in for sharing

Who changed what in which revision?

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