service files for 0.7

git-svn-id: https://svn.code.sf.net/p/openv2g/code/trunk@74 d9f2db14-54d0-4bde-b00c-16405c910529
This commit is contained in:
sebastiankb 2012-07-02 14:19:22 +00:00
parent 732d394324
commit 57ff27930c
8 changed files with 14445 additions and 0 deletions

83
src/service/v2g_service.h Normal file
View file

@ -0,0 +1,83 @@
/*
* Copyright (C) 2007-2010 Siemens AG
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*******************************************************************
*
* @author Sebastian.Kaebisch.EXT@siemens.com
* @version 0.7
* @contact Joerg.Heuer@siemens.com
*
********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef EXI_SERVICE_H_
#define EXI_SERVICE_H_
#include "v2g_dataTypes.h"
#include "EXITypes.h"
struct uniqueIDPath
{
int id[10];
size_t pos;
};
struct EXIService
{
/* in-/ out-stream */
bitstream_t inStream;
bitstream_t outStream;
/* EXI */
exi_state_t stateDecode;
exi_state_t stateEncode;
exi_event_t event;
uint16_t qnameID;
exi_value_t val;
/* v2g message data structure */
struct EXIDocumentType exiMsg;
/* unique id for ambiguous elements */
struct uniqueIDPath idPath;
/* error code */
uint8_t errorCode;
/* offset for transported header data */
uint16_t transportHeaderOffset;
};
/* define error codes */
#define EXI_NON_VALID_MESSAGE 0x01
#define EXI_SERIALIZATION_FAILED 0x02
#define EXI_DESERIALIZATION_FAILED 0x03
#define EXI_DATATYPE_FAILED 0x04
#define EXI_VALUE_RANGE_FAILED 0x05
#define EXI_SERVICE_CALL_FAILED 0x06
#define EXI_UNKNOWN_ERROR 0xFF
#endif /* EXI_SERVICE_H_ */
#ifdef __cplusplus
}
#endif

View file

@ -0,0 +1,44 @@
/*
* Copyright (C) 2007-2010 Siemens AG
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*******************************************************************
*
* @author Sebastian.Kaebisch.EXT@siemens.com
* @version 0.7
* @contact Joerg.Heuer@siemens.com
*
********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef V2G_SERVICECLIENTDATATRANSMITTER_H_
#define V2G_SERVICECLIENTDATATRANSMITTER_H_
#include "EXITypes.h"
/* This method has to be implemented!
* This method sends EXI stream (outStream) to the EVSE and receives response stream (inStream)*/
int serviceDataTransmitter(uint8_t* outStream, uint16_t outStreamLength, uint8_t* inStream);
#endif /* V2G_SERVICECLIENTDATATRANSMITTER_H_ */
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,320 @@
/*
* Copyright (C) 2007-2012 Siemens AG
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*******************************************************************
*
* @author Sebastian.Kaebisch.EXT@siemens.com
* @version 0.7
* @contact Joerg.Heuer@siemens.com
*
* <p>Code generated by EXISeGen</p>
*
********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef SERVICECLIENTSTUBS_H
#define SERVICECLIENTSTUBS_H
#include "v2g_service.h"
#include "v2g_dataTypes.h"
#include "v2g_serviceClientStubs.h"
enum responseMessages
{
SESSIONSETUPRES,
SERVICEDISCOVERYRES,
SERVICEDETAILRES,
SERVICEPAYMENTSELECTIONRES,
PAYMENTDETAILSRES,
CONTRACTAUTHENTICATIONRES,
CHARGEPARAMETERDISCOVERYRES,
POWERDELIVERYRES,
CHARGINGSTATUSRES,
METERINGRECEIPTRES,
CERTIFICATEUPDATERES,
CERTIFICATEINSTALLATIONRES,
CABLECHECKRES,
PRECHARGERES,
CURRENTDEMANDRES,
WELDINGDETECTIONRES,
SESSIONSTOPRES
};
/**
* \brief Prepares the remote sessionSetup call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct SessionSetupReqType* Request data for the server (has to be set up before)
* \param result struct SessionSetupResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_sessionSetup(struct EXIService* service, struct MessageHeaderType* header, struct SessionSetupReqType* params, struct SessionSetupResType* result);
/**
* \brief Prepares the remote serviceDiscovery call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct ServiceDiscoveryReqType* Request data for the server (has to be set up before)
* \param result struct ServiceDiscoveryResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_serviceDiscovery(struct EXIService* service, struct MessageHeaderType* header, struct ServiceDiscoveryReqType* params, struct ServiceDiscoveryResType* result);
/**
* \brief Prepares the remote serviceDetail call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct ServiceDetailReqType* Request data for the server (has to be set up before)
* \param result struct ServiceDetailResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_serviceDetail(struct EXIService* service, struct MessageHeaderType* header, struct ServiceDetailReqType* params, struct ServiceDetailResType* result);
/**
* \brief Prepares the remote servicePaymentSelection call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct ServicePaymentSelectionReqType* Request data for the server (has to be set up before)
* \param result struct ServicePaymentSelectionResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_servicePaymentSelection(struct EXIService* service, struct MessageHeaderType* header, struct ServicePaymentSelectionReqType* params, struct ServicePaymentSelectionResType* result);
/**
* \brief Prepares the remote paymentDetails call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct PaymentDetailsReqType* Request data for the server (has to be set up before)
* \param result struct PaymentDetailsResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_paymentDetails(struct EXIService* service, struct MessageHeaderType* header, struct PaymentDetailsReqType* params, struct PaymentDetailsResType* result);
/**
* \brief Prepares the remote contractAuthentication call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct ContractAuthenticationReqType* Request data for the server (has to be set up before)
* \param result struct ContractAuthenticationResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_contractAuthentication(struct EXIService* service, struct MessageHeaderType* header, struct ContractAuthenticationReqType* params, struct ContractAuthenticationResType* result);
/**
* \brief Prepares the remote chargeParameterDiscovery call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct ChargeParameterDiscoveryReqType* Request data for the server (has to be set up before)
* \param result struct ChargeParameterDiscoveryResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_chargeParameterDiscovery(struct EXIService* service, struct MessageHeaderType* header, struct ChargeParameterDiscoveryReqType* params, struct ChargeParameterDiscoveryResType* result);
/**
* \brief Prepares the remote powerDelivery call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct PowerDeliveryReqType* Request data for the server (has to be set up before)
* \param result struct PowerDeliveryResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_powerDelivery(struct EXIService* service, struct MessageHeaderType* header, struct PowerDeliveryReqType* params, struct PowerDeliveryResType* result);
/**
* \brief Prepares the remote chargingStatus call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param result struct ChargingStatusResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_chargingStatus(struct EXIService* service, struct MessageHeaderType* header, struct ChargingStatusResType* result);
/**
* \brief Prepares the remote meteringReceipt call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct MeteringReceiptReqType* Request data for the server (has to be set up before)
* \param result struct MeteringReceiptResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_meteringReceipt(struct EXIService* service, struct MessageHeaderType* header, struct MeteringReceiptReqType* params, struct MeteringReceiptResType* result);
/**
* \brief Prepares the remote certificateUpdate call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct CertificateUpdateReqType* Request data for the server (has to be set up before)
* \param result struct CertificateUpdateResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_certificateUpdate(struct EXIService* service, struct MessageHeaderType* header, struct CertificateUpdateReqType* params, struct CertificateUpdateResType* result);
/**
* \brief Prepares the remote certificateInstallation call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct CertificateInstallationReqType* Request data for the server (has to be set up before)
* \param result struct CertificateInstallationResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_certificateInstallation(struct EXIService* service, struct MessageHeaderType* header, struct CertificateInstallationReqType* params, struct CertificateInstallationResType* result);
/**
* \brief Prepares the remote cableCheck call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct CableCheckReqType* Request data for the server (has to be set up before)
* \param result struct CableCheckResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_cableCheck(struct EXIService* service, struct MessageHeaderType* header, struct CableCheckReqType* params, struct CableCheckResType* result);
/**
* \brief Prepares the remote preCharge call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct PreChargeReqType* Request data for the server (has to be set up before)
* \param result struct PreChargeResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_preCharge(struct EXIService* service, struct MessageHeaderType* header, struct PreChargeReqType* params, struct PreChargeResType* result);
/**
* \brief Prepares the remote currentDemand call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct CurrentDemandReqType* Request data for the server (has to be set up before)
* \param result struct CurrentDemandResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_currentDemand(struct EXIService* service, struct MessageHeaderType* header, struct CurrentDemandReqType* params, struct CurrentDemandResType* result);
/**
* \brief Prepares the remote weldingDetection call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param params struct WeldingDetectionReqType* Request data for the server (has to be set up before)
* \param result struct WeldingDetectionResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_weldingDetection(struct EXIService* service, struct MessageHeaderType* header, struct WeldingDetectionReqType* params, struct WeldingDetectionResType* result);
/**
* \brief Prepares the remote sessionStop call
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param header struct MessageHeaderType* Header data structure
* \param result struct SessionStopResType* Contains the response data from the server
* \return 0 = 0K; -1 = ERROR */
int prepare_sessionStop(struct EXIService* service, struct MessageHeaderType* header, struct SessionStopResType* result);
/**
* \brief Determines which response message was received
* \param service struct EXIService* Service data structure (has to be initialized before)
* \param respMsg enum responseMessages* contains the name of the response message
* \param result struct SessionStopResType* Contains the response data from the server
* \return 0 = 0K; 0 != ERROR */
int determineResponseMesssage(struct EXIService* service, enum responseMessages* respMsg);
/**
* \brief Initialize the v2g client
* \param service struct EXIService* Service data structure
* \param service_bytes exi_bytes_t Reserved for byte handling
* \param service_string exi_string_ucs_t Reserved for string handling
* \param inStream uint8_t* Instream buffer
* \param max_inStream_size size_t Max size for an instream message
* \param outStream uint8_t* Outstream buffer
* \param outPayloadLength uint32_t* Provides the length of the encoded request EXI message
* \param max_outStream_size size_t Max size for an outstream message
* \param transportHeaderOffset uint16_t Transport protocol offset
* \return 0 = 0K; -1 = ERROR
*/
int init_v2gServiceClient(struct EXIService* service, exi_bytes_t service_bytes, exi_string_ucs_t service_string, uint8_t* inStream, size_t max_inStream_size, uint8_t* outStream, size_t max_outStream_size,uint32_t* outPayloadLength, uint16_t transportHeaderOffset);
#endif
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,43 @@
/*
* Copyright (C) 2007-2010 Siemens AG
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*******************************************************************
*
* @author Sebastian.Kaebisch.EXT@siemens.com
* @version 0.7
* @contact Joerg.Heuer@siemens.com
*
********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef V2GSERVER_H_
#define V2GSERVER_H_
#include "v2g_dataTypes.h"
int init_v2gservice(struct EXIService* service, exi_bytes_t service_bytes, exi_string_ucs_t service_string, uint16_t transportHeaderOffset);
int messageDispatcher(struct EXIService* service, uint8_t* inStream, uint32_t sizeInStream, uint8_t* outStream, uint32_t sizeOutStream, uint32_t* outPos);
#endif /* V2GSERVER_H_ */
#ifdef __cplusplus
}
#endif

View file

@ -0,0 +1,189 @@
/*
* Copyright (C) 2007-2012 Siemens AG
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*******************************************************************
*
* @author Sebastian.Kaebisch.EXT@siemens.com
* @version 0.7
* @contact Joerg.Heuer@siemens.com
*
* <p>Code generated by EXISeGen</p>
*
********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef SERVICEMETHODS_H
#define SERVICEMETHODS_H
#include "v2g_dataTypes.h"
#include "EXITypes.h"
/** This service methods has to be implemented by the EVSE server */
/**
* \brief This sessionSetup method is called by the service dispatcher if there was passed a sessionSetup-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct SessionSetupReqType Parameter dataset of the sessionSetup request message
* \param result struct SessionSetupResType Result dataset for the sessionSetup response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int sessionSetup(struct MessageHeaderType* header, struct SessionSetupReqType* param, struct SessionSetupResType* result);
/**
* \brief This serviceDiscovery method is called by the service dispatcher if there was passed a serviceDiscovery-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct ServiceDiscoveryReqType Parameter dataset of the serviceDiscovery request message
* \param result struct ServiceDiscoveryResType Result dataset for the serviceDiscovery response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int serviceDiscovery(struct MessageHeaderType* header, struct ServiceDiscoveryReqType* param, struct ServiceDiscoveryResType* result);
/**
* \brief This serviceDetail method is called by the service dispatcher if there was passed a serviceDetail-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct ServiceDetailReqType Parameter dataset of the serviceDetail request message
* \param result struct ServiceDetailResType Result dataset for the serviceDetail response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int serviceDetail(struct MessageHeaderType* header, struct ServiceDetailReqType* param, struct ServiceDetailResType* result);
/**
* \brief This servicePaymentSelection method is called by the service dispatcher if there was passed a servicePaymentSelection-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct ServicePaymentSelectionReqType Parameter dataset of the servicePaymentSelection request message
* \param result struct ServicePaymentSelectionResType Result dataset for the servicePaymentSelection response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int servicePaymentSelection(struct MessageHeaderType* header, struct ServicePaymentSelectionReqType* param, struct ServicePaymentSelectionResType* result);
/**
* \brief This paymentDetails method is called by the service dispatcher if there was passed a paymentDetails-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct PaymentDetailsReqType Parameter dataset of the paymentDetails request message
* \param result struct PaymentDetailsResType Result dataset for the paymentDetails response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int paymentDetails(struct MessageHeaderType* header, struct PaymentDetailsReqType* param, struct PaymentDetailsResType* result);
/**
* \brief This contractAuthentication method is called by the service dispatcher if there was passed a contractAuthentication-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct ContractAuthenticationReqType Parameter dataset of the contractAuthentication request message
* \param result struct ContractAuthenticationResType Result dataset for the contractAuthentication response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int contractAuthentication(struct MessageHeaderType* header, struct ContractAuthenticationReqType* param, struct ContractAuthenticationResType* result);
/**
* \brief This chargeParameterDiscovery method is called by the service dispatcher if there was passed a chargeParameterDiscovery-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct ChargeParameterDiscoveryReqType Parameter dataset of the chargeParameterDiscovery request message
* \param result struct ChargeParameterDiscoveryResType Result dataset for the chargeParameterDiscovery response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int chargeParameterDiscovery(struct MessageHeaderType* header, struct ChargeParameterDiscoveryReqType* param, struct ChargeParameterDiscoveryResType* result);
/**
* \brief This powerDelivery method is called by the service dispatcher if there was passed a powerDelivery-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct PowerDeliveryReqType Parameter dataset of the powerDelivery request message
* \param result struct PowerDeliveryResType Result dataset for the powerDelivery response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int powerDelivery(struct MessageHeaderType* header, struct PowerDeliveryReqType* param, struct PowerDeliveryResType* result);
/**
* \brief This chargingStatus method is called by the service dispatcher if there was passed a chargingStatus-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct ChargingStatusReqType Parameter dataset of the chargingStatus request message
* \param result struct ChargingStatusResType Result dataset for the chargingStatus response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int chargingStatus(struct MessageHeaderType* header, struct ChargingStatusReqType* param, struct ChargingStatusResType* result);
/**
* \brief This meteringReceipt method is called by the service dispatcher if there was passed a meteringReceipt-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct MeteringReceiptReqType Parameter dataset of the meteringReceipt request message
* \param result struct MeteringReceiptResType Result dataset for the meteringReceipt response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int meteringReceipt(struct MessageHeaderType* header, struct MeteringReceiptReqType* param, struct MeteringReceiptResType* result);
/**
* \brief This sessionStop method is called by the service dispatcher if there was passed a sessionStop-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct SessionStopType Parameter dataset of the sessionStop request message
* \param result struct SessionStopResType Result dataset for the sessionStop response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int sessionStop(struct MessageHeaderType* header, struct SessionStopType* param, struct SessionStopResType* result);
/**
* \brief This certificateUpdate method is called by the service dispatcher if there was passed a certificateUpdate-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct CertificateUpdateReqType Parameter dataset of the certificateUpdate request message
* \param result struct CertificateUpdateResType Result dataset for the certificateUpdate response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int certificateUpdate(struct MessageHeaderType* header, struct CertificateUpdateReqType* param, struct CertificateUpdateResType* result);
/**
* \brief This certificateInstallation method is called by the service dispatcher if there was passed a certificateInstallation-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct CertificateInstallationReqType Parameter dataset of the certificateInstallation request message
* \param result struct CertificateInstallationResType Result dataset for the certificateInstallation response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int certificateInstallation(struct MessageHeaderType* header, struct CertificateInstallationReqType* param, struct CertificateInstallationResType* result);
/**
* \brief This cableCheck method is called by the service dispatcher if there was passed a cableCheck-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct CableCheckReqType Parameter dataset of the cableCheck request message
* \param result struct CableCheckResType Result dataset for the cableCheck response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int cableCheck(struct MessageHeaderType* header, struct CableCheckReqType* param, struct CableCheckResType* result);
/**
* \brief This preCharge method is called by the service dispatcher if there was passed a preCharge-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct PreChargeReqType Parameter dataset of the preCharge request message
* \param result struct PreChargeResType Result dataset for the preCharge response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int preCharge(struct MessageHeaderType* header, struct PreChargeReqType* param, struct PreChargeResType* result);
/**
* \brief This currentDemand method is called by the service dispatcher if there was passed a currentDemand-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct CurrentDemandReqType Parameter dataset of the currentDemand request message
* \param result struct CurrentDemandResType Result dataset for the currentDemand response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int currentDemand(struct MessageHeaderType* header, struct CurrentDemandReqType* param, struct CurrentDemandResType* result);
/**
* \brief This weldingDetection method is called by the service dispatcher if there was passed a weldingDetection-based request message.
* \param header struct MessageHeaderType* Header dataset
* \param param struct WeldingDetectionReqType Parameter dataset of the weldingDetection request message
* \param result struct WeldingDetectionResType Result dataset for the weldingDetection response message
* \return 0 = 0K; -1 = ERROR (message dispatcher will return an error) */
int weldingDetection(struct MessageHeaderType* header, struct WeldingDetectionReqType* param, struct WeldingDetectionResType* result);
#endif
#ifdef __cplusplus
}
#endif