callback.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // callback.h :
  2. //
  3. #if !defined(AGD_CALLBACK_H__135A83F6_AF3D_44DB_B484_5B5C85ECD020__INCLUDED_)
  4. #define AGD_CALLBACK_H__135A83F6_AF3D_44DB_B484_5B5C85ECD020__INCLUDED_
  5. #include "main.h"
  6. #include "restvar.h"
  7. /////////////////////////////////////////////////////////////////////////////
  8. // callback.h - Declarations:
  9. #define GET_SHM_PREFIX "/getshm"
  10. #define SET_SHM_PREFIX "/setshm"
  11. /////////////////////////////////////////////////////////////////////////////
  12. typedef int (*pfn_FILE_REQUEST_CALLBACK)(const struct _u_request*, struct _u_response*, void*);
  13. /////////////////////////////////////////////////////////////////////////////
  14. typedef struct _FILEREQUEST
  15. {
  16. std::string strMethod;
  17. std::string strURL;
  18. std::string strFilename;
  19. std::string strContentType;
  20. pfn_FILE_REQUEST_CALLBACK pfnCallback;
  21. bool bString;
  22. }FILEREQUEST, *LPFILEREQUEST;
  23. typedef const FILEREQUEST *LPCFILEREQUEST;
  24. /////////////////////////////////////////////////////////////////////////////
  25. typedef struct _SHM_REQUEST_PARAMS
  26. {
  27. CRestVarTable *pMap;
  28. const char *pszUuid;
  29. }SHM_REQUEST_PARAMS, *LPSHM_REQUEST_PARAMS;
  30. typedef const SHM_REQUEST_PARAMS *LPCSHM_REQUEST_PARAMS;
  31. /////////////////////////////////////////////////////////////////////////////
  32. extern "C" int FileBodyResponseCallback(const struct _u_request * request, struct _u_response * response, void * user_data);
  33. extern "C" int GetShmPostResponseCallback_O(const struct _u_request * request, struct _u_response * response, void * user_data); // returns a structured object
  34. extern "C" int GetShmPostResponseCallback_M(const struct _u_request * request, struct _u_response * response, void * user_data); // returns a linear map
  35. extern "C" int SetShmPostResponseCallback(const struct _u_request * request, struct _u_response * response, void * user_data);
  36. extern "C" int GetShmGetResponseCallback(const struct _u_request * request, struct _u_response * response, void * user_data);
  37. extern "C" int OptionsResponseCallback(const struct _u_request * request, struct _u_response * response, void * user_data);
  38. extern "C" int NotAllowedResponseCallback(const struct _u_request * request, struct _u_response * response, void * user_data);
  39. extern "C" int NotImplementedResponseCallback(const struct _u_request * request, struct _u_response * response, void * user_data);
  40. /////////////////////////////////////////////////////////////////////////////
  41. #endif // !defined(AGD_CALLBACK_H__135A83F6_AF3D_44DB_B484_5B5C85ECD020__INCLUDED_)