#include "vst_idle_clean.h"
#include "cdrivercard.h"
#include "cmallsystem.h"
VST_Idle_Clean::VST_Idle_Clean(int iID, const QString &sName,
                               VSM_Thread *pParent)
    :VST_Idle_Base(iID,sName,pParent)
{

}

void VST_Idle_Clean::do_Msg(const V_Msg& msg)
{
	switch(msg.m_iID)
	{
	case VarMsg_Driver_ID:
		{
			V_Msg msg1=msg;
			Q_ASSERT(msg1.m_vlInput.size()>=2);
			int iDriverID=msg1.m_vlInput.at(0).toInt();
			int iDriverMsgID=msg1.m_vlInput.at(1).toInt();
			msg1.m_vlInput.pop_front();
			msg1.m_vlInput.pop_front();
			CDriverCard* pDriverCard= GET_CARD(iDriverID,CDriverCard);
			Q_ASSERT(pDriverCard);
			pDriverCard->do_msg(iDriverMsgID,msg1.m_vlInput,msg1.m_pvlOutput);
			break;
		}
	default:
		break;
	}

	VST_Idle_Base::do_Msg(msg);
}

