--- a/qtinternetradio/irqstationexporter/src/irqstationexporter.cpp Mon May 03 12:25:23 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: class declaration for sharing stations
-*
-*/
-
-
-#include <CMessageData.h>
-#include <sendui.h>
-#include <SendUiConsts.h>
-#include <eikenv.h>
-#include <txtrich.h>
-#include <QTextStream>
-#include <QFile>
-#include <QCoreApplication>
-
-#include "irqstationexporter.h"
-#include "irqisdsdatastructure.h"
-
-const char KPlsFilePath[] = "c:\\data\\share.pls";
-const char KPlsFileHeading[] = "[playlist]";
-const char KPlsFileEntryNum[] = "NumberOfEntries";
-const char KPlsFileEnding[] = "Version=2";
-const char KPlsEntryElementFile[] = "File";
-const char KPlsEntryElementTitle[] = "Title";
-const char KPlsEntryElementLength[] = "Length";
-const char KPlsIndefiniteLength[] = "-1";
-
-static void constructPlsElement( QTextStream &aOutput,
- const IRQPreset &aPreset,
- int &aStationIndexBase);
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C IRQStationExporter::IRQStationExporter()
- : iPlsFilePath(KPlsFilePath)
-{
-}
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C IRQStationExporter::~IRQStationExporter()
-{
-}
-
-// ---------------------------------------------------------------------------
-// sendViaMms
-// NOTE : MUST ensure no changes to all the elements in the list,
-// so, can ONLY access element via const_iterator
-// ---------------------------------------------------------------------------
-//
-EXPORT_C bool IRQStationExporter::sendViaMms(const QList<IRQPreset*> &aPresetList, const QString& aMsg)
-{
- if(!constructPlsFile(aPresetList))
- {
- return false;
- }
-
- TRAPD(err,sendViaMmsL(aMsg));
- return KErrNone == err;
-}
-
-EXPORT_C bool IRQStationExporter::sendViaMms(const IRQPreset &aPreset, const QString& aMsg)
-{
- if(!constructPlsFile(aPreset))
- {
- return false;
- }
-
- TRAPD(err,sendViaMmsL(aMsg));
- return KErrNone == err;
-}
-
-void IRQStationExporter::sendViaMmsL(const QString& aMsg)
-{
- CMessageData* messageData = CMessageData::NewLC();
-
- TPtrC plsFilePath(reinterpret_cast<const TUint16*>(iPlsFilePath.utf16()));
- messageData->AppendAttachmentL(plsFilePath);
-
- CEikonEnv* eikonEnv = CEikonEnv::Static();
- CRichText* text =
- CRichText::NewL( eikonEnv->SystemParaFormatLayerL(),
- eikonEnv->SystemCharFormatLayerL() );
- CleanupStack::PushL(text);
-
- QString shareMsgContentStr(aMsg);
- TPtrC16 shareMsgContentDesc(reinterpret_cast<const TUint16*>(shareMsgContentStr.utf16()));
-
- text->InsertL(0, shareMsgContentDesc);
- messageData->SetBodyTextL( text );
- CleanupStack::PopAndDestroy(text);
-
- CSendUi* sendUi = CSendUi::NewL();
- CleanupStack::PushL(sendUi);
- sendUi->CreateAndSendMessageL(KSenduiMtmUniMessageUid,messageData);
- CleanupStack::PopAndDestroy(sendUi);
-
- CleanupStack::PopAndDestroy( messageData );
-}
-
-// ---------------------------------------------------------------------------
-// constructPlsFile
-// NOTE : MUST ensure no changes to all the elements in the list,
-// so, can ONLY access element via const_iterator
-// ---------------------------------------------------------------------------
-//
-bool IRQStationExporter::constructPlsFile(const QList<IRQPreset*> &aPresetList)
-{
- if(0 == aPresetList.count())
- {
- return false;
- }
-
- QFile plsFile(iPlsFilePath);
- if( !plsFile.open(QIODevice::ReadWrite | QIODevice::Truncate) )
- {
- return false;
- }
- QTextStream outputStream( &plsFile );
- outputStream<<KPlsFileHeading<<endl;
-
- int entryNum = 0;
- for (QList<IRQPreset*>::const_iterator it = aPresetList.begin(); it != aPresetList.end(); ++it)
- {
- entryNum += (*it)->getChannelURLCount();
- }
- QString totalEntry;
- totalEntry.setNum(entryNum);
- outputStream<<KPlsFileEntryNum<<"="<<totalEntry<<endl;
-
- int stationIndexBase = 1;
- for (QList<IRQPreset*>::const_iterator it = aPresetList.begin(); it != aPresetList.end(); ++it)
- {
- constructPlsElement(outputStream,*(*it),stationIndexBase);
- }
-
- outputStream<<KPlsFileEnding;
- plsFile.close();
- return true;
-}
-
-bool IRQStationExporter::constructPlsFile(const IRQPreset &aPreset)
-{
- QFile plsFile(iPlsFilePath);
- if( !plsFile.open(QIODevice::ReadWrite | QIODevice::Truncate) )
- {
- return false;
- }
- QTextStream outputStream( &plsFile );
- outputStream<<KPlsFileHeading<<endl;
-
- QString totalEntry;
- totalEntry.setNum(aPreset.getChannelURLCount());
- outputStream<<KPlsFileEntryNum<<"="<<totalEntry<<endl;
-
- int stationIndexBase = 1;
- constructPlsElement(outputStream,aPreset,stationIndexBase);
-
- outputStream<<KPlsFileEnding;
- plsFile.close();
- return true;
-}
-
-static void constructPlsElement( QTextStream &aOutput,
- const IRQPreset &aPreset,
- int &aStationIndexBase)
-{
- QList<int> bitrateList;
- aPreset.getAvailableBitrates(bitrateList);
-
- int urlIndex = 1;
- QString stationName;
- QList<QString> *urlList = NULL;
-
- for( int i=0; i<bitrateList.count(); i++ )
- {
- urlList = aPreset.getURLsForBitrate(bitrateList.at(i));
- for( int j=0; j<urlList->count(); j++ )
- {
- QString stationUrl = urlList->at(j);
-
- if( aPreset.getChannelURLCount() <= 1 )
- {
- stationName = aPreset.name;
- }
- else
- {
- QString stationUrlIndex;
- stationUrlIndex.setNum(urlIndex);
- stationName = aPreset.name + " #[" + stationUrlIndex + "]";
- }
-
- QString stationIndex;
- stationIndex.setNum(aStationIndexBase);
- aOutput<<KPlsEntryElementFile<<aStationIndexBase
- <<"="<<stationUrl<<endl;
- aOutput<<KPlsEntryElementTitle<<aStationIndexBase
- <<"="<<stationName<<endl;
- aOutput<<KPlsEntryElementLength<<aStationIndexBase
- <<"="<<KPlsIndefiniteLength<<endl;
-
- urlIndex++;
- aStationIndexBase++;
- }
-
- delete urlList;
- }
-}
-
-
-