diff -r fa1df4b99609 -r ebe688cedc25 messagingapp/msgui/msgaudiofetcher/inc/msgaudiofetchermodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgui/msgaudiofetcher/inc/msgaudiofetchermodel.h Tue Aug 31 15:11:31 2010 +0300 @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2010 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: + * The header file for messaging's audio fetcher model + * + */ + +#ifndef MSGAUDIOFETCHERMODEL_H +#define MSGAUDIOFETCHERMODEL_H + +// SYSTEM INCLUDES +#include +#include +#include + +// FORWARD DECLARATIONS +class MsgAudioSelectionEngine; + +/** + * @class MsgAudioFetcherModel + * @brief This class is messaging's audio fetcher model + */ +class MsgAudioFetcherModel : public QStandardItemModel +{ +Q_OBJECT + +public: + /** + * Constructor + */ + explicit MsgAudioFetcherModel(QObject *parent); + + /** + * Destructor + */ + virtual ~MsgAudioFetcherModel(); + + /** + * Clears model + */ + void clearAll(); + + /** + * adds a row into the model + */ + void addRow(QString filepath); + +public: //from QAbstractItemModel + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + +private: + /** + * binary search (ascendant) for the correct index to insert. + * @param low the start of search + * @param high the end of search. + * @return the correct index + */ + int insertIndex(int low, int high, QString variant); + + /** + * Add audio files into the model + * @param toneDir, Dir from which to get audio files to add to model + */ + void addToneFiles(QDir& toneDir); + + /** + * Finds and adds audio files into the model + */ + void getRomToneFiles(); + + /** + * Initialize the model + */ + void init(); + + /** + * checks if the given file is DRM protected + * @param filepath, path of audio file + */ + bool isDRM(QString filepath); + +private slots: + /** + * Handle MDS session open + */ + void mdeSessionOpened(); + + /** + * Handle MDS session open error + */ + void mdeSessionError(int error); + + /** + * Handle MDS query complete + */ + void queryComplete(const QStringList &nameList, + const QStringList &uriList); + + /** + * Handle MDS query error + */ + void queryError(int error); + + /** + * Handle object observer callback + */ + void onObjectChanged(); + +private: + /** + * audio selection engine + */ + MsgAudioSelectionEngine* mSelectionEngine; +}; + +#endif /* MsgAudioFetcherModel_H_ */