/*!
	04WebServerManagedInterfaces.h

	04WebServer用管理型インタフェースの定義
*/
#include "ManagedInterfaceImplement.h"
#include "ManagedInterfaceAccess.h"

//	再インクルード防止用(３回読み込むため #pragma once は使えない)
#ifndef DEFINE_04WEBSERVER_MANAGED_INTERFACES_END
#include "ManagedInterfaceMacro.h"	//	マクロ定義


/************************************************************************************/
//	管理型インターフェースの定義
//	
/************************************************************************************/
/*
	MIServerTool - サーバ基本機能
*/
START_MANAGED_INTERFACE_DEFINE(MIServerTool);

	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//	設定
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//!	GetManagerSetting - マネージャの個別設定を取得
	DEFINE_INTERFACE_METHOD_ARG1(CWorkspaceAccess, GetManagerSetting, CString, section);

	//!	GetFilterSetting - フィルタの個別設定を取得
	DEFINE_INTERFACE_METHOD_ARG1(CWorkspaceAccess, GetFilterSetting, CString, section);

	//!	GetResponseSetting - レスポンスの個別設定を取得
	DEFINE_INTERFACE_METHOD_ARG1(CWorkspaceAccess, GetResponseSetting, CString, section);

	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//	ステータス・ログ
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//!	WriteSystemLog - サーバログの書き込み
	DEFINE_INTERFACE_METHOD_ARG4_VOID(WriteSystemLog, CString, callerName, int, statusCose, CString, statusInfo, int, autoFooTime);

	//!	SetServerStatusInt - サーバステータスの変更
	DEFINE_INTERFACE_METHOD_ARG3_VOID(SetServerStatusInt, CString, statusName, int, status, CString, statusInfo);

	//!	SetServerStatusStr - サーバステータスの変更
	DEFINE_INTERFACE_METHOD_ARG3_VOID(SetServerStatusStr, CString, statusName, CString, status, CString, statusInfo);

END_MANAGED_INTERFACE_DEFINE();


/************************************************************************************/
//	同じマクロで、３種類の定義を行うためのトリック
//	自分をマクロ定義を変えて２回インクルード
/************************************************************************************/
//	再インクルード制限
#ifndef DEFINE_04WEBSERVER_MANAGED_INTERFACES_START
#define DEFINE_04WEBSERVER_MANAGED_INTERFACES_START

//	インプリメント用宣言
#define DEFINE_MANAGED_INTERFACE_IMPLEMENT
#include "04WebServerManagedInterfaces.h"
#undef DEFINE_MANAGED_INTERFACE_IMPLEMENT

//	アクセス用宣言
#define DEFINE_MANAGED_INTERFACE_ACCESS
#include "04WebServerManagedInterfaces.h"
#undef DEFINE_MANAGED_INTERFACE_ACCESS

//	全部定義終了
#define	DEFINE_04WEBSERVER_MANAGED_INTERFACES_END
#endif	//	再インクルード制限
#endif	//	再インクルード防止
