Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
[matches/MCTX3420.git] / server / fastcgi.c
index b4b3587..b7a3e6b 100644 (file)
@@ -15,6 +15,7 @@
 #include "actuator.h"
 #include "control.h"
 #include "options.h"
+#include "image.h"
 
 /**The time period (in seconds) before the control key expires */
 #define CONTROL_TIMEOUT 180
@@ -191,9 +192,9 @@ char *FCGI_KeyPair(char *in, const char **key, const char **value)
 }
 
 /**
- * Aids in parsing request parameters. Expected keys along with their type
- * and whether or not they're required are provided. This function will then
- * parse the parameter string to find these keys.
+ * Aids in parsing request parameters. 
+ * Input: The expected keys along with their type and whether or not
+ * they're required.
  * @param context The context to work in
  * @param params The parameter string to be parsed
  * @param values An array of FCGIValue's that specify expected keys
@@ -237,7 +238,7 @@ bool FCGI_ParseRequest(FCGIContext *context, char *params, FCGIValue values[], s
                                                }
 
                                                if (FCGI_TYPE(val->flags) == FCGI_INT_T)
-                                                       *((int*) val->value) = parsed;
+                                                       *((int*) val->value) = (int) parsed;
                                                else
                                                        *((long*) val->value) = parsed;
                                        }       break;
@@ -393,6 +394,17 @@ void FCGI_PrintRaw(const char *format, ...)
        va_end(list);
 }
 
+
+/**
+ * Write binary data
+ * See fwrite
+ */
+void FCGI_WriteBinary(void * data, size_t size, size_t num_elem)
+{
+       Log(LOGDEBUG,"Writing!");
+       fwrite(data, size, num_elem, stdout);
+}
+
 /**
  * Escapes a string so it can be used safely.
  * Currently escapes to ensure the validity for use as a JSON string
@@ -464,6 +476,8 @@ void * FCGI_RequestLoop (void *data)
                        module_handler = Sensor_Handler;
                } else if (!strcmp("actuators", module)) {
                        module_handler = Actuator_Handler;
+               } else if (!strcmp("image", module)) {
+                       module_handler = Image_Handler;
                }
 
                context.current_module = module;

UCC git Repository :: git.ucc.asn.au