MessageHandler.h 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #ifndef MessageHandler_H
  2. #define MessageHandler_H
  3. struct StructPeriod
  4. {
  5. int StartPeriod;
  6. float Limit;//0.1;
  7. int NumberPhases;
  8. };
  9. struct StructProfile
  10. {
  11. int Duration;
  12. int TotalPeriod;
  13. struct StructPeriod Period[10];
  14. };
  15. //===============================================
  16. // Common routine
  17. //===============================================
  18. int initialConfigurationTable(void);
  19. void StoreConfigurationTable(void);
  20. //==========================================
  21. // send request routine
  22. //==========================================
  23. int sendAuthorizeRequest(int gun_index);
  24. int sendBootNotificationRequest(void);
  25. int sendDataTransferRequest(int gun_index);
  26. int sendDiagnosticsStatusNotificationRequest(char *status);
  27. int sendFirmwareStatusNotificationRequest(char *status);
  28. int sendHeartbeatRequest(int gun_index);
  29. int sendStartTransactionRequest(int gun_index);
  30. int sendStatusNotificationRequest(int gun_index);
  31. int sendStopTransactionRequest(int gun_index);
  32. int sendMeterValuesRequest(int gun_index);
  33. //==========================================
  34. // send confirm routine
  35. //==========================================
  36. int sendCancelReservationConfirmation(char *uuid,char *payload);
  37. int sendChangeAvailabilityConfirmation(char *uuid,char *payload);
  38. int sendChangeConfigurationConfirmation(char *uuid,char *payload);
  39. int sendClearCacheConfirmation(char *uuid,char *payload);
  40. int sendClearChargingProfileConfirmation(char *uuid,char *payload);
  41. int sendDataTransferConfirmation(char *uuid,char *payload);
  42. int sendGetCompositeScheduleConfirmation(char *uuid,char *payload, int connectorIdInt,int nPeriod);
  43. int sendGetConfigurationConfirmation(char *uuid);
  44. int sendGetDiagnosticsConfirmation(char *uuid,char *payload);
  45. int sendGetLocalListVersionConfirmation(char *uuid,char *payload);
  46. int sendRemoteStartConfirmation(char *uuid,char *payload);
  47. int sendRemoteStopTransactionConfirmation(char *uuid,char *payload);
  48. int sendReserveNowTransactionConfirmation(char *uuid,char *payload);
  49. int sendResetConfirmation(char *uuid,char *payload);
  50. int sendSendLocalListConfirmation(char *uuid,char *payload);
  51. int sendSetChargingProfileConfirmation(char *uuid,char *payload);
  52. int sendTriggerMessageConfirmation(char *uuid,char *payload);
  53. int sendUnlockConnectorConfirmation(char *uuid,char *payload);
  54. int sendUpdateFirmwareConfirmation(char *uuid);
  55. //==========================================
  56. // send CallError routine
  57. //==========================================
  58. void SendCallError(char *uniqueId, char *action, char *errorCode, char *errorDescription);
  59. //==========================================
  60. // Handle server request routine Start
  61. //==========================================
  62. int handleCancelReservationRequest(char *uuid, char *payload);
  63. int handleChangeAvailabilityRequest(char *uuid, char *payload);
  64. int handleChangeConfigurationRequest(char *uuid, char *payload);
  65. int handleClearCacheRequest(char *uuid, char *payload);
  66. int handleClearChargingProfileRequest(char *uuid, char *payload);
  67. int handleDataTransferRequest(char *uuid, char *payload);
  68. //long long diff_tm(struct tm *a, struct tm *b);
  69. int handleGetCompositeScheduleRequest(char *uuid, char *payload);
  70. int handleGetConfigurationRequest(char *uuid, char *payload);
  71. int handleGetDiagnosticsRequest(char *uuid, char *payload);
  72. int handleGetLocalListVersionRequest(char *uuid, char *payload);
  73. int handleRemoteStartRequest(char *uuid, char *payload);
  74. int handleRemoteStopTransactionRequest(char *uuid, char *payload);
  75. int handleReserveNowTransactionRequest(char *uuid, char *payload);
  76. int handleResetRequest(char *uuid, char *payload);
  77. int handleSendLocalListRequest(char *uuid, char *payload);
  78. int handleSetChargingProfileRequest(char *uuid, char *payload);
  79. int handleTriggerMessageRequest(char *uuid, char *payload);
  80. int handleUnlockConnectorRequest(char *uuid, char *payload);
  81. int handleUpdateFirmwareRequest(char *uuid, char *payload);
  82. void handleAuthorizeResponse(char *payload, int gun_index);
  83. void handleBootNotificationResponse(char *payload, int gun_index);
  84. void handleDataTransferResponse(char *payload, int gun_index);
  85. void handleDiagnosticsStatusNotificationResponse(char *payload, int gun_index);
  86. void handleFirmwareStatusNotificationResponse(char *payload, int gun_index);
  87. void handleHeartbeatResponse(char *payload, int gun_index);
  88. void handleMeterValuesResponse(char *payload, int gun_index);
  89. void handleStartTransactionResponse(char *payload, int gun_index);
  90. void handleStatusNotificationResponse(char *payload, int gun_index);
  91. void handleStopTransactionnResponse(char *payload, int gun_index);
  92. //==========================================
  93. // Handle Error routine
  94. //==========================================
  95. void handleError(char *id, char *errorCode, char *errorDescription,char *payload);
  96. //===============================================
  97. // Common routine
  98. //===============================================
  99. void getKeyValue(char *keyReq);
  100. int setKeyValue(char *key, char *value);
  101. int updateSetting(char *key, char *value);
  102. int httpDownLoadFile(char *location, char *path, char *filename,char *url);
  103. int ftpDownLoadFile(char *location, char *user, char *password, int port, char *path, char *filename,char *url);
  104. void *UpdateFirmwareProcess(void* data);
  105. void* GetDiagnosticsProcess(void* data);
  106. int httpUploadFile(char *location, char *path, char *filename,char *url);
  107. int ftpFile(char *location, char *user, char *password, int port, char *path, char *fnamePlusPath,char *filename);
  108. int get_file_contents(const char* filename, char** outbuffer);
  109. //void Send(struct json_object *message);
  110. void LWS_Send(char * str);
  111. extern int queue_operation(int type, char *frontUUID, char *frontData);
  112. int GetOcppServerURL();
  113. int GetOcppPath();
  114. int GetOcppPort();
  115. int GetTransactionId(int gunindex, unsigned char idTag[]);
  116. void SetTransactionIdZero(int transactionId);
  117. void GetChargingProfileRequest(int gunindex);
  118. void FillStartTransaction(int ConnectorId, unsigned char IdTag[], int MeterStart,int ReservationId,unsigned char Timestamp[]);
  119. void splitstring(char *src,const char *separator,char **dest,int *num);
  120. int GetWebSocketPingInterval(void);
  121. //===============================================
  122. // sqlite related routine
  123. //===============================================
  124. int SettingChargingRecord(int target, int transactionId);
  125. int addBuff(int gun_idx, int user_id, int cmd_sn);
  126. void OCPP_getListVerion();
  127. int OCPP_cleanLocalList();
  128. int OCPP_addLocalList(int version, char *idTag, char *parentTage, char *expiryDate, char *status);
  129. int OCPP_addLocalList_1(int version, char *idTag, char *parentTage, char *expiryDate, char *status);
  130. // void OCPP_getIdTag(char *idTag);
  131. void OCPP_getIdTag(char idTag[]);
  132. // void OCPP_deleteIdTag(char *idTag);
  133. void OCPP_deleteIdTag(char idTag[]);
  134. #endif