/* paylidpaylidwsdlBindingProxy.h
   Generated by gSOAP 2.8.16 from PaylidService.h

Copyright(C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.
The generated code is released under one of the following licenses:
GPL or Genivia's license for commercial use.
This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
*/

#ifndef paylidpaylidwsdlBindingProxy_H
#define paylidpaylidwsdlBindingProxy_H
#include "paylidH.h"

namespace paylid {

class SOAP_CMAC paylidwsdlBindingProxy : public soap
{ public:
	/// Endpoint URL of service 'paylidwsdlBindingProxy' (change as needed)
	const char *soap_endpoint;
	/// Constructor
	paylidwsdlBindingProxy();
	/// Construct from another engine state
	paylidwsdlBindingProxy(const struct soap&);
	/// Constructor with endpoint URL
	paylidwsdlBindingProxy(const char *url);
	/// Constructor with engine input+output mode control
	paylidwsdlBindingProxy(soap_mode iomode);
	/// Constructor with URL and input+output mode control
	paylidwsdlBindingProxy(const char *url, soap_mode iomode);
	/// Constructor with engine input and output mode control
	paylidwsdlBindingProxy(soap_mode imode, soap_mode omode);
	/// Destructor frees deserialized data
	virtual	~paylidwsdlBindingProxy();
	/// Initializer used by constructors
	virtual	void paylidwsdlBindingProxy_init(soap_mode imode, soap_mode omode);
	/// Delete all deserialized data (with soap_destroy and soap_end)
	virtual	void destroy();
	/// Delete all deserialized data and reset to default
	virtual	void reset();
	/// Disables and removes SOAP Header from message
	virtual	void soap_noheader();
	/// Get SOAP Header structure (NULL when absent)
	virtual	const SOAP_ENV__Header *soap_header();
	/// Get SOAP Fault structure (NULL when absent)
	virtual	const SOAP_ENV__Fault *soap_fault();
	/// Get SOAP Fault string (NULL when absent)
	virtual	const char *soap_fault_string();
	/// Get SOAP Fault detail as string (NULL when absent)
	virtual	const char *soap_fault_detail();
	/// Close connection (normally automatic, except for send_X ops)
	virtual	int soap_close_socket();
	/// Force close connection (can kill a thread blocked on IO)
	virtual	int soap_force_close_socket();
	/// Print fault
	virtual	void soap_print_fault(FILE*);
#ifndef WITH_LEAN
	/// Print fault to stream
#ifndef WITH_COMPAT
	virtual	void soap_stream_fault(std::ostream&);
#endif

	/// Put fault into buffer
	virtual	char *soap_sprint_fault(char *buf, size_t len);
#endif

	/// Web service operation 'getAccountBalance' (returns error code or SOAP_OK)
	virtual	int getAccountBalance(std::string terminalID, std::string hmac, struct paylid__getAccountBalanceResponse &_param_1) { return this->getAccountBalance(NULL, NULL, terminalID, hmac, _param_1); }
	virtual	int getAccountBalance(const char *endpoint, const char *soap_action, std::string terminalID, std::string hmac, struct paylid__getAccountBalanceResponse &_param_1);

	/// Web service operation 'transferFund' (returns error code or SOAP_OK)
	virtual	int transferFund(std::string terminalID, std::string toDestination, std::string hmac, struct paylid__transferFundResponse &_param_2) { return this->transferFund(NULL, NULL, terminalID, toDestination, hmac, _param_2); }
	virtual	int transferFund(const char *endpoint, const char *soap_action, std::string terminalID, std::string toDestination, std::string hmac, struct paylid__transferFundResponse &_param_2);

	/// Web service operation 'checkTransferStatus' (returns error code or SOAP_OK)
	virtual	int checkTransferStatus(std::string terminalID, std::string transactionRef, std::string hmac, struct paylid__checkTransferStatusResponse &_param_3) { return this->checkTransferStatus(NULL, NULL, terminalID, transactionRef, hmac, _param_3); }
	virtual	int checkTransferStatus(const char *endpoint, const char *soap_action, std::string terminalID, std::string transactionRef, std::string hmac, struct paylid__checkTransferStatusResponse &_param_3);

	/// Web service operation 'directAirTimeTopUp' (returns error code or SOAP_OK)
	virtual	int directAirTimeTopUp(std::string terminalID, std::string topupData, std::string hmac, struct paylid__directAirTimeTopUpResponse &_param_4) { return this->directAirTimeTopUp(NULL, NULL, terminalID, topupData, hmac, _param_4); }
	virtual	int directAirTimeTopUp(const char *endpoint, const char *soap_action, std::string terminalID, std::string topupData, std::string hmac, struct paylid__directAirTimeTopUpResponse &_param_4);

	/// Web service operation 'currentXrate' (returns error code or SOAP_OK)
	virtual	int currentXrate(std::string terminalID, std::string topupData, std::string hmac, struct paylid__currentXrateResponse &_param_5) { return this->currentXrate(NULL, NULL, terminalID, topupData, hmac, _param_5); }
	virtual	int currentXrate(const char *endpoint, const char *soap_action, std::string terminalID, std::string topupData, std::string hmac, struct paylid__currentXrateResponse &_param_5);

	/// Web service operation 'getAccount' (returns error code or SOAP_OK)
	virtual	int getAccount(std::string terminalID, std::string topupData, std::string hmac, struct paylid__getAccountResponse &_param_6) { return this->getAccount(NULL, NULL, terminalID, topupData, hmac, _param_6); }
	virtual	int getAccount(const char *endpoint, const char *soap_action, std::string terminalID, std::string topupData, std::string hmac, struct paylid__getAccountResponse &_param_6);

	/// Web service operation 'getTrxStatus' (returns error code or SOAP_OK)
	virtual	int getTrxStatus(std::string terminalID, std::string topupData, std::string hmac, struct paylid__getTrxStatusResponse &_param_7) { return this->getTrxStatus(NULL, NULL, terminalID, topupData, hmac, _param_7); }
	virtual	int getTrxStatus(const char *endpoint, const char *soap_action, std::string terminalID, std::string topupData, std::string hmac, struct paylid__getTrxStatusResponse &_param_7);

	/// Web service operation 'getSupportedBanks' (returns error code or SOAP_OK)
	virtual	int getSupportedBanks(std::string terminalID, std::string topupData, std::string hmac, struct paylid__getSupportedBanksResponse &_param_8) { return this->getSupportedBanks(NULL, NULL, terminalID, topupData, hmac, _param_8); }
	virtual	int getSupportedBanks(const char *endpoint, const char *soap_action, std::string terminalID, std::string topupData, std::string hmac, struct paylid__getSupportedBanksResponse &_param_8);
};

} // namespace paylid

#endif
