test public

Dependencies:   HttpServer_snapshot_mbed-os

Committer:
anhtran
Date:
Fri Oct 18 03:09:43 2019 +0000
Revision:
0:e9fd5575b10e
abc

Who changed what in which revision?

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