diff -r 4697dfb2d7ad -r 238255e8b033 messagingapp/msgsettings/msgsettingsmw/src/msgsettingengine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgsettings/msgsettingsmw/src/msgsettingengine.cpp Fri Apr 16 14:56:15 2010 +0300 @@ -0,0 +1,531 @@ +/* + * 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:This class provides API m/w for msg settings plugin + * + */ + +#include "qstringlist.h" +#include "debugtraces.h" + + +#include "msgsettingengine.h" +#include "smssettingsprivate.h" +#include "mmssettingprivate.h" +#include "s60qconversions.h" + +//Constructor +MsgSettingEngine::MsgSettingEngine() +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "Enter MsgSettingEngine::MsgSettingEngine"; +#endif + + + dptr_smsSettings = SmsSettingsPrivate::NewL(); + dptr_mmsSettings = MmsSettingsPrivate::NewL(); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit MsgSettingEngine::MsgSettingEngine"; +#endif + +} + +//Destructor +MsgSettingEngine::~MsgSettingEngine() +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "Enter MsgSettingEngine::~MsgSettingEngine"; +#endif + + + delete dptr_smsSettings; + delete dptr_mmsSettings; + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit MsgSettingEngine::~MsgSettingEngine"; +#endif + +} + +/** + * for basic message settings + * set the deliver report + * @param report bool true or false + */ +void MsgSettingEngine::setDeliveryReport(bool report) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setDeliveryReport" << report; +#endif + + + dptr_smsSettings->setDeliveryReport(report); + dptr_mmsSettings->setDeliveryReport(report); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit MsgSettingEngine::setDeliveryReport"; +#endif + +} + +/** + * set the character encoding + * @param encoding specifying encoding type + */ +void MsgSettingEngine::setCharacterEncoding(MsgSettingEngine::CharacterEncoding encoding) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setCharacterEncoding: " << encoding; +#endif + + + TBool flag = EFalse; + + if (encoding == MsgSettingEngine::FullSupport) + { + flag = ETrue; + } + dptr_smsSettings->setCharacterEncoding(flag); + dptr_mmsSettings->setCharacterEncoding(flag); + +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setCharacterEncoding"; +#endif + +} + +/** + * returns settings delivery report status + * and character encoding + * @param report for getting status report + * @param encoding for char encoding + */ +void MsgSettingEngine::settingsDeliverReportAndCharEncoding( bool& report, + MsgSettingEngine::CharacterEncoding& encoding ) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "Enter MsgSettingEngine::settingsDeliverReportAndCharEncoding"; +#endif + + + TBool encodingStatus1; + TBool encodingStatus2; + TBool report1; + TBool report2; + + dptr_smsSettings->settingsDeliverReportAndCharEncoding(report1, + encodingStatus1); + + dptr_mmsSettings->settingsDeliverReportAndCharEncoding(report2, + encodingStatus2); + + report = report1 && report2; + + encoding = MsgSettingEngine::ReducedSupport; + if (encodingStatus1 && encodingStatus2) + { + encoding = MsgSettingEngine::FullSupport; + } + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit settingsDeliverReportAndCharEncoding: " << report << " " + << encoding; +#endif + +} + +/** + * for advanced settings + * set the creation mode + * @mode for creation mode + */ +void MsgSettingEngine::setMMSCreationmode(MsgSettingEngine::MmsCreationMode mode) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setMMSCreationmode " << mode; +#endif + + + dptr_mmsSettings->setMMSCreationmode(mode); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setMMSCreationmode"; +#endif + +} + +/** + * set the mms retrieval mode + * @param retrieval specifying mode + */ +void MsgSettingEngine::setMMSRetrieval(MsgSettingEngine::MmsRetrieval retrieval) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setMMSRetrieval " << retrieval; +#endif + + + dptr_mmsSettings->setMMSRetrieval(retrieval); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setMMSRetrieval"; +#endif + +} + +/** + * set the anonymous message + * @param status true or false + */ +void MsgSettingEngine::setAnonymousMessages(bool status) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setAnonymousMessages " << status; +#endif + + + dptr_mmsSettings->setAnonymousMessages(status); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setAnonymousMessages"; +#endif + +} + +/** + * set for receiving MMS Adverts + * @param status for true or false + */ +void MsgSettingEngine::setReceiveMMSAdverts(bool status) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setReceiveMMSAdverts " << status; +#endif + + + dptr_mmsSettings->setReceiveMMSAdverts(status); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setReceiveMMSAdverts"; +#endif + +} + +/** + * for view 2 mms advance settings\ +* get all the fields of mms advance setting + * @param mode return for MMsCreation mode + * @param retrieval return for mms retrieval + * @param anonymous return status true or false + * @param mmsadverts return status true or false + */ +void MsgSettingEngine::advanceMmsSettings(MsgSettingEngine::MmsCreationMode& mode, + MsgSettingEngine::MmsRetrieval& retrieval, + bool& anonymousStatus, + bool& mmsAdvertsStatus) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setReceiveMMSAdverts"; +#endif + + + TBool anonymous_Status; + TBool mmsAdverts_Status; + dptr_mmsSettings->advanceMmsSettings(mode, + retrieval, + anonymous_Status, + mmsAdverts_Status); + + anonymousStatus = (bool) anonymous_Status; + mmsAdvertsStatus = (bool) mmsAdverts_Status; + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setReceiveMMSAdverts " << mode << " " << retrieval << " " + << anonymousStatus << " " << mmsAdvertsStatus; +#endif + +} + +/** + * get all the MMs access points + * @param returns all the access point names + * @attention to be displayed as per the index o to total count + */ +void MsgSettingEngine::allMMsAcessPoints(QStringList& nameList, + int& defaultIndex) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::allMMsAcessPoints"; +#endif + + + RPointerArray accessPoints; + //= new(ELeave)RPointerArray(); + + dptr_mmsSettings->getAllAccessPoints(accessPoints, defaultIndex); + + for (int i = 0; i < accessPoints.Count(); i++) + { + HBufC* name = static_cast (accessPoints[i]); + QString qName = S60QConversions::s60DescToQString(name->Des()); + nameList.append(qName); +#ifdef _DEBUG_TRACES_ + qDebug() << "\n " << qName; +#endif + + } + accessPoints.ResetAndDestroy(); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit allMMsAcessPoints count = " << nameList.count() + << " Default:" << defaultIndex; +#endif + +} + +/** + * set the default access point + * @param index specifying the index + */ +void MsgSettingEngine::setMMSAccesspoint(int index) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setMMSAccesspoint " << index; +#endif + + + dptr_mmsSettings->setMMSAccesspoint(index); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setMMSAccesspoint "; +#endif + +} + +/** + * get the list of all SMS Message Centres + * @param list of all names QString + */ +void MsgSettingEngine::allSMSMessageCenter(QStringList& nameList, + int& defaultIndex) +{ + +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::allSMSMessageCenter"; +#endif + + + RPointerArray accessPoints; + + dptr_smsSettings->getAllSMSMessageCenter(accessPoints, defaultIndex); + + for (int i = 0; i < accessPoints.Count(); i++) + { + HBufC* name = accessPoints[i]; + QString qName = S60QConversions::s60DescToQString(name->Des()); + nameList.append(qName); +#ifdef _DEBUG_TRACES_ + qDebug() << "\n qName"; +#endif + + } + accessPoints.ResetAndDestroy(); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit allSMSMessageCenter count = " << nameList.count() + << " Default:" << defaultIndex; +#endif + +} + +/** + * set the default SMS message centre + * @param index specifying default index + */ +void MsgSettingEngine::setSMSMessageCenter(int index) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setSMSMessageCenter " << index; +#endif + + + dptr_smsSettings->setSMSMessageCenter(index); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setSMSMessageCenter "; +#endif + +} + +/** + * for editing the SMS messafe Centre + * @param name specifying center name + * @param number specifying center number + * @param index specying index of message list + */ +void MsgSettingEngine::editSmsMessageCenter(QString& centreName, + QString& centreNumber, int index) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::editSmsMessageCenter " << index << " " + << centreName << " " << centreNumber; +#endif + + HBufC* d_addr = S60QConversions::qStringToS60Desc(centreNumber); + HBufC* d_name = S60QConversions::qStringToS60Desc(centreName); + + dptr_smsSettings->editSMSServiceCentre(d_addr, d_name, index); + delete d_addr; + delete d_name; + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit editSmsMessageCenter "; +#endif + +} + +/** + * for add new sms message centre + * @param name specifying center name + * @param number specifying center number + */ +void MsgSettingEngine::addSmsMessageCenter(QString& centreName, + QString& centreNumber) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::addSmsMessageCenter " << centreName << " " + << centreNumber; +#endif + + + HBufC* d_addr = S60QConversions::qStringToS60Desc(centreNumber); + HBufC* d_name = S60QConversions::qStringToS60Desc(centreName); + + dptr_smsSettings->addSmsMessageCenter(d_addr, d_name); + delete d_addr; + delete d_name; + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit addSmsMessageCenter "; +#endif + +} + +/** + * get the sms message centre namd and number + * @index for which center needs + * @param return name specifying center name + * @param return number specifying center number + */ +void MsgSettingEngine::smsCenterNameAndNumber(int index, QString& centreName, + QString& centreNumber) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::smsCenterNameAndNumber " << index; +#endif + + + HBufC* d_addr; + HBufC* d_name; + + dptr_smsSettings->smsCenterNameAndNumber(index, &d_addr, &d_name); + + centreNumber = S60QConversions::s60DescToQString(d_addr->Des()); + centreName = S60QConversions::s60DescToQString(d_name->Des()); + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit smsCenterNameAndNumber " << centreNumber << " " + << centreName; +#endif + +} + +/** + * set the Sms Email gateway + * @param gateway string + */ +void MsgSettingEngine::setEmailGateway(QString& gateway) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setEmailGateway " << gateway; +#endif + + + HBufC* d_gateway = S60QConversions::qStringToS60Desc(gateway); + + dptr_smsSettings->setEmailGateway(d_gateway); + delete d_gateway; + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setEmailGateway "; +#endif + +} + +/** + * set the sms Email Service centre number + * @param centre number + */ +void MsgSettingEngine::setEmailSeriveCenterNumber(QString& centerNumber) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::setEmailSeriveCenterNumber " << centerNumber; + +#endif + + HBufC* d_number = S60QConversions::qStringToS60Desc(centerNumber); + + dptr_smsSettings->setEmailSeriveCenterNumber(d_number); + delete d_number; + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit setEmailSeriveCenterNumber "; +#endif + +} + +/** + * get the sms email gateway and + * service centre number + * @param gateway return email gateway + * @param centreNumber return service number + */ +void MsgSettingEngine::emailEmailGatewayAndServiceCenterNumber(QString& gateway, + QString& serviceNumber) +{ +#ifdef _DEBUG_TRACES_ + qDebug() << "MsgSettingEngine::emailEmailGatewayAndServiceCenterNumber"; +#endif + + + HBufC* d_gateway; + HBufC* d_number; + + dptr_smsSettings->emailEmailGatewayAndServiceCenterNumber(&d_gateway, + &d_number); + + gateway = S60QConversions::s60DescToQString(d_gateway->Des()); + serviceNumber = S60QConversions::s60DescToQString(d_number->Des()); + + delete d_gateway; + delete d_number; + +#ifdef _DEBUG_TRACES_ + qDebug() << "Exit smsCenterNameAndNumber " << gateway << " " + << serviceNumber; +#endif + +} +//eof +