First

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

Committer:
asaewing
Date:
Wed Jun 05 07:53:56 2019 +0000
Revision:
2:304e92340942
Parent:
1:358fcf86ddab
1.0

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 1:358fcf86ddab 23 //void CheckConnectServer();
asaewing 1:358fcf86ddab 24
asaewing 0:b12dd3a065c0 25 class NetworkManager {
asaewing 0:b12dd3a065c0 26 public:
asaewing 0:b12dd3a065c0 27 NetworkManager();
asaewing 0:b12dd3a065c0 28 NetworkManager(char*, char*, char*, int);
asaewing 0:b12dd3a065c0 29
asaewing 0:b12dd3a065c0 30 /* Define function */
asaewing 0:b12dd3a065c0 31 void SetConfig(char*, char*, char*, int);
asaewing 1:358fcf86ddab 32 bool ServerInit();
asaewing 0:b12dd3a065c0 33
asaewing 0:b12dd3a065c0 34 bool OpenServer();
asaewing 0:b12dd3a065c0 35
asaewing 0:b12dd3a065c0 36 bool BindPort();
asaewing 0:b12dd3a065c0 37
asaewing 0:b12dd3a065c0 38 bool ListenConnections();
asaewing 0:b12dd3a065c0 39
asaewing 0:b12dd3a065c0 40 bool CheckAccept();
asaewing 0:b12dd3a065c0 41
asaewing 0:b12dd3a065c0 42 void AcceptEvent();
asaewing 0:b12dd3a065c0 43 void SendResponseEvent(std::string);
asaewing 0:b12dd3a065c0 44
asaewing 0:b12dd3a065c0 45 /* Define self function */
asaewing 0:b12dd3a065c0 46 std::string getHttpMethod();
asaewing 0:b12dd3a065c0 47 std::string getApiCommand();
asaewing 0:b12dd3a065c0 48 std::string makeResponse(std::string);
asaewing 0:b12dd3a065c0 49
asaewing 1:358fcf86ddab 50 //void CheckConnectServer();
asaewing 1:358fcf86ddab 51 //void threadCheckConnectServer();
asaewing 1:358fcf86ddab 52
asaewing 1:358fcf86ddab 53 EthernetInterface eth;
asaewing 1:358fcf86ddab 54 TCPServer srv;
asaewing 1:358fcf86ddab 55 TCPSocket clt_sock;
asaewing 1:358fcf86ddab 56 SocketAddress clt_addr;
asaewing 1:358fcf86ddab 57
asaewing 0:b12dd3a065c0 58 private:
asaewing 0:b12dd3a065c0 59 char* _ip;
asaewing 0:b12dd3a065c0 60 char* _gateway;
asaewing 0:b12dd3a065c0 61 char* _mask;
asaewing 0:b12dd3a065c0 62 char* _mac;
asaewing 0:b12dd3a065c0 63 int _port;
asaewing 0:b12dd3a065c0 64
asaewing 0:b12dd3a065c0 65 const char* _m_ip;
asaewing 0:b12dd3a065c0 66 const char* _m_mac;
asaewing 0:b12dd3a065c0 67
asaewing 0:b12dd3a065c0 68 std::vector<std::string> _recvList;
asaewing 0:b12dd3a065c0 69
asaewing 0:b12dd3a065c0 70 //char *_http_method;
asaewing 0:b12dd3a065c0 71 //char *_api_command;
asaewing 0:b12dd3a065c0 72
asaewing 0:b12dd3a065c0 73 std::string _http_method;
asaewing 0:b12dd3a065c0 74 std::string _api_command;
asaewing 0:b12dd3a065c0 75
asaewing 0:b12dd3a065c0 76 };
asaewing 0:b12dd3a065c0 77
asaewing 0:b12dd3a065c0 78 #endif