コード例 #1
0
void OuyaPlugin_asyncOuyaRequestProducts(const char* productsJson, s3eCallback onSuccess, s3eCallback onFailure, s3eCallback onCancel)
{
	IwTrace(ODK, ("ODK_platform: OuyaPlugin_asyncOuyaRequestProducts"));

	std::string msg = "OuyaPlugin_asyncOuyaRequestProducts: productsJson=";
	msg.append(productsJson);
	IwTrace(ODK, (msg.c_str()));

	//convert JSON to product id array

	// Parse example data
	JSONValue* value = JSON::Parse(productsJson);

	if (value == NULL)
	{
		IwTrace(ODK, ("Parsing JSON Failed"));
		return;
	}

	if (!value->IsArray())
	{
		IwTrace(ODK, ("Parsing JSON Failed: Not an array"));
		return;
	}

	// Retrieve the main object
	JSONArray data = value->AsArray();

	std::vector<std::string> productIds;

	for (unsigned int i = 0; i < data.size(); i++)
	{
		if (data[i]->IsString())
		{
			const std::wstring wstr = data[i]->AsString();

			std::string productId( wstr.begin(), wstr.end() );

			productIds.push_back(productId);
		}
	}

	OuyaSDK::CallbackSingleton::GetInstance()->m_callbacksRequestProducts->RegisterCallbacks(onSuccess, onFailure, onCancel);

	g_pluginOuya.AsyncOuyaRequestProducts(productIds);
}
コード例 #2
0
// **** INQUIRY ****
void TScsiClientInquiryResp::DecodeInquiry(const TDesC8& aPtr)
    {
	__MSFNSLOG
    iPeripheralInfo.iRemovable = (aPtr[1] & 0x80) ? ETrue : EFalse;

    iPeripheralInfo.iPeripheralQualifier = aPtr[0] >> 5;
    iPeripheralInfo.iPeripheralDeviceType = aPtr[0] & 0x1F;
    iPeripheralInfo.iVersion = aPtr[2];
    iPeripheralInfo.iResponseDataFormat = aPtr[3] & 0x0F;

    TPtrC8 vendorId(&aPtr[8], 8);
    iPeripheralInfo.iIdentification.iVendorId.Copy(vendorId);

    TPtrC8 productId(&aPtr[16], 16);
    iPeripheralInfo.iIdentification.iProductId.Copy(productId);

    TPtrC8 productRev(&aPtr[32], 4);
    iPeripheralInfo.iIdentification.iProductRev.Copy(productRev);
    }
コード例 #3
0
ファイル: usbdevice.cpp プロジェクト: MrKarimiD/framework
QString USBDevice::productIdString() const
{
    return QString("0x%1").arg(productId(), 4, 16, QChar('0'));
}