First
Dependents: mbed-os-rest-api-V1-1 mbed-os-rest-api-V1-2 mbed-os-rest-api-V1-2-2
NetworkManager.h@2:304e92340942, 2019-06-05 (annotated)
- 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?
User | Revision | Line number | New 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 |