diff -r 594d59766373 -r 7d48bed6ce0c vmbx/vmbxcpplugin/inc/vmbxuiengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vmbx/vmbxcpplugin/inc/vmbxuiengine.h Tue Aug 31 15:45:17 2010 +0300 @@ -0,0 +1,188 @@ +/* + * Copyright (c) 2009 - 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: + * + */ +#ifndef VMBXUIENGINE_H +#define VMBXUIENGINE_H + +// System includes +#include +#include +#include + +// Forward declarations +class CVoiceMailbox; +class TVoiceMailboxParams; + +// Class declaration +class VmbxUiEngine : public QObject, public MVoiceMailboxObserver +{ + Q_OBJECT + +public: + + /*! + Constructor. + */ + VmbxUiEngine(); + + /*! + Destructor + */ + ~VmbxUiEngine(); + +public: + + /*! + Getter method for primary voice number of Voice Mailbox. + @param aValue Retrieved number. + */ + void getCsVoiceNumber(QString &aValue); + + /*! + Getter method for primary video number of Voice Mailbox. + @param aValue Retrieved number. + */ + void getCsVideoNumber(QString &aValue); + + /*! + Set number when cs voice number has been edited on UI. + @param aValue New value. + */ + void setCsVoiceNumber( const QString &aValue ); + + /*! + Set number when cs voice number has been edited on UI. + @param aValue New value. + */ + void setCsVideoNumber( const QString &aValue ); + + /*! + If video mailbox supported. + */ + bool isVideoSupport(); + + /*! + If voice mailbox is writable. + */ + bool isVoiceWritable(); + + /*! + If video mailbox is writable. + */ + bool isVideoWritable(); + + + // Add new Getter methods for other voice mailbox types + + /*! + From MVoiceMailboxObserver + Observer callback for number/address change notification + from voice mailbox engine. + The UI should be notified to update the number. + @param aVmbxEntry New voicemailbox entry. + */ + void HandleNotifyL(const CVoiceMailboxEntry &aVmbxEntry); + + /*! + Query number when cs voice number has been edited on UI. + @param aValue New value. + */ + int queryVoiceNumber(QString &aValue); + + /*! + Query number when cs video number has been edited on UI. + @param aValue New value. + */ + int queryVideoNumber(QString &aValue); + + /*! + Request notify when VMBX number changed + @param aNotifyOnActiveLineOnly Only active line or NOT + */ + void notifyVmbxNumberChange(bool aNotifyOnActiveLineOnly); + +signals: + + /*! + Signal emitted when voice mailbox data has been updated. + */ + void voiceMailboxEngineEntriesUpdated(const TVmbxType vmbxType); + + +private: // New Method + + /*! + Initialize vmbx ui engine. + */ + void init(); + + /*! + Getter method for primary voice number of Voice Mailbox. + @param aValue Retrieved number. + */ + void getCsVoicePrimaryNumber(QString &aValue); + + /*! + Getter method for primary video number of Voice Mailbox. + @param aValue Retrieved number. + */ + void getCsVideoPrimaryNumber(QString &aValue); + + /*! + Getter method for voice mailbox number. + @param aParam Identify voice mailbox type + @param aValue Retrieved number. + */ + void getNumber(const TVoiceMailboxParams &aParam, + QString &aValue); + + /*! + Setter method for voice mailbox number. + @param aParam Identify voice mailbox type + @param aValue Retrieved number. + */ + void setNumber(const TVoiceMailboxParams &aParam, + const QString &aValue); + + /*! + Query method for voice mailbox number. + @param aParam Identify voice mailbox type + @param aValue Retrieved number. + */ + int queryNumber(const TVoiceMailboxParams &aParam, QString &aValue); + + +private: + + /*! + Symbian voice mailbox engine which offers basic entry retrieval, + saving, querying etc. services. + Own. + */ + CVoiceMailbox *mVmbxEngine; + /*! + Cs voice number + */ + QString mCsVoiceNumber; + + /*! + Cs video number + */ + QString mCsVideoNumber; + +}; + +#endif // VMBXUIENGINE_H