mirror of
https://github.com/Martin-P/OpenV2G.git
synced 2024-11-18 12:53:58 +00:00
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:
parent
732d394324
commit
57ff27930c
8 changed files with 14445 additions and 0 deletions
83
src/service/v2g_service.h
Normal file
83
src/service/v2g_service.h
Normal 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
|
44
src/service/v2g_serviceClientDataTransmitter.h
Normal file
44
src/service/v2g_serviceClientDataTransmitter.h
Normal 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
|
3655
src/service/v2g_serviceClientStubs.c
Normal file
3655
src/service/v2g_serviceClientStubs.c
Normal file
File diff suppressed because it is too large
Load diff
320
src/service/v2g_serviceClientStubs.h
Normal file
320
src/service/v2g_serviceClientStubs.h
Normal 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
|
7399
src/service/v2g_serviceDataSerialization.c
Normal file
7399
src/service/v2g_serviceDataSerialization.c
Normal file
File diff suppressed because it is too large
Load diff
2712
src/service/v2g_serviceDispatcher.c
Normal file
2712
src/service/v2g_serviceDispatcher.c
Normal file
File diff suppressed because it is too large
Load diff
43
src/service/v2g_serviceDispatcher.h
Normal file
43
src/service/v2g_serviceDispatcher.h
Normal 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
|
189
src/service/v2g_serviceMethods.h
Normal file
189
src/service/v2g_serviceMethods.h
Normal 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
|
Loading…
Reference in a new issue