diff -r 594d59766373 -r 7d48bed6ce0c phonesrv_plat/phone_settings_api/inc/psetcallbarringwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/phone_settings_api/inc/psetcallbarringwrapper.h Tue Aug 31 15:45:17 2010 +0300 @@ -0,0 +1,191 @@ +/* + * 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: + * + */ + +#ifndef PSETCALLBARRINGGWRAPPER_H +#define PSETCALLBARRINGGWRAPPER_H + +#include +#include + +// Forward declarations +class CPsetContainer; +class PSetCallBarringWrapperPrivate; + +#ifdef BUILD_PSETWRAPPER +#define PSETWRAPPER_EXPORT Q_DECL_EXPORT +#else +#define PSETWRAPPER_EXPORT Q_DECL_IMPORT +#endif + +class PSETWRAPPER_EXPORT PSetCallBarringWrapper : public QObject +{ + Q_OBJECT + +public: + + /** barring types */ + enum BarringType + { + BarringTypeAllBarrings = 0x0001, + BarringTypeAllOutgoing = 0x0002, + BarringTypeOutgoingInternational = 0x0004, + BarringTypeOutgoingInternationalExceptToHomeCountry = 0x0008, + BarringTypeAllIncoming = 0x0010, + BarringTypeIncomingWhenRoaming = 0x0020, + BarringTypeAllServices, + BarringTypeAllOutgoingServices, + BarringTypeAllIncomingServices + }; + + /** barring status */ + enum BarringStatus + { + BarringStatusUnknown, + BarringStatusActive, + BarringStatusInactive, + BarringStatusNotProvisioned, + BarringStatusUnavailable + }; + + /** barring error */ + enum BarringError + { + BarringErrorNone + }; + +public: + + explicit PSetCallBarringWrapper( + CPsetContainer &psetContainer, + QObject *parent = NULL); + + ~PSetCallBarringWrapper(); + + /** + * Checks the barring status from network. Result is signaled with + * barringStatusRequestCompleted. + * + * @param serviceGroup Service group concerned. + * @param barringType Barring type. + */ + void barringStatus( + PsServiceGroup serviceGroup, + BarringType barringType); + + /** + * Enables specified barring. Result is signaled with + * enableBarringRequestCompleted. + * + * @param serviceGroup Service group concerned. + * @param barringType Barring type. + * @param barringPassword Barring password. + */ + void enableBarring( + PsServiceGroup serviceGroup, + BarringType barringType, + QString barringPassword); + + /** + * Disables specified barring. Result is signaled with + * disableBarringRequestCompleted. + * + * @param serviceGroup Service group concerned. + * @param barringType Barring type. + * @param barringPassword Barring password. + */ + void disableBarring( + PsServiceGroup serviceGroup, + BarringType barringType, + QString barringPassword); + + /** + * Changes barring password. Maximum password length is 10. + * + * @param oldPassword Old barring password. + * @param newPassword New barring password. + * @param verifiedPassword New password verified. + */ + void changeBarringPassword( + const QString &oldPassword, + const QString &newPassword, + const QString &verifiedPassword); + +signals: + + /** + * This signal is emitted when barring status query request is completed. + * + * Basic service group identifier list contains items only if status is + * queried for several services at once and barrings are active for some + * of those services. + * + * @param result 0 if request was completed successfully + * or error code defined either in gsmerror.h or exterror.h. + * @param basicServiceGroupIds Service group identifiers. + * @param status Barring status. + */ + void barringStatusRequestCompleted( + int result, + const QList & basicServiceGroupIds, + PSetCallBarringWrapper::BarringStatus status); + + /** + * This signal is emitted when barring enabling is completed. + * + * @param result 0 if request was completed successfully + * or error code defined either in gsmerror.h or exterror.h. + * @param barringType Service group identifiers. + * @param barringStatus Barring status. + * @param plural Plurality. + */ + void enableBarringRequestCompleted( + int result, + PSetCallBarringWrapper::BarringType barringType, + PSetCallBarringWrapper::BarringStatus barringStatus, + bool plural); + + /** + * This signal is emitted when barring disabling is completed. + * + * @param result 0 if request was completed successfully + * or error code defined either in gsmerror.h or exterror.h. + * @param barringType Service group identifiers. + * @param barringStatus Barring status. + * @param plural Plurality. + */ + void disableBarringRequestCompleted( + int result, + PSetCallBarringWrapper::BarringType barringType, + PSetCallBarringWrapper::BarringStatus barringStatus, + bool plural); + + /** + * This signal is emitted when barring password change request is completed. + * + * @param result 0 if request was completed successfully + * or error code defined either in gsmerror.h or exterror.h. + */ + void barringPasswordChangeRequestCompleted(int result); + +private: // data + + /** Own. Private implementation. */ + QScopedPointer m_privateImpl; + friend class PSetCallBarringWrapperPrivate; +}; + +#endif // PSETCALLBARRINGGWRAPPER_H