Andrew Boyson / oldheating

Dependencies:   net 1-wire lpc1768 crypto clock web fram log

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers web-server-this.c Source File

web-server-this.c

00001 #include "http.h"
00002 #include "web-pages-this.h"
00003 #include "web.h"
00004 
00005 #define DO_HOME_HTML       DO_THIS +  0
00006 #define DO_PROGRAM_HTML    DO_THIS +  1
00007 #define DO_PROGRAM_AJAX    DO_THIS +  2
00008 #define DO_PROGRAM_SCRIPT  DO_THIS +  3
00009 #define DO_RADIATOR_HTML   DO_THIS +  4
00010 #define DO_RADIATOR_AJAX   DO_THIS +  5
00011 #define DO_RADIATOR_SCRIPT DO_THIS +  6
00012 #define DO_BOILER_HTML     DO_THIS +  7
00013 #define DO_BOILER_AJAX     DO_THIS +  8
00014 #define DO_BOILER_SCRIPT   DO_THIS +  9
00015 #define DO_SYSTEM_HTML     DO_THIS + 10
00016 #define DO_SYSTEM_AJAX     DO_THIS + 11
00017 #define DO_SYSTEM_SCRIPT   DO_THIS + 12
00018 #define DO_1WIRE_HTML      DO_THIS + 13
00019 #define DO_1WIRE_AJAX      DO_THIS + 14
00020 #define DO_1WIRE_SCRIPT    DO_THIS + 15
00021 
00022 int WebServerThisDecideWhatToDo(char *pPath, char* pLastModified)
00023 {
00024     if (HttpSameStr(pPath, "/"             )) return DO_HOME_HTML;
00025     if (HttpSameStr(pPath, "/program"      )) return DO_PROGRAM_HTML;
00026     if (HttpSameStr(pPath, "/program-ajax" )) return DO_PROGRAM_AJAX;
00027     if (HttpSameStr(pPath, "/radiator"     )) return DO_RADIATOR_HTML;
00028     if (HttpSameStr(pPath, "/radiator-ajax")) return DO_RADIATOR_AJAX;
00029     if (HttpSameStr(pPath, "/boiler"       )) return DO_BOILER_HTML;
00030     if (HttpSameStr(pPath, "/boiler-ajax"  )) return DO_BOILER_AJAX;
00031     if (HttpSameStr(pPath, "/system"       )) return DO_SYSTEM_HTML;
00032     if (HttpSameStr(pPath, "/system-ajax"  )) return DO_SYSTEM_AJAX;
00033     if (HttpSameStr(pPath, "/1wire"        )) return DO_1WIRE_HTML;
00034     if (HttpSameStr(pPath, "/1wire-ajax"   )) return DO_1WIRE_AJAX;
00035     
00036     if (HttpSameStr(pPath, "/program.js"   )) return HttpSameDate(WebProgramScriptDate,  WebProgramScriptTime,  pLastModified) ? DO_NOT_MODIFIED : DO_PROGRAM_SCRIPT;
00037     if (HttpSameStr(pPath, "/radiator.js"  )) return HttpSameDate(WebRadiatorScriptDate, WebRadiatorScriptTime, pLastModified) ? DO_NOT_MODIFIED : DO_RADIATOR_SCRIPT;
00038     if (HttpSameStr(pPath, "/boiler.js"    )) return HttpSameDate(WebBoilerScriptDate,   WebBoilerScriptTime,   pLastModified) ? DO_NOT_MODIFIED : DO_BOILER_SCRIPT;
00039     if (HttpSameStr(pPath, "/system.js"    )) return HttpSameDate(WebSystemScriptDate,   WebSystemScriptTime,   pLastModified) ? DO_NOT_MODIFIED : DO_SYSTEM_SCRIPT;
00040     if (HttpSameStr(pPath, "/1wire.js"     )) return HttpSameDate(WebOneWireScriptDate,  WebOneWireScriptTime,  pLastModified) ? DO_NOT_MODIFIED : DO_1WIRE_SCRIPT;
00041 
00042     return DO_NOT_FOUND;
00043 }
00044 
00045 bool WebServerThisHandleQuery(int todo, char* pQuery)
00046 {
00047     switch (todo)
00048     {
00049         case DO_PROGRAM_AJAX:  WebProgramQuery (pQuery); return true;
00050         case DO_PROGRAM_HTML:  WebProgramQuery (pQuery); return true;
00051         case DO_RADIATOR_HTML: WebRadiatorQuery(pQuery); return true;
00052         case DO_RADIATOR_AJAX: WebRadiatorQuery(pQuery); return true;
00053         case DO_BOILER_HTML:   WebBoilerQuery  (pQuery); return true;
00054         case DO_BOILER_AJAX:   WebBoilerQuery  (pQuery); return true;
00055         case DO_SYSTEM_HTML:   WebSystemQuery  (pQuery); return true;
00056         case DO_SYSTEM_AJAX:   WebSystemQuery  (pQuery); return true;
00057         case DO_1WIRE_HTML:    WebOneWireQuery (pQuery); return true;
00058         case DO_1WIRE_AJAX:    WebOneWireQuery (pQuery); return true;
00059     }
00060     return false;
00061 }
00062 bool WebServerThisPost(int todo, int contentLength, int contentStart, int size, char* pRequestStream, uint32_t positionInRequestStream, bool* pComplete)
00063 {
00064     return false;
00065 }
00066 bool WebServerThisReply(int todo)
00067 {
00068     switch (todo)
00069     {
00070         case DO_HOME_HTML:       WebHomeHtml      (); return true;
00071         case DO_PROGRAM_HTML:    WebProgramHtml   (); return true;
00072         case DO_PROGRAM_AJAX:    WebProgramAjax   (); return true;
00073         case DO_PROGRAM_SCRIPT:  WebProgramScript (); return true;
00074         case DO_RADIATOR_HTML:   WebRadiatorHtml  (); return true;
00075         case DO_RADIATOR_AJAX:   WebRadiatorAjax  (); return true;
00076         case DO_RADIATOR_SCRIPT: WebRadiatorScript(); return true;
00077         case DO_BOILER_HTML:     WebBoilerHtml    (); return true;
00078         case DO_BOILER_AJAX:     WebBoilerAjax    (); return true;
00079         case DO_BOILER_SCRIPT:   WebBoilerScript  (); return true;
00080         case DO_SYSTEM_HTML:     WebSystemHtml    (); return true;
00081         case DO_SYSTEM_AJAX:     WebSystemAjax    (); return true;
00082         case DO_SYSTEM_SCRIPT:   WebSystemScript  (); return true;
00083         case DO_1WIRE_HTML:      WebOneWireHtml   (); return true;
00084         case DO_1WIRE_AJAX:      WebOneWireAjax   (); return true;
00085         case DO_1WIRE_SCRIPT:    WebOneWireScript (); return true;
00086     }
00087     return false;
00088 }