#include "fcgi_stdio.h"
#include <dirent.h>
+#define DEFAULT_SIZE 128
+#define OFFSET_MAX 0
+#define OFFSET_FIRST 4
+#define OFFSET_LAST 12
+
class IoTQuery {
public:
- IoTQuery(FCGX_Request * request);
- ~IoTQuery();
- void processQuery();
-
+ IoTQuery(FCGX_Request * request);
+ ~IoTQuery();
+ void processQuery();
+
private:
- void parseQuery();
- void getDirectory();
- void readData();
- int checkDirectory();
- int openMaxFile();
-
- FCGX_Request * request;
- char *data;
- char *directory;
- const char * uri;
- const char * query;
- const char * method;
- const char * iotcloudroot;
- DIR *dir;
- long length;
- int fd;
+ void getQuery();
+ void getDirectory();
+ void readData();
+ bool checkDirectory();
+ bool openStatusFile();
+ void updateStatusFile();
+ void decodeQuery();
+ void getSlot();
+ void putSlot();
+
+ FCGX_Request * request;
+ char *data;
+ char *directory;
+ const char * uri;
+ const char * query;
+ const char * method;
+ const char * iotcloudroot;
+ DIR *dir;
+ long length;
+ long firstentry;
+ long lastentry;
+ long requestsequencenumber;
+ int numqueueentries;
+ int fd;
+ bool reqGetSlot;
+ bool reqPutSlot;
};
#endif