/*
 * SESOperator.h
 *
 *  Created on: 2008-9-15
 *      Author: stanley
 */

#include "RequBase.h"
#include "IntfData.h"
#include "SearchResultData.h"

#ifndef SESOPERATOR_H_
#define SESOPERATOR_H_

class CIsRemoteStuLocked: public RequBase
{
public:
	CIsRemoteStuLocked();
	virtual ~CIsRemoteStuLocked();
	virtual bool RecvResp(IPCAPI::CIntfData& myData);
	virtual bool SendRequ(IPCAPI::CIntfData& myData);
	virtual int GetOperationID();
};

class CSearchPRGMRequ : public RequBase
{
public:
	CSearchPRGMRequ();
	virtual ~CSearchPRGMRequ();

	virtual bool RecvResp(IPCAPI::CIntfData& myData);
	virtual bool SendRequ(IPCAPI::CIntfData& myData);
	virtual int GetOperationID();
	virtual bool Disconnect(std::string studentID);
	//virtual bool isSameStudent(std::string studentID);
	virtual bool CancelOperation(int OID);

private:
	bool filter(std::string studentID);

	LibSESData::CSearchResultData m_SearchResult;
	int m_Option;
	//int iCount;
};

class CDeployLockShceduleRequ : public RequBase
{
public:
	CDeployLockShceduleRequ();
	virtual ~CDeployLockShceduleRequ();

	virtual bool RecvResp(IPCAPI::CIntfData& myData);
	virtual bool SendRequ(IPCAPI::CIntfData& myData);
	virtual int GetOperationID();
	virtual bool Disconnect(std::string studentID);
	virtual bool CancelOperation(int OID);

private:
	bool filter(std::string studentID);
};

class CDeployAutoLockRequ : public RequBase
{
public:
		CDeployAutoLockRequ();
		virtual ~CDeployAutoLockRequ();

		virtual bool RecvResp(IPCAPI::CIntfData& myData);
		virtual bool SendRequ(IPCAPI::CIntfData& myData);
		virtual int GetOperationID();

};

class CDeployPRGMRequ : public RequBase
{
public:
	   CDeployPRGMRequ();
		virtual ~CDeployPRGMRequ();

		virtual bool RecvResp(IPCAPI::CIntfData& myData);
		virtual bool SendRequ(IPCAPI::CIntfData& myData);
		virtual int GetOperationID();
};

class CDeployPRGMListRequ : public RequBase
{
public:
		CDeployPRGMListRequ();
		virtual ~CDeployPRGMListRequ();

		virtual bool RecvResp(IPCAPI::CIntfData& myData);
		virtual bool SendRequ(IPCAPI::CIntfData& myData);
		virtual int GetOperationID();
		virtual bool Disconnect(std::string studentID);
		virtual bool CancelOperation(int OID);
private:
		bool filter(std::string studentID);
};


class CManualLockRequ : public RequBase
{
public:
	   CManualLockRequ();
		virtual ~CManualLockRequ();

		virtual bool RecvResp(IPCAPI::CIntfData& myData);
		virtual bool SendRequ(IPCAPI::CIntfData& myData);
		virtual int GetOperationID();

};

class CManualUnlockRequ : public RequBase
{
public:
	   CManualUnlockRequ();
		virtual ~CManualUnlockRequ();

		virtual bool RecvResp(IPCAPI::CIntfData& myData);
		virtual bool SendRequ(IPCAPI::CIntfData& myData);
		virtual int GetOperationID();

};

class CQueryPolicyRequ : public RequBase
{
public:
		CQueryPolicyRequ();
		virtual ~CQueryPolicyRequ();

		virtual bool RecvResp(IPCAPI::CIntfData& myData);
		virtual bool SendRequ(IPCAPI::CIntfData& myData);
		virtual int GetOperationID();

};

#endif /* SESOPERATOR_H_ */
