#ifndef __OCPP16J_DECODE_H__
#define __OCPP16J_DECODE_H__
#include "ocpp16.h"

int ocpp16_decode_AuthorizeConf(AuthorizeConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_BootNotificationConf(BootNotificationConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_DataTransferConf(DataTransferConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_DiagnosticsStatusNotificationConf(DiagnosticsStatusNotificationConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_FirmwareStatusNotificationConf(FirmwareStatusNotificationConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_HeartbeatConf(HeartbeatConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_MeterValuesConf(MeterValuesConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_StartTransactionConf(StartTransactionConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_StatusNotificationConf(StatusNotificationConf_t *conf, CidString37_t reqUUID, cJSON *root);

int ocpp16_decode_StopTransactionConf(StopTransactionConf_t *conf, CidString37_t reqUUID, cJSON *root);

//-----------------------------------------------------------------------------------------------------

int ocpp16_decode_CancelReservationReq(CancelReservationReq_t *conf, cJSON *payload);

int ocpp16_decode_ChangeAvailabilityReq(ChangeAvailabilityReq_t *conf, cJSON *payload);

int ocpp16_decode_ChangeConfigurationReq(ChangeConfigurationReq_t *conf, cJSON *payload);

int ocpp16_decode_ClearCacheReq(ClearCacheReq_t *conf, cJSON *payload);

int ocpp16_decode_ClearChargingProfileReq(ClearChargingProfileReq_t *conf, cJSON *payload);

int ocpp16_decode_DataTransferReq(DataTransferReq_t *conf, cJSON *payload);

int ocpp16_decode_GetCompositeScheduleReq(GetCompositeScheduleReq_t *conf, cJSON *payload);

int ocpp16_decode_GetConfigurationReq(GetConfigurationReq_t *conf, cJSON *payload);

int ocpp16_decode_GetDiagnosticsReq(GetDiagnosticsReq_t *conf, cJSON *payload);

int ocpp16_decode_GetLocalListVersionReq(GetLocalListVersionReq_t *conf, cJSON *payload);

int ocpp16_decode_RemoteStartTransactionReq(RemoteStartTransactionReq_t *conf, cJSON *payload);

int ocpp16_decode_RemoteStopTransactionReq(RemoteStopTransactionReq_t *conf, cJSON *payload);

int ocpp16_decode_ReserveNowReq(ReserveNowReq_t *conf, cJSON *payload);

int ocpp16_decode_ResetReq(ResetReq_t *conf, cJSON *payload);

int ocpp16_decode_SendLocalListReq(SendLocalListReq_t *conf, cJSON *payload);

int ocpp16_decode_SetChargingProfileReq(SetChargingProfileReq_t *conf, cJSON *payload);

int ocpp16_decode_TriggerMessageReq(TriggerMessageReq_t *conf, cJSON *payload);

int ocpp16_decode_UnlockConnectorReq(UnlockConnectorReq_t *conf, cJSON *payload);

int ocpp16_decode_UpdateFirmwareReq(UpdateFirmwareReq_t *conf, cJSON *payload);

#endif//__OCPP16J_DECODE_H__
