// Machine generated C++ stub file (.h) for remote object Service
// Created on : 05/18/2010 11:49:52


#ifndef _include_Service_h
#define _include_Service_h

#include <string>
#include <MarshallerCfg.h>
#include <Array.h>
#include <PCSC.h>
#include <Marshaller.h>

#ifdef Service_EXPORTS
#define Service_API __declspec(dllexport)
#else
#define Service_API
#endif

using namespace std;
using namespace Marshaller;

class Service_API Service : private SmartCardMarshaller {
public:
	// Constructors
	Service(string* uri);
	Service(string* uri, u4 index);
	Service(u2 portNumber, string* uri);
	Service(u2 portNumber, string* uri, u4 index);
	Service(string* readerName, string* uri);
	Service(string* readerName, u2 portNumber, string* uri);
	Service(SCARDHANDLE cardHandle, string* uri);
	Service(SCARDHANDLE cardHandle, u2 portNumber, string* uri);

	// Pre-defined methods
	string* GetReader(void);

	// Exposed methods
	string* getC();
	s4Array* getW();
	s4Array* getQ();
	s4 getMAP();
	string* getT_r();
	void setEraseTokenList(u1 eraseTokenList);
	s4 getCount();
	void PutOnCard_token(string* token_a,string* sig_PA,string* r);
	void PutOnCard_param(string* c,s4Array* w,s4Array* q,s4 mAP);
	string* GetFromCard_token();
	s4Array* GetFromCard_eResponse(s4Array* randE);
};


#endif
