X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Ffastcgi.c;h=b7a3e6b1409c1022b8bbf05fe84c46152bcd5983;hb=5d57467589ecefdf5bb5985005705a1c8460c623;hp=b4b35875152a9ae68bca73d3d2cc6453c7cdf857;hpb=711808f7e4376b1a39312a0b1f1aecf069cd10bf;p=matches%2FMCTX3420.git diff --git a/server/fastcgi.c b/server/fastcgi.c index b4b3587..b7a3e6b 100644 --- a/server/fastcgi.c +++ b/server/fastcgi.c @@ -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;