#pragma once
#ifndef __SHUTDOWMANAGER_H__
#define __SHUTDOWMANAGER_H__


class CShutdowManager
{
public:

	static CShutdowManager* G_CShutdowManager()
	{
		return CallT<CShutdowManager*>(base::CShutdowManager::GetInstanceShutdowManager);
	}

	CShutdowManager()
	{
		CallT<int>(base::CShutdowManager::CShutdowManager_make, this);
	}

	int EnableShutdown(bool a2)
	{
		return CallT<int>(base::CShutdowManager::EnableShutdown, this, a2);
	}

	int GetLastMsgCount()
	{
		return CallT<int>(base::CShutdowManager::GetLastMsgCount, this);
	}

	int GetLastMsgResponseCount()
	{
		return CallT<int>(base::CShutdowManager::GetLastMsgResponseCount, this);
	}

	int IncrementLastMsgResponseCount()
	{
		return CallT<int>(base::CShutdowManager::IncrementLastMsgResponseCount, this);
	}

	int OnAllUserLogout()
	{
		return CallT<int>(base::CShutdowManager::OnAllUserLogout, this);
	}

	int Reset()
	{
		return CallT<int>(base::CShutdowManager::Reset, this);
	}

	int SendLastMsgDBQueue(CUser* a2)
	{
		return CallT<int>(base::CShutdowManager::SendLastMsgDBQueue, this, a2);
	}

	//·¢ËÍ¹Ø»úÐÅºÅ
	int SendShutdownSignal()
	{
		return CallT<int>(base::CShutdowManager::SendShutdownSignal, this);
	}

	int WaitUntilExitThread()
	{
		return CallT<int>(base::CShutdowManager::WaitUntilExitThread, this);
	}



};


#endif // __SHUTDOWMANAGER_H__

