Vzorovy kod pre ESuperCommonData

 
//collection -> EDataCollection prisla niekde zo vstupu, jeden z moznych sposobov pouzitia
 
ESuperCommonData	*data = (ESuperCommonData*)collection->GetClassByType(TYPE_SUPER_COMMON_DATA);
unsigned long		count = data->GetCommonObjectsCount();
EAbstractCardData 	*tmpData = NULL;
 
for(int i = 0;i < count;i++)
{
	switch(data->GetDataByIdx(i)->WhoIAm())
	{
	case TYPE_COMMON_DATA:
		tmpData = superData->GetDataByIdx(i);
		// kod kde spracujete data
		break;
	case TYPE_IDS_CUSTOMER_PROFILE:
		tmpData = superData->GetDataByIdx(i);
		// kod kde spracujete data
		break;
	case TYPE_IDOL_CARD_PUBLISHER:
		tmpData = superData->GetDataByIdx(i);
		// kod kde spracujete data
		break;
	default:
		AddLog("Unknown common type %d",superData->GetDataByIdx(i)->WhoIAm());
		break;
	}
}

alebo

 
//data -> ESuperCommonData objekt ktory mam z kolekcie
 
EAbstractCardData 	*tmpData = data->GetDataByType(TYPE_COMMON_DATA);
 
if (tmpData != NULL)
{
	//emtest stara vetva, vsetky doteraz implementovane karty
}
else
{
	tmpData = data->GetDataByType(TYPE_IDOL_CARD_PUBLISHER);
	if (tmpData)
	{
		//osetrenie IDOL karty potrebujeme este TYPE_IDS_CUSTOMER_PROFILE
		tmpData = data->GetDataByType(TYPE_IDS_CUSTOMER_PROFILE);
	}
	else// moze to byt este ina karta napr IDS Pardubice
	{
		tmpData = data->GetDataByType(TYPE_IDS_CUSTOMER_PROFILE);
		//osetrenie IDS Pardubice
	}
	// ak sa nenajde ziadny objekt z definovanych typov => ina karta doteraz neimplementovana
	if (tmpData == NULL)
		return error;
}
 
howto/esupercommondata.txt · Last modified: 2009/01/22 17:10 by 192.168.10.113
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki