phonesrv_plat/phone_settings_api/inc/psetcallbarringwrapper.h
branchRCL_3
changeset 19 7d48bed6ce0c
--- /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 <QObject>
+#include <psetwrappertypes.h>
+
+// 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<unsigned char> & 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<PSetCallBarringWrapperPrivate> m_privateImpl;
+    friend class PSetCallBarringWrapperPrivate;
+};
+
+#endif // PSETCALLBARRINGGWRAPPER_H