#include "StdAfx.h"
#include "CGIManager.h"

CCGIManager::CCGIManager(void)
{
}

CCGIManager::~CCGIManager(void)
{
	Stop();
}


///////////////////////////////////////////////////////////////////////////////
//	インタフェース
///////////////////////////////////////////////////////////////////////////////
/*!
	開始(throw CServerStartException)
*/
void CCGIManager::Start(CWorkspaceAccess setting)
{
	CWorkspaceAccess CGIEnvironment = setting.GetAccess(_T("CGIEnvironment"));

	//	同時実行CGIプロセス数
	m_maxCGIProcessCount = CGIEnvironment.GetKeyInt(_T("MaxCGIProcessCount"), 0);
}

/*!
	停止
*/
void CCGIManager::Stop()
{
}

/*!
	プロセス取得(throw CCGIProcessException)
*/
int CCGIManager::GetNewCGIProcess(CString commandLine, int cgiInterfaceType, int cgiProcessType, ICGIInterface **process)
{
	SCOPE_LOCK();

	//	CGI数取得
	if(m_maxCGIProcessCount != 0 && m_processList.GetSize() >= m_maxCGIProcessCount)
		return(CGI_NEW_PROCESS_ERROR_OVER_PROCESS);
}

/*!
	プロセス使用終了
*/
void CCGIManager::DeleteCGIProcess(ICGIInterface *process)
{
	SCOPE_LOCK();
}

