presencesettingsui/inc/psuigspluginmodel.h
branchGCC_SURGE
changeset 28 d9861ae9169c
parent 23 77cb48a03620
parent 26 04ca1926b01c
--- a/presencesettingsui/inc/psuigspluginmodel.h	Thu Jul 01 14:09:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +0,0 @@
-/*
-* Copyright (c) 2006 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:    Presence settings UI model header.
-*
-*/
-
-
-
-
-#ifndef PSUIGSPLUGINMODEL_H
-#define PSUIGSPLUGINMODEL_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include <sipprofileregistryobserver.h>
-#include <pressettingsapi.h>
-#include "psuigsplugin.hrh"
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class RPresenceSettingsArray;
-class CSIPManagedProfileRegistry;
-class CSIPManagedProfile;
-
-// Constants
-_LIT( KPSUIGSPluginPanicCategory, "PSUIGSPlugin" );
-
-/**
-* Presence settings UI model
-*
-* @lib PSUIGSPlugin.lib
-* @since Series60_3.2
-*/
-class CPSUIGSPluginModel : 
-    public CBase, 
-    public MDesCArray,
-    public MSIPProfileRegistryObserver
-    {
-
-    public: // Constructors and destructor
-            
-        /**
-        * Symbian OS two-phased constructor
-        */    
-        static CPSUIGSPluginModel* NewL();
-
-        /**
-        * Destructor.
-        */
-        ~CPSUIGSPluginModel();
-
-    public: // New
-    
-        //
-        //
-        // Presence settings related
-    
-        /**
-        * Retrieves current presence settings from system
-        */
-        void RetrieveSettingsL();
-
-        /**
-        * Stores current presence settings to system
-        */
-        void SaveSettingsL();
-        
-        /**
-        * Checks are the compulsory fields filled.
-        *
-        * @return boolean about filled fields
-        */        
-        TBool AllCompulsoryFieldsFilled();
-        
-        /**
-        * Prepares iSettingSet for editing
-        *
-        * @param aIndex of presence settings to be edited
-        */
-        void EditSettingsL( TInt aIndex );
-        
-        /**
-        * Refreshes the presence settings related arrays
-        */
-        void RefreshPSArraysL();
-
-        /**
-        * Prepares the iSettingSet and iSettingId
-        * with default values
-        */
-        void CreateDefaultSettingsL();
-
-        /**
-        * Prepares the iSettingSet and iSettingId
-        * with values from indexed presence setting
-        *
-        * @param aIndex is the presence settings to be duplicated
-        */
-        void DuplicateExistingSettingsL( TInt aIndex );
-
-        /**
-        * Creates new name for to be created settings. If aOriginal
-        * provided, then will use that as a base. If not, then will
-        * create the name based on default naming. Adds numbering to
-        * end of name if needed.
-        * Note : aOriginal will be stored to cleanupstack if provided
-        *
-        * @param aOriginal is optional base name
-        *
-        */
-        HBufC* CreateSettingNameLC( HBufC* aOriginal = NULL );
-
-        /**
-        * Deletes indexed settings through presence settings API.
-        *
-        * @param aToBeDeleted to be deleted settings
-        * @param aIsIndex tells is aToBeDeleted index or id
-        */
-        void DeleteSettingsL( TInt aToBeDeleted, TBool aIsIndex );
-        
-        /**
-        * Returns name of the indexed settings.
-        *
-        * @param aIndex of the wanted name
-        * @return HBufC* containing the name
-        */
-        HBufC* SettingNameLC( TInt aIndex );
-
-        /**
-        * Checks if there already is settings with the same name.
-        */
-        TBool IsItDuplicatePSName();
-
-        /**
-        * Returns iPSNameArray, which contains names of the
-        * different setting sets. Ownership of array stays in
-        * CPSUIGSPluginModel.
-        *
-        * @return CDesCArray* containing the names of the settings
-        */
-        CDesCArray* SettingNames();
-
-        /**
-        * Returns a reference to iSettingSet.
-        *
-        * @return TPresSettingsSet& containing one set of the settings
-        */        
-        TPresSettingsSet& SettingsSet();
-
-        /**
-        * Checks the validity of SIP- and XDM-fields, 
-        * if not valid empties the fields.
-        */     
-        void ClearInvalidSIPAndXDMSettingsL();
-        
-        /**
-        * Returns a reference to iSettingSetId.
-        *
-        * @return TInt& containing setting id
-        */        
-        TInt& SettingsId();
-
-        /**
-        * Returns a reference to iPSIdArray.
-        *
-        * @return RArray<TInt>& containing iPSIdArray
-        */        
-        RArray<TInt>& SettingsIDArray();
-
-        //
-        //
-        // SIP related
-        
-        /**
-        * Fetches names of defined SIP-profiles
-        * Refreshes also SIP related arrays.
-        *
-        * @return descriptor array of names
-        */
-        CDesCArray* SipProfilesLC();
-        
-        /**
-        * Fetches the ID of indexed SIP profile
-        *
-        * @param aIndex is the index in the array
-        * @return ID of the SIP profile
-        */
-        TInt SipProfileId( TInt aIndex );
-        
-        /**
-        * Fetches the index of ID'ed SIP profile
-        *
-        * @param aId is ID of the SIP profile
-        * @return index in the array
-        */        
-        TInt SipProfileIndex( TInt aId );
-        
-        /**
-        * Fetches the name of ID'ed SIP profile
-        * Refreshes also SIP related arrays.        
-        *
-        * @param aId is ID of the SIP profile
-        * @return descriptor containing the name
-        */        
-        HBufC* SipProfileNameL( TInt aId );
-        
-        //
-        //
-        // XDM related
-
-        /**
-        * Fetches names of defined XDM settings.
-        * Refreshes also XDM related arrays.
-        *
-        * @return descriptor array of names
-        */        
-        CDesCArray* XdmCollectionNamesL();
-        
-        /**
-        * Fetches the name of ID'ed XDM setting
-        *
-        * @param aId is ID of the SIP profile
-        * @return descriptor containing the name
-        */ 
-        HBufC* XdmCollectionNameL( TInt aId );
-        
-        /**
-        * Fetches the index of ID'ed XDM setting
-        *
-        * @param aId is ID of the SIP profile
-        * @return index in the array
-        */ 
-        TInt XdmSettingIndex( TInt aId );
-        
-        /**
-        * Fetches the ID of indexed XDM setting
-        *
-        * @param aIndex is the index in the array
-        * @return ID of the SIP profile
-        */        
-        TInt XdmSettingId( TInt aIndex );        
-
-    private: // New
-    
-        /**
-        * Destroys given array. Used with TCleanupItem.
-        *
-        * @param pointerarray to be deleted
-        */      
-        static void ResetAndDestroy( TAny* aPointerArray );
-
-        /**
-        * Refreshes the SIP profile array. Needs to be
-        * called before calling most of the SIP-related methods.
-        */
-        void ReadSipArrayFromEngineL();
-        
-        /** 
-        * Checks if there is ordinal numbering at the end of
-        * descriptor and rips it off if there is.
-        *
-        * @return HBufC* containing the name ready for the numbering
-        */
-        HBufC* GetPrefixL( HBufC* aName );
-
-        /** 
-        * Re-arranges presence settings (name and id arrays) 
-        * to alphabetical order.
-        */
-        void ReArrangePresenceSettingsL();            
-
-    private: // Functions from base classes
-
-        /** 
-        * from MSIPProfileRegistryObserver
-        * Refreshes in most cases SIP related arrays.
-        *
-        * See base class.
-        */
-        void ProfileRegistryEventOccurred(
-            TUint32 aSIPProfileId, 
-            TEvent aEvent );
-
-        /**
-        * from MSIPProfileRegistryObserver
-        * Refreshes SIP related arrays.
-        *
-        * See base class.
-        */
-        void ProfileRegistryErrorOccurred(                  
-            TUint32 aSIPProfileId,
-            TInt aError);
-
-        /**
-        * from MDesCArray
-        * See base class.
-        */
-        TInt MdcaCount() const;
-        
-        /**
-        * from MDesCArray
-        * See base class.
-        */        
-        TPtrC16 MdcaPoint( TInt aIndex ) const;
-
-    private: // Constructors
-        
-        /**
-        * C++ default constructor.
-        */
-        CPSUIGSPluginModel();
-        
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-
-    private: // Data
-
-        // Currently edited presence settings
-        TPresSettingsSet iSettingSet;
-        // Setting identifier
-        TInt iSettingId;
-        // SIP profile registry
-        CSIPManagedProfileRegistry* iSIPEngine;
-        // SIP profile array
-        CArrayPtrFlat<CSIPManagedProfile>* iSIPProfiles;
-        // XDM ID array
-        RArray<TInt> iXdmIdArray;
-        // XDM name array
-        CDesCArray* iXdmNameArray;
-        // Presence settings id array
-        RArray<TInt> iPSIdArray;
-        // Presence settings name array
-        CDesCArray* iPSNameArray;
-        // Texts for the MDesCArray
-        HBufC* iVisibleSettingName;
-        
-    };
-
-/**
-* Small utility class to store presence settings
-* name and id. 
-* Used in CPSUIGSPluginModel::ReArrangePresenceSettingsL().
-*
-* @lib PSUIGSPlugin.lib
-* @since Series60_3.2
-*/
-class CPSUINameIDPair :
-    public CBase
-    {
-    public :
-    inline ~CPSUINameIDPair() { delete iName; };
-    
-    public :
-    TInt iID;
-    HBufC* iName;
-    };
-
-#endif // PSUIGSPLUGINMODEL_H
-// End of File