Delta / Mbed 2 deprecated NNN40_APmodeToSTAmodeByHTTPServer

Dependencies:   WIFI_API_32kRAM mbed

Committer:
lester0507
Date:
Wed Oct 21 05:54:02 2015 +0000
Revision:
14:b007595028e2
Parent:
12:eca9b56155c7
fix bug for ssid underline.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
feb11 0:9e4bcb10b3e3 1 #include "RequestHandler.h"
feb11 0:9e4bcb10b3e3 2 #include "mbed_rpc.h"
feb11 0:9e4bcb10b3e3 3 #include "RPCObjectManager.h"
feb11 0:9e4bcb10b3e3 4 #include "RPCCommand.h"
lester0507 12:eca9b56155c7 5 #include "mbed.h"
lester0507 12:eca9b56155c7 6
feb11 0:9e4bcb10b3e3 7
feb11 7:838d7ea07e18 8 const char* INVALID_CMD = "Invalid RPC command";
feb11 7:838d7ea07e18 9 const char* DELETE_ERROR = "You must send a DELETE request to remove an object ";
feb11 7:838d7ea07e18 10 const char* CREATE_ERROR = "You must send a PUT request to create an object";
feb11 7:838d7ea07e18 11 const char* FUNC_CALL_ERROR = "You must send a GET request to call a function";
feb11 7:838d7ea07e18 12
feb11 0:9e4bcb10b3e3 13 void GetRequestHandler::handle(const RPCCommand& cmd, char *reply)
feb11 0:9e4bcb10b3e3 14 {
lester0507 12:eca9b56155c7 15
lester0507 12:eca9b56155c7 16 switch(cmd.get_type()) {
feb11 0:9e4bcb10b3e3 17 case DELETE:
feb11 7:838d7ea07e18 18 printf("Error: %s\n", DELETE_ERROR);
feb11 7:838d7ea07e18 19 strcat(reply, DELETE_ERROR);
feb11 0:9e4bcb10b3e3 20 break;
feb11 0:9e4bcb10b3e3 21 case FUNCTION_CALL:
feb11 0:9e4bcb10b3e3 22 RPC::call(cmd.get_cmd(), reply);
feb11 0:9e4bcb10b3e3 23 break;
feb11 0:9e4bcb10b3e3 24 case CREATE:
feb11 7:838d7ea07e18 25 printf("Error: %s\n", CREATE_ERROR);
feb11 7:838d7ea07e18 26 strcat(reply, CREATE_ERROR);
feb11 0:9e4bcb10b3e3 27 break;
feb11 0:9e4bcb10b3e3 28 default:
feb11 7:838d7ea07e18 29 printf("Error: %s\n", INVALID_CMD);
feb11 7:838d7ea07e18 30 strcat(reply, INVALID_CMD);
feb11 0:9e4bcb10b3e3 31 break;
feb11 0:9e4bcb10b3e3 32 }
feb11 0:9e4bcb10b3e3 33 }
feb11 0:9e4bcb10b3e3 34
feb11 0:9e4bcb10b3e3 35 void PutRequestHandler::handle(const RPCCommand& cmd, char *reply)
feb11 0:9e4bcb10b3e3 36 {
lester0507 12:eca9b56155c7 37
lester0507 12:eca9b56155c7 38 switch(cmd.get_type()) {
feb11 0:9e4bcb10b3e3 39 case DELETE:
feb11 7:838d7ea07e18 40 printf("Error: %s\n", DELETE_ERROR);
feb11 7:838d7ea07e18 41 strcat(reply, DELETE_ERROR);
feb11 0:9e4bcb10b3e3 42 break;
feb11 0:9e4bcb10b3e3 43 case FUNCTION_CALL:
feb11 7:838d7ea07e18 44 printf("Error: %s\n", FUNC_CALL_ERROR);
feb11 7:838d7ea07e18 45 strcat(reply, FUNC_CALL_ERROR);
feb11 0:9e4bcb10b3e3 46 break;
feb11 0:9e4bcb10b3e3 47 case CREATE:
feb11 0:9e4bcb10b3e3 48 RPC::call(cmd.get_cmd(), reply);
lester0507 12:eca9b56155c7 49 if(strlen(reply) > 0) {
feb11 0:9e4bcb10b3e3 50 RPCObjectManager::instance().store_object(reply);
feb11 0:9e4bcb10b3e3 51 strcat(reply, " has been created");
lester0507 12:eca9b56155c7 52 } else {
feb11 7:838d7ea07e18 53 printf("Error while creating object\n");
feb11 0:9e4bcb10b3e3 54 strcat(reply, "Error while creating object.");
feb11 7:838d7ea07e18 55 }
feb11 0:9e4bcb10b3e3 56 break;
feb11 0:9e4bcb10b3e3 57 default:
feb11 7:838d7ea07e18 58 printf("Error: %s\n", INVALID_CMD);
feb11 7:838d7ea07e18 59 strcat(reply, INVALID_CMD);
feb11 0:9e4bcb10b3e3 60 break;
feb11 0:9e4bcb10b3e3 61 }
feb11 0:9e4bcb10b3e3 62 }
feb11 0:9e4bcb10b3e3 63
feb11 0:9e4bcb10b3e3 64 void DeleteRequestHandler::handle(const RPCCommand& cmd, char *reply)
feb11 0:9e4bcb10b3e3 65 {
lester0507 12:eca9b56155c7 66
lester0507 12:eca9b56155c7 67 switch(cmd.get_type()) {
feb11 0:9e4bcb10b3e3 68 case CREATE:
feb11 7:838d7ea07e18 69 printf("Error: %s\n", CREATE_ERROR);
feb11 7:838d7ea07e18 70 strcat(reply, CREATE_ERROR);
feb11 0:9e4bcb10b3e3 71 break;
feb11 0:9e4bcb10b3e3 72 case FUNCTION_CALL:
feb11 7:838d7ea07e18 73 printf("Error: %s\n", FUNC_CALL_ERROR);
feb11 7:838d7ea07e18 74 strcat(reply, FUNC_CALL_ERROR);
feb11 0:9e4bcb10b3e3 75 break;
feb11 0:9e4bcb10b3e3 76 case DELETE:
feb11 0:9e4bcb10b3e3 77 RPC::call(cmd.get_cmd(), reply);
feb11 0:9e4bcb10b3e3 78 RPCObjectManager::instance().remove_object(cmd.get_obj_name());
feb11 0:9e4bcb10b3e3 79 strcat(reply, "Deleted object ");
feb11 0:9e4bcb10b3e3 80 strcat(reply, cmd.get_obj_name());
feb11 0:9e4bcb10b3e3 81 break;
feb11 0:9e4bcb10b3e3 82 default:
feb11 7:838d7ea07e18 83 printf("Error: %s\n", INVALID_CMD);
feb11 7:838d7ea07e18 84 strcat(reply, INVALID_CMD);
feb11 0:9e4bcb10b3e3 85 break;
feb11 0:9e4bcb10b3e3 86 }
feb11 0:9e4bcb10b3e3 87 }
feb11 0:9e4bcb10b3e3 88
feb11 0:9e4bcb10b3e3 89 void ComplexRequestHandler::handle(const RPCCommand& cmd, char *reply)
feb11 0:9e4bcb10b3e3 90 {
lester0507 12:eca9b56155c7 91
lester0507 12:eca9b56155c7 92 switch(cmd.get_type()) {
feb11 0:9e4bcb10b3e3 93 case CREATE :
feb11 0:9e4bcb10b3e3 94 putHandler.handle(cmd, reply);
feb11 0:9e4bcb10b3e3 95 break;
feb11 0:9e4bcb10b3e3 96 case DELETE :
feb11 0:9e4bcb10b3e3 97 deleteHandler.handle(cmd, reply);
feb11 0:9e4bcb10b3e3 98 break;
feb11 0:9e4bcb10b3e3 99 case FUNCTION_CALL :
feb11 0:9e4bcb10b3e3 100 getHandler.handle(cmd, reply);
feb11 0:9e4bcb10b3e3 101 break;
feb11 0:9e4bcb10b3e3 102 default :
feb11 7:838d7ea07e18 103 printf("Error: %s\n", INVALID_CMD);
feb11 7:838d7ea07e18 104 strcat(reply, INVALID_CMD);
feb11 0:9e4bcb10b3e3 105 break;
feb11 0:9e4bcb10b3e3 106 }
feb11 0:9e4bcb10b3e3 107 }