Пример #1
0
bool CZapitClient::receive_channel_list(BouquetChannelList& channels, const bool utf_encoded)
{
	CZapitMessages::responseGeneralInteger responseInteger;
	responseGetBouquetChannels             response;

	channels.clear();

	if (CBasicClient::receive_data((char* )&responseInteger, sizeof(responseInteger)))
	{
		channels.reserve(responseInteger.number);

		while (responseInteger.number-- > 0)
		{
			if (!CBasicClient::receive_data((char*)&response, sizeof(responseGetBouquetChannels)))
				return false;

			response.nr++;
			if (!utf_encoded)
			{
				strncpy(response.name, ZapitTools::UTF8_to_Latin1(response.name).c_str(), 30);
				response.name[29] = '\0';
			}
			channels.push_back(response);
		}
	}
	return true;
}
Пример #2
0
bool CZapitClient::receive_channel_list(BouquetChannelList& channels, const bool utf_encoded)
{
	CZapitMessages::responseGeneralInteger responseInteger;
	responseGetBouquetChannels             response;

	channels.clear();

	if (CBasicClient::receive_data((char* )&responseInteger, sizeof(responseInteger)))
	{
		channels.reserve(responseInteger.number);

		while (responseInteger.number-- > 0)
		{
			if (!CBasicClient::receive_data((char*)&response, sizeof(responseGetBouquetChannels)))
				return false;

			response.nr++;
			if (!utf_encoded)
			{
                                char buffer[CHANNEL_NAME_SIZE + 1];
                                buffer[CHANNEL_NAME_SIZE] = (char) 0x00;
                                strncpy(buffer, response.name, CHANNEL_NAME_SIZE);
                                strncpy(response.name, ZapitTools::UTF8_to_Latin1(buffer).c_str(), CHANNEL_NAME_SIZE);
			}
			channels.push_back(response);
		}
	}
	return true;
}