Code written by Paul Rabbat, Angel Daruna, Jarel Hawkins, and Cordel Williams

Dependencies:   4DGL-uLCD-SE EthernetInterface HTTPClient NTPClient PinDetect SDFileSystem mbed-rpc mbed-rtos mbed wave_player

Fork of ECE4180_FinalProject by Angel Daruna

Committer:
prabbat3
Date:
Sun Dec 07 20:53:05 2014 +0000
Revision:
12:a99989062fee
Parent:
0:0a99e3fc2a46
Code cleanup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
prabbat3 0:0a99e3fc2a46 1 #ifndef HTTP_SERVER
prabbat3 0:0a99e3fc2a46 2 #define HTTP_SERVER
prabbat3 0:0a99e3fc2a46 3
prabbat3 0:0a99e3fc2a46 4 #include <map>
prabbat3 0:0a99e3fc2a46 5
prabbat3 0:0a99e3fc2a46 6 #include "mbed.h"
prabbat3 0:0a99e3fc2a46 7 #include "mbed_rpc.h"
prabbat3 0:0a99e3fc2a46 8 #include "RequestHandler.h"
prabbat3 0:0a99e3fc2a46 9 #include "Formatter.h"
prabbat3 0:0a99e3fc2a46 10 #include "EthernetInterface.h"
prabbat3 0:0a99e3fc2a46 11 #include "RPCCommand.h"
prabbat3 0:0a99e3fc2a46 12
prabbat3 0:0a99e3fc2a46 13
prabbat3 0:0a99e3fc2a46 14 class HTTPServer
prabbat3 0:0a99e3fc2a46 15 {
prabbat3 0:0a99e3fc2a46 16 public :
prabbat3 0:0a99e3fc2a46 17
prabbat3 0:0a99e3fc2a46 18 HTTPServer(Formatter *f = new Formatter());
prabbat3 0:0a99e3fc2a46 19 virtual ~HTTPServer();
prabbat3 0:0a99e3fc2a46 20
prabbat3 0:0a99e3fc2a46 21 bool init(int port);
prabbat3 0:0a99e3fc2a46 22
prabbat3 0:0a99e3fc2a46 23 void run();
prabbat3 0:0a99e3fc2a46 24
prabbat3 0:0a99e3fc2a46 25 void add_request_handler(char *name, RequestHandler* handler);
prabbat3 0:0a99e3fc2a46 26
prabbat3 0:0a99e3fc2a46 27 private :
prabbat3 0:0a99e3fc2a46 28
prabbat3 0:0a99e3fc2a46 29 void handle_request(char *buffer);
prabbat3 0:0a99e3fc2a46 30
prabbat3 0:0a99e3fc2a46 31 TCPSocketServer socket;
prabbat3 0:0a99e3fc2a46 32 std::map<char*, RequestHandler*, bool(*)(char*, char*)> handlers;
prabbat3 0:0a99e3fc2a46 33 Formatter *formatter;
prabbat3 0:0a99e3fc2a46 34 char reply[RPC_MAX_STRING];
prabbat3 0:0a99e3fc2a46 35 RPCCommand command;
prabbat3 0:0a99e3fc2a46 36 };
prabbat3 0:0a99e3fc2a46 37
prabbat3 0:0a99e3fc2a46 38 #endif
prabbat3 0:0a99e3fc2a46 39