radioapp/radiopresetstorage/src/radiopresetstorage_win32.cpp
branchRCL_3
changeset 46 93c594350b9a
parent 45 cce62ebc198e
child 52 5a31ddd3bfd9
--- a/radioapp/radiopresetstorage/src/radiopresetstorage_win32.cpp	Tue Aug 31 15:15:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
-// System includes
-#include <QString>
-#include <QSettings>
-#include <QDataStream>
-
-// User includes
-#include "radiopresetstorage.h"
-#include "radiopresetstorage_win32_p.h"
-#include "radiostationif.h"
-
-const QString KKeyBookKeeping = "BookKeeping";
-const QString KKeyBase = "Preset-";
-
-/*!
- *
- */
-static QString makeKey( int index ) {
-    QString key = KKeyBase;
-    key.append( index );
-    return key;
-}
-
-/*!
- *
- */
-Preset::Preset() :
-    mFrequency( 0 ),
-    mRenamedByUser( false ),
-    mGenre( -1 ),
-    mPiCode( -1 ),
-    mFavorite( false ),
-    mLocalStation( false )
-{
-}
-
-/*!
- *
- */
-Preset::~Preset()
-{
-}
-
-/*!
- *
- */
-void Preset::externalize( QDataStream& outStream )
-{
-    outStream << mFrequency;
-    outStream << mName;
-    outStream << mRenamedByUser;
-    outStream << mGenre;
-    outStream << mUrl;
-    outStream << mPiCode;
-    outStream << mFavorite;
-    outStream << mLocalStation;
-}
-
-/*!
- *
- */
-void Preset::internalize( QDataStream& inStream )
-{
-    inStream >> mFrequency;
-    inStream >> mName;
-    inStream >> mRenamedByUser;
-    inStream >> mGenre;
-    inStream >> mUrl;
-    inStream >> mPiCode;
-    inStream >> mFavorite;
-    inStream >> mLocalStation;
-}
-
-/*!
- *
- */
-RadioPresetStorage::RadioPresetStorage() :
-    d_ptr( new RadioPresetStoragePrivate() )
-{
-    Q_D( RadioPresetStorage );
-    d->init();
-}
-
-/*!
- *
- */
-RadioPresetStorage::~RadioPresetStorage()
-{
-}
-
-/*!
- *
- */
-int RadioPresetStorage::maxNumberOfPresets() const
-{
-    return 100;
-}
-
-/*!
- *
- */
-int RadioPresetStorage::presetCount() const
-{
-    Q_D( const RadioPresetStorage );
-    return d->mBookKeeping.count();
-}
-
-/*!
- *
- */
-int RadioPresetStorage::firstPreset() const
-{
-    Q_D( const RadioPresetStorage );
-    if ( d->mBookKeeping.count() > 0 ) {
-        return d->mBookKeeping.at( 0 );
-    }
-    return -1;
-}
-
-/*!
- *
- */
-int RadioPresetStorage::nextPreset( int fromIndex ) const
-{
-    Q_D( const RadioPresetStorage );
-    int index = d->mBookKeeping.indexOf( fromIndex ) + 1;
-    if ( index > 0 && index < d->mBookKeeping.count() ) {
-        return d->mBookKeeping.at( index );
-    }
-    return -1;
-}
-
-/*!
- *
- */
-bool RadioPresetStorage::deletePreset( int presetIndex )
-{
-    Q_D( RadioPresetStorage );
-    if ( presetIndex > -1 ) {
-        int index = d->mBookKeeping.indexOf( presetIndex );
-        if ( index > -1 ) {
-            d->mBookKeeping.remove( index, 1 );
-            d->mSettings->remove( makeKey( presetIndex ) );
-            d->removeIndex( presetIndex );
-            return true;
-        }
-    } else if ( presetIndex == -1 ) {
-        for ( int i = d->mBookKeeping.count() - 1; i >= 0; --i ) {
-            d->mSettings->remove( makeKey( d->mBookKeeping.at( i ) ) );
-        }
-        d->mBookKeeping.clear();
-        return true;
-    }
-    return false;
-}
-
-/*!
- *
- */
-bool RadioPresetStorage::savePreset( const RadioStationIf& station )
-{
-    Preset preset;
-    preset.mFrequency = station.frequency();
-    preset.mName = station.name();
-    preset.mRenamedByUser = station.isRenamedByUser()   ;
-    preset.mGenre = station.genre();
-    preset.mUrl = station.url();
-    preset.mPiCode = station.piCode();
-    preset.mFavorite = station.isFavorite();
-    preset.mLocalStation = station.isLocalStation();
-
-    QByteArray array;
-    QDataStream outStream( &array, QIODevice::WriteOnly );
-    preset.externalize( outStream );
-
-    Q_D( RadioPresetStorage );
-    d->mSettings->setValue( makeKey( station.presetIndex() ), array );
-
-    d->addIndex( station.presetIndex() );
-
-    return true;
-}
-
-/*!
- *
- */
-bool RadioPresetStorage::readPreset( int index, RadioStationIf& station )
-{
-    Q_D( RadioPresetStorage );
-    QByteArray array = d->mSettings->value( makeKey( index ) ).toByteArray();
-    if ( !array.isEmpty() ) {
-        Preset preset;
-
-        QDataStream inStream( array );
-        preset.internalize( inStream );
-
-        station.setPresetIndex( index );
-        station.setFrequency( preset.mFrequency );
-        station.setName( preset.mName );
-        station.setRenamedByUser( preset.mRenamedByUser );
-        station.setGenre( preset.mGenre );
-        station.setUrl( preset.mUrl );
-        station.setPiCode( preset.mPiCode );
-        station.setFavorite( preset.mFavorite );
-        station.setLocalStation( preset.mLocalStation );
-
-        return true;
-    }
-    return false;
-}
-
-/*!
- *
- */
-RadioPresetStoragePrivate::RadioPresetStoragePrivate()
-{
-}
-
-/*!
- *
- */
-RadioPresetStoragePrivate::~RadioPresetStoragePrivate()
-{
-}
-
-/*!
- *
- */
-bool RadioPresetStoragePrivate::init()
-{
-    mSettings.reset( new QSettings( "Nokia", "QtFmRadio" ) );
-    readBookKeeping();
-    return true;
-}
-
-/*!
- *
- */
-void RadioPresetStoragePrivate::readBookKeeping()
-{
-    QVariant value = mSettings->value( KKeyBookKeeping );
-    if ( value.isValid() ) {
-        mBookKeeping = value.toByteArray();
-    }
-}
-
-/*!
- *
- */
-void RadioPresetStoragePrivate::saveBookKeeping()
-{
-    mSettings->setValue( KKeyBookKeeping, mBookKeeping );
-}
-
-/*!
- *
- */
-void RadioPresetStoragePrivate::removeIndex( int index )
-{
-    int pos = mBookKeeping.indexOf( index );
-    if ( pos > -1 ) {
-        mBookKeeping.remove( pos, 1 );
-        saveBookKeeping();
-    }
-}
-
-/*!
- *
- */
-void RadioPresetStoragePrivate::addIndex( int index )
-{
-    int pos = mBookKeeping.indexOf( index );
-    if ( pos == -1 ) {
-        mBookKeeping.append( index );
-        saveBookKeeping();
-    }
-}