/****************************************************************************************************

		BasicRemoteInstructions.h
		Copyright: (c) 2001 Eovia Corp. All rights reserved.

		Author:	Arnaud
		Date:	1/14/2005

****************************************************************************************************/

#ifndef __BasicRemoteInstructions__
#define __BasicRemoteInstructions__

#if CP_PRAGMA_ONCE
#pragma once
#endif


#include "IShSMP.h"
#include "MCCountedObject.h"


class TBasicRemoteInstructions : public ISMPRemoteInstructions, public TMCSMPCountedObject
{
public:
	virtual MCCOMErr MCCOMAPI QueryInterface(const MCIID& riid, void** ppvObj)
	{
		if (MCIsEqualIID(riid, IID_ISMPRemoteInstructions))
		{
			TMCCountedGetHelper<ISMPRemoteInstructions> result(ppvObj);
			result= this;
			return MC_S_OK;
		}
		return TMCSMPCountedObject::QueryInterface(riid, ppvObj);
	}
	virtual uint32 	 MCCOMAPI AddRef			()		{ return TMCSMPCountedObject::AddRef(); }
	virtual uint32 	 MCCOMAPI Release			()		{ return TMCSMPCountedObject::Release(); }	
	
	//You need to override Execute
	//virtual void*    MCCOMAPI Execute();
};





#endif
