Example #1
0
void getAvailableMimeTypesL(QStringList& result)
{
    RApaLsSession apaSession;
    User::LeaveIfError(apaSession.Connect());
    CleanupClosePushL(apaSession);

    static const TInt DataTypeArrayGranularity = 8;
    CDataTypeArray* array = new(ELeave) CDataTypeArray(DataTypeArrayGranularity);
    CleanupStack::PushL(array);

    apaSession.GetSupportedDataTypesL(*array);

    for (TInt i = 0; i < array->Count(); ++i) {
        const TPtrC mimeType = array->At(i).Des();
        const MediaType mediaType = Utils::mimeTypeToMediaType(mimeType);
        if (MediaTypeAudio == mediaType or MediaTypeVideo == mediaType) {
            result.append(qt_TDesC2QString(mimeType));
        }
    }

    CleanupStack::PopAndDestroy(2); // apaSession, array
}
Example #2
0
/**
Check if a certain datatype is known/recognized by apparc.

@param aApparcServer an open session to apparc
@param aDataType the datatype you want to test
@return ETrue if @c aDataType is one of those returned from RApaLsSession::GetSupportedDataTypesL
*/
TBool CT_ApsScanStep::DoRecognizeL(RApaLsSession& aApparcServer, const TDataType& aDataType)
	{
	TBool recognized = EFalse;
	
	CDataTypeArray* dataTypes=new(ELeave) CDataTypeArray(64);
	CleanupStack::PushL(dataTypes);
	aApparcServer.GetSupportedDataTypesL(*dataTypes);
	
	const TInt count = dataTypes->Count();
	for(TInt i=0; i<count; i++)
		{
		const TDataType& tmp = dataTypes->At(i);
		if(tmp == aDataType)
			{
			recognized = ETrue;
			break;
			}
		}
		
	CleanupStack::PopAndDestroy(dataTypes);
	return recognized;
	}