QStringList CDispToDispResponseCommand::GetParams()
{
	CVmEventParameter *pParam = m_pProtoPackage->getEventParameter(EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_PARAMS_LIST);
	if (pParam && pParam->isList())
		return (pParam->getValuesList());
	return (QStringList());
}
bool CDispToDispResponseCommand::IsValid()
{
	CVmEventParameter *pParam = m_pProtoPackage->getEventParameter(EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_PARAMS_LIST);
	return (pParam && pParam->isList()
		&& CheckWhetherParamPresents(EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_ERROR_INFO, PVE::String)
		&& CheckWhetherParamPresents(EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_REQUEST_ID, PVE::UnsignedInt));
}
void CDispToDispResponseCommand::AddParam(const QString &sParamValue)
{
	CVmEventParameter *pParam = m_pProtoPackage->getEventParameter(EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_PARAMS_LIST);
	if (pParam && pParam->isList())
	{
		QStringList lst = pParam->getValuesList()<<sParamValue;

		m_pProtoPackage->m_lstEventParameters.removeAll(pParam);
		delete pParam;

		SetStringListParamValue( lst, EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_PARAMS_LIST);
	}
	// FIXME to sandro: ??? WHAT DO NOTHING WHEN pParam does not exists ?
}
void CDispToDispProtoSerializerTest::testCreateDispToDispResponseCommand2()
{
	RESPONSE_CMD_PARAMS_DECLARE
	CDispToDispCommandPtr pCmd =
		CDispToDispProtoSerializer::CreateDispToDispResponseCommand(
			nRequestCmdId,
			nRetCode
		);
	QVERIFY(pCmd->IsValid());
	SmartPtr<CVmEvent> pEvent = pCmd->GetCommand();
	CHECK_EVENT_PARAMETER(pEvent, EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_ERROR_INFO, PVE::String,\
		QString(""))
	CHECK_EVENT_PARAMETER(pEvent, EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_REQUEST_ID, PVE::UnsignedInt,\
		QString("%1").arg(nRequestCmdId))
	CVmEventParameter *pParam = pEvent->getEventParameter(EVT_PARAM_DISP_TO_DISP_RESPONSE_CMD_PARAMS_LIST);
	QVERIFY(pParam && pParam->isList());
}