First

Dependents:   mbed-os-rest-api-V1-1 mbed-os-rest-api-V1-2 mbed-os-rest-api-V1-2-2

Committer:
asaewing
Date:
Mon Oct 08 00:49:06 2018 +0000
Revision:
0:b12dd3a065c0
Child:
1:358fcf86ddab
First;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
asaewing 0:b12dd3a065c0 1 #ifndef NETWORKMANAGER_H
asaewing 0:b12dd3a065c0 2 #define NETWORKMANAGER_H
asaewing 0:b12dd3a065c0 3
asaewing 0:b12dd3a065c0 4 #include "module_for_all.h"
asaewing 0:b12dd3a065c0 5
asaewing 0:b12dd3a065c0 6 #define HTTP_STATUS_LINE "HTTP/1.0 200 OK"
asaewing 0:b12dd3a065c0 7 #define HTTP_HEADER_FIELDS "Content-Type: text/html; charset=utf-8"
asaewing 0:b12dd3a065c0 8 #define HTTP_MESSAGE_BODY "" \
asaewing 0:b12dd3a065c0 9 "<html>" "\r\n" \
asaewing 0:b12dd3a065c0 10 " <body style=\"display:flex;text-align:center\">" "\r\n" \
asaewing 0:b12dd3a065c0 11 " <div style=\"margin:auto\">" "\r\n" \
asaewing 0:b12dd3a065c0 12 " <h1>Hello ! mbed</h1>" "\r\n" \
asaewing 0:b12dd3a065c0 13 " <p>It works ! from mbed</p>" "\r\n" \
asaewing 0:b12dd3a065c0 14 " </div>" "\r\n" \
asaewing 0:b12dd3a065c0 15 " </body>" "\r\n" \
asaewing 0:b12dd3a065c0 16 "</html>"
asaewing 0:b12dd3a065c0 17
asaewing 0:b12dd3a065c0 18 #define HTTP_RESPONSE HTTP_STATUS_LINE "\r\n" \
asaewing 0:b12dd3a065c0 19 HTTP_HEADER_FIELDS "\r\n" \
asaewing 0:b12dd3a065c0 20 "\r\n" \
asaewing 0:b12dd3a065c0 21 HTTP_MESSAGE_BODY "\r\n"
asaewing 0:b12dd3a065c0 22
asaewing 0:b12dd3a065c0 23 class NetworkManager {
asaewing 0:b12dd3a065c0 24 public:
asaewing 0:b12dd3a065c0 25 NetworkManager();
asaewing 0:b12dd3a065c0 26 NetworkManager(char*, char*, char*, int);
asaewing 0:b12dd3a065c0 27
asaewing 0:b12dd3a065c0 28 /* Define function */
asaewing 0:b12dd3a065c0 29 void SetConfig(char*, char*, char*, int);
asaewing 0:b12dd3a065c0 30 void ServerInit();
asaewing 0:b12dd3a065c0 31
asaewing 0:b12dd3a065c0 32 bool OpenServer();
asaewing 0:b12dd3a065c0 33
asaewing 0:b12dd3a065c0 34 bool BindPort();
asaewing 0:b12dd3a065c0 35
asaewing 0:b12dd3a065c0 36 bool ListenConnections();
asaewing 0:b12dd3a065c0 37
asaewing 0:b12dd3a065c0 38 bool CheckAccept();
asaewing 0:b12dd3a065c0 39
asaewing 0:b12dd3a065c0 40 void AcceptEvent();
asaewing 0:b12dd3a065c0 41 void SendResponseEvent(std::string);
asaewing 0:b12dd3a065c0 42
asaewing 0:b12dd3a065c0 43 /* Define self function */
asaewing 0:b12dd3a065c0 44 std::string getHttpMethod();
asaewing 0:b12dd3a065c0 45 std::string getApiCommand();
asaewing 0:b12dd3a065c0 46 std::string makeResponse(std::string);
asaewing 0:b12dd3a065c0 47
asaewing 0:b12dd3a065c0 48 private:
asaewing 0:b12dd3a065c0 49 char* _ip;
asaewing 0:b12dd3a065c0 50 char* _gateway;
asaewing 0:b12dd3a065c0 51 char* _mask;
asaewing 0:b12dd3a065c0 52 char* _mac;
asaewing 0:b12dd3a065c0 53 int _port;
asaewing 0:b12dd3a065c0 54
asaewing 0:b12dd3a065c0 55 const char* _m_ip;
asaewing 0:b12dd3a065c0 56 const char* _m_mac;
asaewing 0:b12dd3a065c0 57
asaewing 0:b12dd3a065c0 58 std::vector<std::string> _recvList;
asaewing 0:b12dd3a065c0 59
asaewing 0:b12dd3a065c0 60 //char *_http_method;
asaewing 0:b12dd3a065c0 61 //char *_api_command;
asaewing 0:b12dd3a065c0 62
asaewing 0:b12dd3a065c0 63 std::string _http_method;
asaewing 0:b12dd3a065c0 64 std::string _api_command;
asaewing 0:b12dd3a065c0 65
asaewing 0:b12dd3a065c0 66 EthernetInterface eth;
asaewing 0:b12dd3a065c0 67 TCPServer srv;
asaewing 0:b12dd3a065c0 68 TCPSocket clt_sock;
asaewing 0:b12dd3a065c0 69 SocketAddress clt_addr;
asaewing 0:b12dd3a065c0 70 };
asaewing 0:b12dd3a065c0 71
asaewing 0:b12dd3a065c0 72 #endif