#pragma once
#include "BasicTypeInterfaces.h"

/*!
	インタフェースラッパの共通初期化関数
*/
#define	DEFINE_MANAGER_WRAPPER_CONSTRUCTOR(classNmae, ifName, ifVer) \
protected: \
	ifName##Ptr	m_ifPtr; \
public: \
	classNmae() {}; \
	classNmae(ifName##Ptr ifPtr)		{ m_ifPtr = ifPtr; } \
	classNmae(classNmae &other)			{ m_ifPtr = other.m_ifPtr; } \
	void operator=(ifName##Ptr ifPtr)	{ m_ifPtr = ifPtr; } \
	void operator=(classNmae &other)	{ m_ifPtr = other.m_ifPtr; } \
	ifName##Ptr Get##ifName()			{ return m_ifPtr; } \
	static LPCSTR GetInterfaceName()	{ return #ifName; }; \
	static int GetInterfaceVersion()	{ return ifVer; };


