MessageHandler.h 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044
  1. #ifndef MessageHandler_H
  2. #define MessageHandler_H
  3. //===================================
  4. // Define SQLite file constant
  5. //===================================
  6. #define OCPP_LOCAL_DB_FILE "/Storage/OCPP/charger.db"
  7. //===================================
  8. // Define CP State constant
  9. //===================================
  10. #define CP_STATE_UNKNOWN 0
  11. #define CP_STATE_A 1
  12. #define CP_STATE_B 2
  13. #define CP_STATE_C 3
  14. #define CP_STATE_D 4
  15. #define CP_STATE_E 5
  16. #define CP_STATE_F 6
  17. //==========================================
  18. // Init all Enumeration & Mapping String
  19. //==========================================
  20. #define MACROSTR(k) #k
  21. /* Common Data Type */
  22. /*APNAuthenticationEnumType */
  23. typedef enum {
  24. APNAuthenticationEnumType_CHAP,
  25. APNAuthenticationEnumType_NONE,
  26. APNAuthenticationEnumType_PAP,
  27. APNAuthenticationEnumType_AUTO
  28. } APNAuthenticationEnumType;
  29. /* AttributeEnumType */
  30. typedef enum {
  31. AttributeEnumType_Actual,
  32. AttributeEnumType_Target,
  33. AttributeEnumType_MinSet,
  34. AttributeEnumType_MaxSet
  35. } AttributeEnumType;
  36. /* AuthorizationStatusEnumType */
  37. typedef enum {
  38. AuthorizationStatusEnumType_Accepted,
  39. AuthorizationStatusEnumType_Blocked,
  40. AuthorizationStatusEnumType_ConcurrentTx,
  41. AuthorizationStatusEnumType_Expired,
  42. AuthorizationStatusEnumType_Invalid,
  43. AuthorizationStatusEnumType_NoCredit,
  44. AuthorizationStatusEnumType_NotAllowedTypeEVSE,
  45. AuthorizationStatusEnumType_NotAtThisLocation,
  46. AuthorizationStatusEnumType_NotAtThisTime,
  47. AuthorizationStatusEnumType_Unknown
  48. } AuthorizationStatusEnumType;
  49. /* AuthorizeCertificateStatusEnumType */
  50. typedef enum {
  51. AuthorizeCertificateStatusEnumType_Accepted,
  52. AuthorizeCertificateStatusEnumType_SignatureError,
  53. AuthorizeCertificateStatusEnumType_CertificateExpired,
  54. AuthorizeCertificateStatusEnumType_CertificateRevoked
  55. } AuthorizeCertificateStatusEnumType;
  56. /* BootReasonEnumType */
  57. typedef enum {
  58. BootReasonEnumType_ApplicationReset,
  59. BootReasonEnumType_FirmwareUpdate,
  60. BootReasonEnumType_LocalReset,
  61. BootReasonEnumType_PowerUp,
  62. BootReasonEnumType_RemoteReset,
  63. BootReasonEnumType_ScheduledReset,
  64. BootReasonEnumType_Triggered,
  65. BootReasonEnumType_Unknown,
  66. BootReasonEnumType_Watchdog
  67. } BootReasonEnumType;
  68. /* SecurityEventEnumType */
  69. typedef enum {
  70. SecurityEventEnumType_FirmwareUpdated,
  71. SecurityEventEnumType_FailedToAuthenticateAtCsms,
  72. SecurityEventEnumType_CsmsFailedToAuthenticate,
  73. SecurityEventEnumType_SettingSystemTime,
  74. SecurityEventEnumType_StartupOfTheDevice,
  75. SecurityEventEnumType_ResetOrReboot,
  76. SecurityEventEnumType_SecurityLogWasCleared,
  77. SecurityEventEnumType_ReconfigurationOfSecurityParameters,
  78. SecurityEventEnumType_MemoryExhaustion,
  79. SecurityEventEnumType_InvalidMessages,
  80. SecurityEventEnumType_AttemptedReplayAttacks,
  81. SecurityEventEnumType_TamperDetectionActivated,
  82. SecurityEventEnumType_InvalidFirmwareSignature,
  83. SecurityEventEnumType_InvalidFirmwareSigningCertificate,
  84. SecurityEventEnumType_InvalidCsmsCertificate,
  85. SecurityEventEnumType_InvalidChargingStationCertificate,
  86. SecurityEventEnumType_InvalidTLSVersion,
  87. SecurityEventEnumType_InvalidTLSCipherSuite
  88. } SecurityEventEnumType;
  89. /* CancelReservationStatusEnumType */
  90. typedef enum {
  91. CancelReservationStatusEnumType_Accepted,
  92. CancelReservationStatusEnumType_Rejected
  93. } CancelReservationStatusEnumType;
  94. /* CertificateActionEnumType */
  95. typedef enum {
  96. CertificateActionEnumType_Install,
  97. CertificateActionEnumType_Update
  98. } CertificateActionEnumType;
  99. /* CertificateSignedStatusEnumType */
  100. typedef enum {
  101. CertificateSignedStatusEnumType_Accepted,
  102. CertificateSignedStatusEnumType_Rejected
  103. } CertificateSignedStatusEnumType;
  104. /* CertificateSignedStatusEnumType */
  105. typedef enum {
  106. CertificateSignedStatusEnumType_ChargingStationCertificate,
  107. CertificateSignedStatusEnumType_V2GCertificate
  108. } CertificateSigningUseEnumType;
  109. /* ChangeAvailabilityStatusEnumType */
  110. typedef enum {
  111. ChangeAvailabilityStatusEnumType_Accepted,
  112. ChangeAvailabilityStatusEnumType_Rejected,
  113. ChangeAvailabilityStatusEnumType_Scheduled
  114. } ChangeAvailabilityStatusEnumType;
  115. /* ChargingLimitSourceEnumType */
  116. typedef enum {
  117. ChargingLimitSourceEnumType_EMS,
  118. ChargingLimitSourceEnumType_Other,
  119. ChargingLimitSourceEnumType_SO,
  120. ChargingLimitSourceEnumType_CSO
  121. } ChargingLimitSourceEnumType;
  122. /* ChargingProfileKindEnumType */
  123. typedef enum {
  124. ChargingProfileKindEnumType_Absolute,
  125. ChargingProfileKindEnumType_Recurring,
  126. ChargingProfileKindEnumType_Relative
  127. } ChargingProfileKindEnumType;
  128. /* ChargingProfilePurposeEnumType */
  129. typedef enum {
  130. ChargingProfilePurposeEnumType_ChargingStationExternalConstraints,
  131. ChargingProfilePurposeEnumType_ChargingStationMaxProfile,
  132. ChargingProfilePurposeEnumType_TxDefaultProfile,
  133. ChargingProfilePurposeEnumType_TxProfile
  134. } ChargingProfilePurposeEnumType;
  135. /* ChargingProfileStatusEnumType */
  136. typedef enum {
  137. ChargingProfileStatusEnumType_Accepted,
  138. ChargingProfileStatusEnumType_Rejected
  139. } ChargingProfileStatusEnumType;
  140. /* ChargingRateUnitEnumType */
  141. typedef enum {
  142. ChargingRateUnitEnumType_W,
  143. ChargingRateUnitEnumType_A
  144. } ChargingRateUnitEnumType;
  145. /* ChargingStateEnumType */
  146. typedef enum {
  147. ChargingStateEnumType_Charging,
  148. ChargingStateEnumType_EVConnected,
  149. ChargingStateEnumType_SuspendedEV,
  150. ChargingStateEnumType_SuspendedEVSE,
  151. ChargingStateEnumType_Idle
  152. }ChargingStateEnumType;
  153. /* ClearCacheStatusEnumType */
  154. typedef enum {
  155. ClearCacheStatusEnumType_Accepted,
  156. ClearCacheStatusEnumType_Rejected
  157. } ClearCacheStatusEnumType;
  158. /* ClearChargingProfileStatusEnumType */
  159. typedef enum {
  160. ClearChargingProfileStatusEnumType_Accepted,
  161. ClearChargingProfileStatusEnumType_Unknown
  162. } ClearChargingProfileStatusEnumType;
  163. /* ClearMessageStatusEnumType */
  164. typedef enum {
  165. ClearMessageStatusEnumType_Accepted,
  166. ClearMessageStatusEnumType_Unknown
  167. } ClearMessageStatusEnumType;
  168. /* ClearMonitoringStatusEnumType */
  169. typedef enum {
  170. ClearMonitoringStatusEnumType_Accepted,
  171. ClearMonitoringStatusEnumType_Rejected,
  172. ClearMonitoringStatusEnumType_NotFound
  173. } ClearMonitoringStatusEnumType;
  174. /* ComponentCriterionEnumType */
  175. typedef enum {
  176. ComponentCriterionEnumType_Active,
  177. ComponentCriterionEnumType_Available,
  178. ComponentCriterionEnumType_Enabled,
  179. ComponentCriterionEnumType_Problem
  180. } ComponentCriterionEnumType;
  181. /* ConnectorEnumType */
  182. typedef enum {
  183. ConnectorEnumType_cCCS1,
  184. ConnectorEnumType_cCCS2,
  185. ConnectorEnumType_cG105,
  186. ConnectorEnumType_cTesla,
  187. ConnectorEnumType_cType1,
  188. ConnectorEnumType_cType2,
  189. ConnectorEnumType_s309_1P_16A,
  190. ConnectorEnumType_s309_1P_32A,
  191. ConnectorEnumType_s309_3P_16A,
  192. ConnectorEnumType_s309_3P_32A,
  193. ConnectorEnumType_sBS1361,
  194. ConnectorEnumType_sCEE_7_7,
  195. ConnectorEnumType_sType2,
  196. ConnectorEnumType_sType3,
  197. ConnectorEnumType_Other1PhMax16A,
  198. ConnectorEnumType_Other1PhOver16A,
  199. ConnectorEnumType_Other3Ph,
  200. ConnectorEnumType_Pan,
  201. ConnectorEnumType_wInductive,
  202. ConnectorEnumType_wResonant,
  203. ConnectorEnumType_Undetermined,
  204. ConnectorEnumType_Unknown
  205. } ConnectorEnumType;
  206. /* ConnectorStatusEnumType */
  207. typedef enum {
  208. ConnectorStatusEnumType_Available,
  209. ConnectorStatusEnumType_Occupied,
  210. ConnectorStatusEnumType_Reserved,
  211. ConnectorStatusEnumType_Unavailable,
  212. ConnectorStatusEnumType_Faulted
  213. } ConnectorStatusEnumType;
  214. /* CostKindEnumType */
  215. typedef enum {
  216. CostKindEnumType_CarbonDioxideEmission,
  217. CostKindEnumType_RelativePricePercentage,
  218. CostKindEnumType_RenewableGenerationPercentage
  219. } CostKindEnumType;
  220. /* CustomerInformationStatusEnumType */
  221. typedef enum {
  222. CustomerInformationStatusEnumType_Accepted,
  223. CustomerInformationStatusEnumType_Rejected,
  224. CustomerInformationStatusEnumType_Invalid
  225. } CustomerInformationStatusEnumType;
  226. /* DataEnumType */
  227. typedef enum {
  228. DataEnumType_string,
  229. DataEnumType_decimal,
  230. DataEnumType_integer,
  231. DataEnumType_dateTime,
  232. DataEnumType_boolean,
  233. DataEnumType_OptionList,
  234. DataEnumType_SequenceList,
  235. DataEnumType_MemberList
  236. } DataEnumType;
  237. /* DataTransferStatusEnumType */
  238. typedef enum {
  239. DataTransferStatusEnumType_Accepted,
  240. DataTransferStatusEnumType_Rejected,
  241. DataTransferStatusEnumType_UnknownMessageId,
  242. DataTransferStatusEnumType_UnknownVendorId
  243. } DataTransferStatusEnumType;
  244. /* DeleteCertificateStatusEnumType */
  245. typedef enum {
  246. DeleteCertificateStatusEnumType_Accepted,
  247. DeleteCertificateStatusEnumType_Failed,
  248. DeleteCertificateStatusEnumType_NotFound
  249. } DeleteCertificateStatusEnumType;
  250. /* DisplayMessageStatusEnumType */
  251. typedef enum {
  252. DisplayMessageStatusEnumType_Accepted,
  253. DisplayMessageStatusEnumType_NotSupportedMessageFormat,
  254. DisplayMessageStatusEnumType_Rejected,
  255. DisplayMessageStatusEnumType_NotSupportedPriority,
  256. DisplayMessageStatusEnumType_NotSupportedState,
  257. DisplayMessageStatusEnumType_UnknownTransaction
  258. } DisplayMessageStatusEnumType;
  259. /* EnergyTransferModeEnumType */
  260. typedef enum {
  261. EnergyTransferModeEnumType_DC,
  262. EnergyTransferModeEnumType_AC_single_phase,
  263. EnergyTransferModeEnumType_AC_two_phase,
  264. EnergyTransferModeEnumType_AC_three_phase
  265. } EnergyTransferModeEnumType;
  266. /* EventNotificationEnumType */
  267. typedef enum {
  268. EventNotificationEnumType_HardWiredNotification,
  269. EventNotificationEnumType_HardWiredMonitor,
  270. EventNotificationEnumType_PreconfiguredMonitor,
  271. EventNotificationEnumType_CustomMonitor
  272. } EventNotificationEnumType;
  273. /* EventTriggerEnumType */
  274. typedef enum {
  275. EventTriggerEnumType_Alerting,
  276. EventTriggerEnumType_Delta,
  277. EventTriggerEnumType_Periodic
  278. } EventTriggerEnumType;
  279. /* FirmwareStatusEnumType */
  280. typedef enum {
  281. FirmwareStatusEnumType_Downloaded,
  282. FirmwareStatusEnumType_DownloadFailed,
  283. FirmwareStatusEnumType_Downloading,
  284. FirmwareStatusEnumType_DownloadScheduled,
  285. FirmwareStatusEnumType_DownloadPaused,
  286. FirmwareStatusEnumType_Idle,
  287. FirmwareStatusEnumType_InstallationFailed,
  288. FirmwareStatusEnumType_Installing,
  289. FirmwareStatusEnumType_Installed,
  290. FirmwareStatusEnumType_InstallRebooting,
  291. FirmwareStatusEnumType_InstallScheduled,
  292. FirmwareStatusEnumType_InstallVerificationFailed,
  293. FirmwareStatusEnumType_InvalidSignature,
  294. FirmwareStatusEnumType_SignatureVerified
  295. } FirmwareStatusEnumType;
  296. /* GenericDeviceModelStatusEnumType */
  297. typedef enum {
  298. GenericDeviceModelStatusEnumType_Accepted,
  299. GenericDeviceModelStatusEnumType_Rejected,
  300. GenericDeviceModelStatusEnumType_NotSupported,
  301. GenericDeviceModelStatusEnumType_EmptyResultSet
  302. } GenericDeviceModelStatusEnumType;
  303. /* GenericStatusEnumType */
  304. typedef enum {
  305. GenericStatusEnumType_Accepted,
  306. GenericStatusEnumType_Rejected
  307. } GenericStatusEnumType;
  308. /* GetCertificateIdUseEnumType */
  309. typedef enum {
  310. GetCertificateIdUseEnumType_V2GRootCertificate,
  311. GetCertificateIdUseEnumType_MORootCertificate,
  312. GetCertificateIdUseEnumType_CSMSRootCertificate,
  313. GetCertificateIdUseEnumType_V2GCertificateChain,
  314. GetCertificateIdUseEnumType_ManufacturerRootCertificate
  315. } GetCertificateIdUseEnumType;
  316. /* GetCertificateStatusEnumType */
  317. typedef enum {
  318. GetCertificateStatusEnumType_Accepted,
  319. GetCertificateStatusEnumType_Failed
  320. } GetCertificateStatusEnumType;
  321. /* GetChargingProfileStatusEnumType */
  322. typedef enum {
  323. GetChargingProfileStatusEnumType_Accepted,
  324. GetChargingProfileStatusEnumType_NoProfiles
  325. } GetChargingProfileStatusEnumType;
  326. /* GetDisplayMessagesStatusEnumType */
  327. typedef enum {
  328. GetDisplayMessagesStatusEnumType_Accepted,
  329. GetDisplayMessagesStatusEnumType_Unknown
  330. } GetDisplayMessagesStatusEnumType;
  331. /* GetInstalledCertificateStatusEnumType */
  332. typedef enum {
  333. GetInstalledCertificateStatusEnumType_Accepted,
  334. GetInstalledCertificateStatusEnumType_NotFound
  335. } GetInstalledCertificateStatusEnumType;
  336. /* GetVariableStatusEnumType */
  337. typedef enum {
  338. GetVariableStatusEnumType_Accepted,
  339. GetVariableStatusEnumType_Rejected,
  340. GetVariableStatusEnumType_UnknownComponent,
  341. GetVariableStatusEnumType_UnknownVariable,
  342. GetVariableStatusEnumType_NotSupportedAttributeType
  343. } GetVariableStatusEnumType;
  344. /* HashAlgorithmEnumType */
  345. typedef enum {
  346. HashAlgorithmEnumType_SHA256,
  347. HashAlgorithmEnumType_SHA384,
  348. HashAlgorithmEnumType_SHA512
  349. } HashAlgorithmEnumType;
  350. /* IdTokenEnumType */
  351. typedef enum {
  352. IdTokenEnumType_Central,
  353. IdTokenEnumType_eMAID,
  354. IdTokenEnumType_ISO14443,
  355. IdTokenEnumType_KeyCode,
  356. IdTokenEnumType_Local,
  357. IdTokenEnumType_NoAuthorization,
  358. IdTokenEnumType_ISO15693
  359. } IdTokenEnumType;
  360. /* InstallCertificateUseEnumType */
  361. typedef enum {
  362. InstallCertificateUseEnumType_V2GRootCertificate,
  363. InstallCertificateUseEnumType_MORootCertificate,
  364. InstallCertificateUseEnumType_CSMSRootCertificate,
  365. InstallCertificateUseEnumType_ManufacturerRootCertificate
  366. } InstallCertificateUseEnumType;
  367. /* InstallCertificateStatusEnumType */
  368. typedef enum {
  369. InstallCertificateStatusEnumType_Accepted,
  370. InstallCertificateStatusEnumType_Failed,
  371. InstallCertificateStatusEnumType_Rejected
  372. } InstallCertificateStatusEnumType;
  373. /* Iso15118EVCertificateStatusEnumType */
  374. typedef enum {
  375. Iso15118EVCertificateStatusEnumType_Accepted,
  376. Iso15118EVCertificateStatusEnumType_Failed
  377. } Iso15118EVCertificateStatusEnumType;
  378. /* LocationEnumType */
  379. typedef enum {
  380. LocationEnumType_Body,
  381. LocationEnumType_Cable,
  382. LocationEnumType_EV,
  383. LocationEnumType_Inlet,
  384. LocationEnumType_Outlet
  385. } LocationEnumType;
  386. /* LogEnumType */
  387. typedef enum {
  388. LogEnumType_DiagnosticsLog,
  389. LogEnumType_SecurityLog
  390. } LogEnumType;
  391. /* LogStatusEnumType */
  392. typedef enum {
  393. LogStatusEnumType_Accepted,
  394. LogStatusEnumType_Rejected,
  395. LogStatusEnumType_AcceptedCanceled
  396. } LogStatusEnumType;
  397. /* MeasurandEnumType */
  398. typedef enum {
  399. MeasurandEnumType_Current_Export,
  400. MeasurandEnumType_Current_Import,
  401. MeasurandEnumType_Current_Offered,
  402. MeasurandEnumType_Energy_Active_Export_Register,
  403. MeasurandEnumType_Energy_Active_Import_Register,
  404. MeasurandEnumType_Energy_Reactive_Export_Register,
  405. MeasurandEnumType_Energy_Reactive_Import_Register,
  406. MeasurandEnumType_Energy_Active_Export_Interval,
  407. MeasurandEnumType_Energy_Active_Import_Interval,
  408. MeasurandEnumType_Energy_Active_Net,
  409. MeasurandEnumType_Energy_Reactive_Export_Interval,
  410. MeasurandEnumType_Energy_Reactive_Import_Interval,
  411. MeasurandEnumType_Energy_Reactive_Net,
  412. MeasurandEnumType_Energy_Apparent_Net,
  413. MeasurandEnumType_Energy_Apparent_Import,
  414. MeasurandEnumType_Energy_Apparent_Export,
  415. MeasurandEnumType_Frequency,
  416. MeasurandEnumType_Power_Active_Export ,
  417. MeasurandEnumType_Power_Active_Import,
  418. MeasurandEnumType_Power_Factor,
  419. MeasurandEnumType_Power_Offered,
  420. MeasurandEnumType_Power_Reactive_Export,
  421. MeasurandEnumType_Power_Reactive_Import,
  422. MeasurandEnumType_SoC,
  423. MeasurandEnumType_Voltage
  424. } MeasurandEnumType;
  425. /* MessageFormatEnumType */
  426. typedef enum {
  427. MessageFormatEnumType_ASCII,
  428. MessageFormatEnumType_HTML,
  429. MessageFormatEnumType_URI,
  430. MessageFormatEnumType_UTF8
  431. } MessageFormatEnumType;
  432. /* MessagePriorityEnumType */
  433. typedef enum {
  434. MessagePriorityEnumType_AlwaysFront,
  435. MessagePriorityEnumType_InFront,
  436. MessagePriorityEnumType_NormalCycle
  437. } MessagePriorityEnumType;
  438. /* MessageStateEnumType */
  439. typedef enum {
  440. MessageStateEnumType_Charging,
  441. MessageStateEnumType_Faulted,
  442. MessageStateEnumType_Idle,
  443. MessageStateEnumType_Unavailable
  444. } MessageStateEnumType;
  445. /* MessageTriggerEnumType */
  446. typedef enum {
  447. MessageTriggerEnumType_BootNotification,
  448. MessageTriggerEnumType_LogStatusNotification,
  449. MessageTriggerEnumType_FirmwareStatusNotification,
  450. MessageTriggerEnumType_Heartbeat,
  451. MessageTriggerEnumType_MeterValues,
  452. MessageTriggerEnumType_SignChargingStationCertificate,
  453. MessageTriggerEnumType_SignV2GCertificate,
  454. MessageTriggerEnumType_StatusNotification,
  455. MessageTriggerEnumType_TransactionEvent,
  456. MessageTriggerEnumType_SignCombinedCertificate,
  457. MessageTriggerEnumType_PublishFirmwareStatusNotification
  458. } MessageTriggerEnumType;
  459. /* MonitorEnumType */
  460. typedef enum {
  461. MonitorEnumType_UpperThreshold,
  462. MonitorEnumType_LowerThreshold,
  463. MonitorEnumType_Delta,
  464. MonitorEnumType_Periodic,
  465. MonitorEnumType_PeriodicClockAligned
  466. } MonitorEnumType;
  467. /* MonitoringBaseEnumType */
  468. typedef enum {
  469. MonitoringBaseEnumType_All,
  470. MonitoringBaseEnumType_FactoryDefault,
  471. MonitoringBaseEnumType_HardWiredOnly
  472. } MonitoringBaseEnumType;
  473. /* MonitoringCriterionEnumType */
  474. typedef enum {
  475. MonitoringCriterionEnumType_ThresholdMonitoring,
  476. MonitoringCriterionEnumType_DeltaMonitoring,
  477. MonitoringCriterionEnumType_PeriodicMonitoring
  478. } MonitoringCriterionEnumType;
  479. /* MutabilityEnumType */
  480. typedef enum {
  481. MutabilityEnumType_ReadOnly,
  482. MutabilityEnumType_WriteOnly,
  483. MutabilityEnumType_ReadWrite
  484. } MutabilityEnumType;
  485. /* NotifyEVChargingNeedsStatusEnumType */
  486. typedef enum {
  487. NotifyEVChargingNeedsStatusEnumType_Accepted,
  488. NotifyEVChargingNeedsStatusEnumType_Rejected,
  489. NotifyEVChargingNeedsStatusEnumType_Processing
  490. } NotifyEVChargingNeedsStatusEnumType;
  491. /* OCPPInterfaceEnumType */
  492. typedef enum {
  493. OCPPInterfaceEnumType_Wired0,
  494. OCPPInterfaceEnumType_Wired1,
  495. OCPPInterfaceEnumType_Wired2,
  496. OCPPInterfaceEnumType_Wired3,
  497. OCPPInterfaceEnumType_Wireless0,
  498. OCPPInterfaceEnumType_Wireless1,
  499. OCPPInterfaceEnumType_Wireless2,
  500. OCPPInterfaceEnumType_Wireless3
  501. } OCPPInterfaceEnumType;
  502. /* OCPPTransportEnumType */
  503. typedef enum {
  504. OCPPTransportEnumType_JSON,
  505. OCPPTransportEnumType_SOAP
  506. } OCPPTransportEnumType;
  507. /* OCPPVersionEnumType */
  508. typedef enum {
  509. OCPPVersionEnumType_OCPP12,
  510. OCPPVersionEnumType_OCPP15,
  511. OCPPVersionEnumType_OCPP16,
  512. OCPPVersionEnumType_OCPP20
  513. } OCPPVersionEnumType;
  514. /* OperationalStatusEnumType */
  515. typedef enum {
  516. OperationalStatusEnumType_Inoperative,
  517. OperationalStatusEnumType_Operative
  518. } OperationalStatusEnumType;
  519. /* PhaseEnumType */
  520. typedef enum {
  521. PhaseEnumType_L1,
  522. PhaseEnumType_L2,
  523. PhaseEnumType_L3,
  524. PhaseEnumType_N,
  525. PhaseEnumType_L1_N,
  526. PhaseEnumType_L2_N,
  527. PhaseEnumType_L3_N,
  528. PhaseEnumType_L1_L2,
  529. PhaseEnumType_L2_L3,
  530. PhaseEnumType_L3_L1
  531. } PhaseEnumType;
  532. /* PublishFirmwareStatusEnumType */
  533. typedef enum {
  534. PublishFirmwareStatusEnumType_Downloaded,
  535. PublishFirmwareStatusEnumType_DownloadFailed,
  536. PublishFirmwareStatusEnumType_Downloading,
  537. PublishFirmwareStatusEnumType_DownloadScheduled,
  538. PublishFirmwareStatusEnumType_DownloadPaused,
  539. PublishFirmwareStatusEnumType_PublishFailed,
  540. PublishFirmwareStatusEnumType_Published,
  541. PublishFirmwareStatusEnumType_InvalidChecksum,
  542. PublishFirmwareStatusEnumType_ChecksumVerified
  543. } PublishFirmwareStatusEnumType;
  544. /* ReadingContextEnumType */
  545. typedef enum {
  546. ReadingContextEnumType_Interruption_Begin,
  547. ReadingContextEnumType_Interruption_End,
  548. ReadingContextEnumType_Other,
  549. ReadingContextEnumType_Sample_Clock,
  550. ReadingContextEnumType_Sample_Periodic,
  551. ReadingContextEnumType_Transaction_Begin,
  552. ReadingContextEnumType_Transaction_End,
  553. ReadingContextEnumType_Trigger
  554. } ReadingContextEnumType;
  555. /* ReasonEnumType */
  556. typedef enum {
  557. ReasonEnumType_DeAuthorized,
  558. ReasonEnumType_EmergencyStop,
  559. ReasonEnumType_EnergyLimitReached,
  560. ReasonEnumType_EVDisconnected,
  561. ReasonEnumType_GroundFault,
  562. ReasonEnumType_ImmediateReset,
  563. ReasonEnumType_Local,
  564. ReasonEnumType_LocalOutOfCredit,
  565. ReasonEnumType_MasterPass,
  566. ReasonEnumType_Other,
  567. ReasonEnumType_OvercurrentFault,
  568. ReasonEnumType_PowerLoss,
  569. ReasonEnumType_PowerQuality,
  570. ReasonEnumType_Reboot,
  571. ReasonEnumType_Remote,
  572. ReasonEnumType_SOCLimitReached,
  573. ReasonEnumType_StoppedByEV,
  574. ReasonEnumType_TimeLimitReached,
  575. ReasonEnumType_Timeout
  576. } ReasonEnumType;
  577. /* RecurrencyKindEnumType */
  578. typedef enum {
  579. RecurrencyKindEnumType_Daily,
  580. RecurrencyKindEnumType_Weekly
  581. } RecurrencyKindEnumType;
  582. /* RegistrationStatusEnumType */
  583. typedef enum {
  584. RegistrationStatusEnumType_Accepted,
  585. RegistrationStatusEnumType_Pending,
  586. RegistrationStatusEnumType_Rejected
  587. } RegistrationStatusEnumType;
  588. /* ReportBaseEnumType */
  589. typedef enum {
  590. ReportBaseEnumType_ConfigurationInventory,
  591. ReportBaseEnumType_FullInventory,
  592. ReportBaseEnumType_SummaryInventory
  593. } ReportBaseEnumType;
  594. /* RequestStartStopStatusEnumType */
  595. typedef enum {
  596. RequestStartStopStatusEnumType_Accepted,
  597. RequestStartStopStatusEnumType_Rejected
  598. } RequestStartStopStatusEnumType;
  599. /* ReservationUpdateStatusEnumType */
  600. typedef enum {
  601. ReservationUpdateStatusEnumType_Expired,
  602. ReservationUpdateStatusEnumType_Removed
  603. } ReservationUpdateStatusEnumType;
  604. /* ReserveNowStatusEnumType */
  605. typedef enum {
  606. ReserveNowStatusEnumType_Accepted,
  607. ReserveNowStatusEnumType_Faulted,
  608. ReserveNowStatusEnumType_Occupied,
  609. ReserveNowStatusEnumType_Rejected,
  610. ReserveNowStatusEnumType_Unavailable
  611. } ReserveNowStatusEnumType;
  612. /* ResetEnumType */
  613. typedef enum {
  614. ResetEnumType_Immediate,
  615. ResetEnumType_OnIdle
  616. } ResetEnumType;
  617. /* ResetStatusEnumType */
  618. typedef enum {
  619. ResetStatusEnumType_Accepted,
  620. ResetStatusEnumType_Rejected,
  621. ResetStatusEnumType_Scheduled
  622. } ResetStatusEnumType;
  623. /* SetMonitoringStatusEnumType */
  624. typedef enum {
  625. SetMonitoringStatusEnumType_Accepted,
  626. SetMonitoringStatusEnumType_UnknownComponent,
  627. SetMonitoringStatusEnumType_UnknownVariable,
  628. SetMonitoringStatusEnumType_UnsupportedMonitorType,
  629. SetMonitoringStatusEnumType_Rejected,
  630. SetMonitoringStatusEnumType_OutOfRange,
  631. SetMonitoringStatusEnumType_Duplicate
  632. } SetMonitoringStatusEnumType;
  633. /* SetNetworkProfileStatusEnumType */
  634. typedef enum {
  635. SetNetworkProfileStatusEnumType_Accepted,
  636. SetNetworkProfileStatusEnumType_Rejected,
  637. SetNetworkProfileStatusEnumType_Failed
  638. } SetNetworkProfileStatusEnumType;
  639. /* SetVariableStatusEnumType */
  640. typedef enum {
  641. SetVariableStatusEnumType_Accepted,
  642. SetVariableStatusEnumType_Rejected,
  643. SetVariableStatusEnumType_InvalidValue,
  644. SetVariableStatusEnumType_UnknownComponent,
  645. SetVariableStatusEnumType_UnknownVariable,
  646. SetVariableStatusEnumType_NotSupportedAttributeType,
  647. SetVariableStatusEnumType_OutOfRange,
  648. SetVariableStatusEnumType_RebootRequired
  649. } SetVariableStatusEnumType;
  650. /* TransactionEventEnumType */
  651. typedef enum {
  652. TransactionEventEnumType_Ended,
  653. TransactionEventEnumType_Started,
  654. TransactionEventEnumType_Updated
  655. } TransactionEventEnumType;
  656. /* TriggerMessageStatusEnumType */
  657. typedef enum {
  658. TriggerMessageStatusEnumType_Accepted,
  659. TriggerMessageStatusEnumType_Rejected,
  660. TriggerMessageStatusEnumType_NotImplemented
  661. } TriggerMessageStatusEnumType;
  662. /* TriggerReasonEnumType */
  663. typedef enum {
  664. TriggerReasonEnumType_Authorized,
  665. TriggerReasonEnumType_CablePluggedIn,
  666. TriggerReasonEnumType_ChargingRateChanged,
  667. TriggerReasonEnumType_ChargingStateChanged,
  668. TriggerReasonEnumType_Deauthorized,
  669. TriggerReasonEnumType_EnergyLimitReached,
  670. TriggerReasonEnumType_EVCommunicationLost,
  671. TriggerReasonEnumType_EVConnectTimeout,
  672. TriggerReasonEnumType_MeterValueClock,
  673. TriggerReasonEnumType_MeterValuePeriodic,
  674. TriggerReasonEnumType_TimeLimitReached,
  675. TriggerReasonEnumType_Trigger,
  676. TriggerReasonEnumType_UnlockCommand,
  677. TriggerReasonEnumType_StopAuthorized,
  678. TriggerReasonEnumType_EVDeparted,
  679. TriggerReasonEnumType_EVDetected,
  680. TriggerReasonEnumType_RemoteStop,
  681. TriggerReasonEnumType_RemoteStart,
  682. TriggerReasonEnumType_AbnormalCondition,
  683. TriggerReasonEnumType_SignedDataReceived,
  684. TriggerReasonEnumType_ResetCommand
  685. } TriggerReasonEnumType;
  686. /* UnlockStatusEnumType */
  687. typedef enum {
  688. UnlockStatusEnumType_Unlocked,
  689. UnlockStatusEnumType_UnlockFailed,
  690. UnlockStatusEnumType_OngoingAuthorizedTransaction,
  691. UnlockStatusEnumType_UnknownConnector
  692. } UnlockStatusEnumType;
  693. /* UnpublishFirmwareStatusEnumType */
  694. typedef enum {
  695. Unpublished_DownloadOngoing,
  696. Unpublished_NoFirmware,
  697. Unpublished_Unpublished
  698. } UnpublishFirmwareStatusEnumType;
  699. /* UpdateEnumType */
  700. typedef enum {
  701. UpdateEnumType_Differential,
  702. UpdateEnumType_Full
  703. } UpdateEnumType;
  704. /* UpdateFirmwareStatusEnumType */
  705. typedef enum {
  706. UpdateFirmwareStatusEnumType_Accepted,
  707. UpdateFirmwareStatusEnumType_Rejected,
  708. UpdateFirmwareStatusEnumType_AcceptedCanceled,
  709. UpdateFirmwareStatusEnumType_InvalidCertificate,
  710. UpdateFirmwareStatusEnumType_RevokedCertificate
  711. } UpdateFirmwareStatusEnumType;
  712. /* UpdateStatusEnumType */
  713. typedef enum {
  714. UpdateStatusEnumType_Accepted,
  715. UpdateStatusEnumType_Failed,
  716. UpdateStatusEnumType_VersionMismatch
  717. } UpdateStatusEnumType;
  718. /* UploadLogStatusEnumType */
  719. typedef enum {
  720. UploadLogStatusEnumType_BadMessage,
  721. UploadLogStatusEnumType_Idle,
  722. UploadLogStatusEnumType_NotSupportedOperation,
  723. UploadLogStatusEnumType_PermissionDenied,
  724. UploadLogStatusEnumType_Uploaded,
  725. UploadLogStatusEnumType_UploadFailure,
  726. UploadLogStatusEnumType_Uploading,
  727. UploadLogStatusEnumType_AcceptedCanceled
  728. } UploadLogStatusEnumType;
  729. /* VPNEnumType */
  730. typedef enum {
  731. VPNEnumType_IKEv2,
  732. VPNEnumType_IPSec,
  733. VPNEnumType_L2TP,
  734. VPNEnumType_PPTP
  735. } VPNEnumType;
  736. struct StructPeriod
  737. {
  738. int StartPeriod;
  739. float Limit;//0.1;
  740. int NumberPhases;
  741. };
  742. struct StructProfile
  743. {
  744. int Duration;
  745. int TotalPeriod;
  746. struct StructPeriod Period[10];
  747. };
  748. //===============================================
  749. // Common routine
  750. //===============================================
  751. int initialConfigurationTable(void);
  752. void StoreConfigurationTable(void);
  753. void GetStartTransactionIdTag(int gun_index);
  754. //==========================================
  755. // send request routine
  756. //==========================================
  757. int sendAuthorizeRequest(int gun_index);
  758. int sendBootNotificationRequest(void);
  759. int sendClearedChargingLimitRequest(int gun_index);
  760. int sendDataTransferRequest(int gun_index);
  761. int sendFirmwareStatusNotificationRequest(char *status);
  762. int sendGet15118EVCertificateRequest();
  763. int sendGetCertificateStatusRequest();
  764. int sendHeartbeatRequest();
  765. int sendLogStatusNotificationRequest(char *status);
  766. int sendMeterValuesRequest(int gun_index, ReadingContextEnumType dataType);
  767. int sendNotifyChargingLimitRequest(int gun_index);
  768. int sendNotifyCustomerInformationRequest();
  769. int sendNotifyDisplayMessagesRequest();
  770. int sendNotifyEVChargingNeedsRequest(int gun_index);
  771. int sendNotifyEVChargingScheduleRequest(int gun_index);
  772. int sendNotifyEventRequest();
  773. int sendNotifyMonitoringReportRequest();
  774. int sendNotifyReportRequest();
  775. int sendPublishFirmwareStatusNotificationRequest();
  776. int sendReportChargingProfilesRequest(int gun_index);
  777. int sendReservationStatusUpdateRequest(int gun_index);
  778. int sendSecurityEventNotificationRequest();
  779. int sendSignCertificateRequest();
  780. int sendStatusNotificationRequest(int gun_index);
  781. int sendTransactionEventRequest(int gun_index);
  782. //==========================================
  783. // send confirm routine
  784. //==========================================
  785. int sendCancelReservationConfirmation(char *uuid, unsigned char gun_index);
  786. int sendCertificateSignedConfirmation(char *uuid);
  787. int sendChangeAvailabilityConfirmation(char *uuid, unsigned char gun_index);
  788. int sendClearCacheConfirmation(char *uuid);
  789. int sendClearChargingProfileConfirmation(char *uuid,char *payload);
  790. int sendClearDisplayMessageConfirmation(char *uuid);
  791. int sendClearVariableMonitoringConfirmation(char *uuid, unsigned char variableQuantity);
  792. int sendCostUpdatedConfirmation(char *uuid);
  793. int sendCustomerInformationConfirmation(char *uuid);
  794. int sendDataTransferConfirmation(char *uuid, unsigned char gun_index);
  795. int sendDeleteCertificateConfirmation(char *uuid);
  796. int sendGetBaseReportConfirmation(char *uuid);
  797. int sendGetChargingProfilesConfirmation(char *uuid, unsigned char gun_index);
  798. int sendGetCompositeScheduleConfirmation(char *uuid,char *payload, int connectorIdInt,int nPeriod);
  799. int sendGetDisplayMessagesConfirmation(char *uuid);
  800. int sendGetInstalledCertificateIdsConfirmation(char *uuid, unsigned char certQuantity);
  801. int sendGetLocalListVersionConfirmation(char *uuid);
  802. int sendGetLogConfirmation(char *uuid);
  803. int sendGetMonitoringReportConfirmation(char *uuid);
  804. int sendGetReportConfirmation(char *uuid);
  805. int sendGetTransactionStatusConfirmation(char *uuid, unsigned char gun_index);
  806. int sendGetVariablesConfirmation(char *uuid, unsigned char variableQuantity);
  807. int sendInstallCertificateConfirmation(char *uuid);
  808. int sendPublishFirmwareConfirmation(char *uuid);
  809. int sendRemoteStartTransactionConfirmation(char *uuid, unsigned char gun_index);
  810. int sendRemoteStopTransactionConfirmation(char *uuid, unsigned char gun_index);
  811. int sendReserveNowConfirmation(char *uuid, unsigned char gun_index);
  812. int sendResetConfirmation(char *uuid);
  813. int sendSendLocalListConfirmation(char *uuid);
  814. int sendSetChargingProfileConfirmation(char *uuid, unsigned char gun_index);
  815. int sendSetDisplayMessagesConfirmation(char *uuid);
  816. int sendSetMonitoringBaseConfirmation(char *uuid);
  817. int sendSetMonitoringLevelConfirmation(char *uuid);
  818. int sendSetNetworkProfileConfirmation(char *uuid);
  819. int sendSetVariableMonitoringConfirmation(char *uuid, unsigned char variableQuantity);
  820. int sendSetVariableConfirmation(char *uuid, unsigned char variableQuantity);
  821. int sendTriggerMessageConfirmation(char *uuid);
  822. int sendUnlockConnectorConfirmation(char *uuid, unsigned char gun_index);
  823. int sendUnpublishFirmwareConfirmation(char *uuid);
  824. int sendUpdateFirmwareConfirmation(char *uuid);
  825. int sendUnknownConfirmation(char *uuid);
  826. //==========================================
  827. // send CallError routine
  828. //==========================================
  829. void SendCallError(char *uniqueId, char *action, char *errorCode, char *errorDescription);
  830. //==========================================
  831. // Handle server request routine Start
  832. //==========================================
  833. int handleCancelReservationRequest(char *uuid, char *payload);
  834. int handleCertificateSignedRequest(char *uuid, char *payload);
  835. int handleChangeAvailabilityRequest(char *uuid, char *payload);
  836. int handleClearCacheRequest(char *uuid, char *payload);
  837. int handleClearChargingProfileRequest(char *uuid, char *payload);
  838. int handleClearDisplayMessageRequest(char *uuid, char *payload);
  839. int handleClearVariableMonitoringRequest(char *uuid, char *payload);
  840. int handleCostUpdatedRequest(char *uuid, char *payload);
  841. int handleCustomerInformationRequest(char *uuid, char *payload);
  842. int handleDataTransferRequest(char *uuid, char *payload);
  843. int handleDeleteCertificateRequest(char *uuid, char *payload);
  844. int handleGetBaseReportRequest(char *uuid, char *payload);
  845. int handleGetChargingProfilesRequest(char *uuid, char *payload);
  846. int handleGetCompositeScheduleRequest(char *uuid, char *payload);
  847. int handleGetDisplayMessagesRequest(char *uuid, char *payload);
  848. int handleGetInstalledCertificateIdsRequest(char *uuid, char *payload);
  849. int handleGetLocalListVersionRequest(char *uuid, char *payload);
  850. int handleGetLogRequest(char *uuid, char *payload);
  851. int handleGetMonitoringReportRequest(char *uuid, char *payload);
  852. int handleGetReportRequest(char *uuid, char *payload);
  853. int handleGetTransactionStatusRequest(char *uuid, char *payload);
  854. int handleGetVariablesRequest(char *uuid, char *payload);
  855. int handleInstallCertificateRequest(char *uuid, char *payload);
  856. int handlePublishFirmwareRequest(char *uuid, char *payload);
  857. int handleRequestStartTransactionRequest(char *uuid, char *payload);
  858. int handleRequestStopTransactionRequest(char *uuid, char *payload);
  859. int handleReserveNowRequest(char *uuid, char *payload);
  860. int handleResetRequest(char *uuid, char *payload);
  861. int handleSendLocalListRequest(char *uuid, char *payload);
  862. int handleSetChargingProfileRequest(char *uuid, char *payload);
  863. int handleSetDisplayMessageRequest(char *uuid, char *payload);
  864. int handleSetMonitoringBaseRequest(char *uuid, char *payload);
  865. int handleSetMonitoringLevelRequest(char *uuid, char *payload);
  866. int handleSetNetworkProfileRequest(char *uuid, char *payload);
  867. int handleSetVariableMonitoringRequest(char *uuid, char *payload);
  868. int handleSetVariablesRequest(char *uuid, char *payload);
  869. int handleTriggerMessageRequest(char *uuid, char *payload);
  870. int handleUnlockConnectorRequest(char *uuid, char *payload);
  871. int handleUnpublishFirmwareRequest(char *uuid, char *payload);
  872. int handleUpdateFirmwareRequest(char *uuid, char *payload);
  873. int handleUnknownRequest(char *uuid, char *payload);
  874. void handleAuthorizeResponse(char *payload, int gun_index);
  875. void handleBootNotificationResponse(char *payload, int gun_index);
  876. void handleClearedChargingLimitResponse(char *payload, int gun_index);
  877. void handleDataTransferResponse(char *payload, int gun_index);
  878. void handleFirmwareStatusNotificationResponse(char *payload, int gun_index);
  879. void handleGet15118EVCertificateResponse(char *payload, int gun_index);
  880. void handleGetCertificateStatusResponse(char *payload, int gun_index);
  881. void handleHeartbeatResponse(char *payload, int gun_index);
  882. void handleLogStatusNotificationResponse(char *payload, int gun_index);
  883. void handleMeterValuesResponse(char *payload, int gun_index);
  884. void handleNotifyChargingLimitResponse(char *payload, int gun_index);
  885. void handleNotifyCustomerInformationResponse(char *payload, int gun_index);
  886. void handleNotifyDisplayMessagesResponse(char *payload, int gun_index);
  887. void handleNotifyEVChargingNeedsResponse(char *payload, int gun_index);
  888. void handleNotifyEVChargingScheduleResponse(char *payload, int gun_index);
  889. void handleNotifyEventResponse(char *payload, int gun_index);
  890. void handleNotifyMonitoringReportResponse(char *payload, int gun_index);
  891. void handleNotifyReportResponse(char *payload, int gun_index);
  892. void handlePublishFirmwareStatusNotificationResponse(char *payload, int gun_index);
  893. void handleReportChargingProfilesResponse(char *payload, int gun_index);
  894. void handleReservationStatusUpdateResponse(char *payload, int gun_index);
  895. void handleSecurityEventNotificationResponse(char *payload, int gun_index);
  896. void handleSignCertificateResponse(char *payload, int gun_index);
  897. void handleStatusNotificationResponse(char *payload, int gun_index);
  898. void handleTransactionEventResponse(char *payload, int gun_index);
  899. //==========================================
  900. // Handle Error routine
  901. //==========================================
  902. void handleError(char *id, char *errorCode, char *errorDescription,char *payload);
  903. //===============================================
  904. // Common routine
  905. //===============================================
  906. void getKeyValue(char *keyReq);
  907. int setKeyValue(char *key, char *value);
  908. int updateSetting(char *key, char *value);
  909. int httpDownLoadFile(char *location, char *path, char *filename,char *url);
  910. int ftpDownLoadFile(char *location, char *user, char *password, int port, char *path, char *filename,char *url);
  911. void *UpdateFirmwareProcess(void* data);
  912. void* GetDiagnosticsProcess(void* data);
  913. int httpUploadFile(char *location, char *path, char *filename,char *url);
  914. int ftpUploadFile(char *location, char *user, char *password, int port, char *path, char *fnamePlusPath,char *filename);
  915. int get_file_contents(const char* filename, char** outbuffer);
  916. void LWS_Send(char * str);
  917. void LWS_SendNow(char * str);
  918. extern int queue_operation(int type, char *frontUUID, char *frontData);
  919. int GetOcppServerURL();
  920. int GetOcppPath();
  921. int GetOcppPort();
  922. int GetTransactionId(int gunindex, unsigned char idTag[], uint8_t isStopTransaction);
  923. void SetTransactionIdZero(int transactionId);
  924. void GetChargingProfileRequest(int gunindex);
  925. void FillStartTransaction(int ConnectorId, unsigned char IdTag[], int MeterStart,int ReservationId,unsigned char Timestamp[]);
  926. void splitstring(char *src,const char *separator,char **dest,int *num);
  927. int GetWebSocketPingInterval(void);
  928. int GetInternetConn(void);
  929. int GetBackendConnectionTimeout(void);
  930. int isConnectorInitMode(int gun_index);
  931. void refreshProcDogTimer();
  932. int GetServerSign(void);
  933. void SetServerSign(int value);
  934. int GetBootNotificationInterval(void);
  935. void InitialSystemValue(void);
  936. void checkTempStopTransaction(int gun_index);
  937. void storeTempStopTransaction(int gun_index);
  938. #endif