/*!
	DLL 外部アクセス用ヘルパ
*/
#pragma once
#define	MAX_WORKSPACE_PATH_LEN	256


////////////////////////////////////////////////////////////////////////////////////////////////////////
//	DLL受け渡し用データクラス
////////////////////////////////////////////////////////////////////////////////////////////////////////
/*!
	DLLへの受け渡し用文字列
*/
class IAPIPassString
{
public:
	//!	文字列を設定
	virtual void SetString(LPCSTR str) = 0;

	//!	文字列を取得
	virtual LPCSTR GetString() = 0;
};

//!	ポインタ型
typedef IAPIPassString*	IAPIPassStringPtr;

/*!
	DLLへの受け渡し用文字列配列
*/
class IAPIPassStringArray
{
public:
	//!	サイズ設定
	virtual void PreSetSize(int size) = 0;

	//!	保持している文字列を取得
	virtual void AddString(LPCSTR str) = 0;
};

//!	ポインタ型
typedef IAPIPassStringArray*	IAPIPassStringArrayPtr;

/*!
	DLLへの受け渡し用バイナリデータ
*/
class IAPIPassBinaryData
{
public:
	//!	サイズ変更
	virtual void ReSize(int size) = 0;

	//!	サイズ取得
	virtual int GetSize() = 0;

	//!	保持しているデータポインタを取得
	virtual char *GetPtr() = 0;
};

//!	ポインタ型
typedef IAPIPassBinaryData*	IAPIPassBinaryDataPtr;


