voipplugins/voipadapters/dmgenvoipsettings/inc/NSmlDmGeneralVoIPSettingsAdapter.h
branchRCL_3
changeset 27 f742655b05bf
parent 26 65a3ef1d5bd0
child 28 d38647835c2e
--- a/voipplugins/voipadapters/dmgenvoipsettings/inc/NSmlDmGeneralVoIPSettingsAdapter.h	Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,498 +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:  Device Management General VoIP settings adapter
-*
-*/
-
-
-#ifndef __NSMLDMGENERALVOIPSETTINGSADAPTER_H__
-#define __NSMLDMGENERALVOIPSETTINGSADAPTER_H__
-
-#include <smldmadapter.h>
-
-/**
- *  Cleanup item for deleting contents of RPointerArray.
- *
- */
-template <class T>
-class CleanupResetAndDestroy
-	{
-public:
-	
-	inline static void PushL(T& aRef);
-	
-private:
-	
-	static void ResetAndDestroy(TAny *aPtr);
-	};
-	
-template <class T>
-inline void CleanupResetAndDestroyL(T& aRef);
-
-/**
- *  Entry point for general VoIP settings.
- *
- *  Holds general VoIP settings transiently before they are stored permanently
- *  in Central Repository.
- *  @since S60 v3.0
- */
-class TGenVoIPEntry
-    {
-
-    public:
-
-        /**
-         * Status reference for this command.
-         */
-        TInt iStatusRef;
-
-        /**
-         * For telling whether general VoIP settings are loaded from
-         * Central Repository.
-         */
-        TInt iAreSettingsLoaded;
-
-        /**
-         * CLIR, Calling Line Identification Restriction.
-         */
-        TInt iClir;
-
-        /**
-         * Anonymous Call Block rule. Determines the rule for Anonymous Call
-         * Block feature.
-         */
-        TInt iACBRule;
-
-        /**
-         * Preferred telephony. Tells which telephony mode is preferred.
-         */
-        TInt iPrefTel;
-
-        /**
-         * Do Not Disturb (DND) setting.
-         */
-        TInt iDnd;
-
-        /**
-         * Call waiting. Tells whether call waiting is enabled or disabled.
-         */
-        TInt iPSCallWaiting;
-
-        /**
-         * Telephony preference lock. Tells whether preferred telephony mode 
-         * is UI editable.
-         */
-        TInt iPrefTelLock;
-
-        /**
-         * Shut down CS radio in WiFi mode. Tells whether CS radio is turned
-         * off in WiFi mode.
-         */
-        TInt iCsRadioWifiOff;
-        
-        /**
-         * VoIP profile name. If preferred telephony mode is set to VoIP,
-         * the service id of this VoIP profile is set as preferred service id.
-         */
-        TBuf8<64> iVoipProfileId;
-    };
-
-/**
- *  CNSmlDmGeneralVoIPSettingsAdapter.
- *
- *  Main implementation of Device Management General VoIP Settings Adapter.
- *  @lib cnsmldmgeneralvoipsettingsadapter.lib
- *  @since S60 v3.0
- */
-class CNSmlDmGeneralVoIPSettingsAdapter : public CSmlDmAdapter
-    {
-
-#ifdef EUNIT_TESTING
-    /**
-     * Friend class for unit testing.
-     */
-    friend class UT_CNSmlDmGeneralVoIPSettingsAdapter;
-#endif
-
-    public:
-        
-        static CNSmlDmGeneralVoIPSettingsAdapter* NewL( MSmlDmCallback* aDmCallback );
-
-        static CNSmlDmGeneralVoIPSettingsAdapter* NewLC( MSmlDmCallback* aDmCallback );
-
-        virtual ~CNSmlDmGeneralVoIPSettingsAdapter();
-
-    private:
-
-        CNSmlDmGeneralVoIPSettingsAdapter( TAny* aEcomArguments );
-
-        /**
-         * By default Symbian 2nd phase constructor is private.
-         */
-        void ConstructL();
-        
-        /**
-         * Fetches leaf object values
-         *
-         * @since S60 v3.0.
-         * @param aURI URI of the object.
-         * @param aLUID LUID of the object.
-         * @param aObject Data of the object.
-         * @return Status code of operation
-         */       
-        CSmlDmAdapter::TError FetchObjectL( 
-            const TDesC8& aURI, 
-            CBufBase& aObject );
-
-        /**
-         * Loads general VoIP settings from Central Repository.
-         *
-         * @since S60 v3.0.
-         * @param aEntry General VoIP settings entry.
-         * @return Error code for the operation.
-         */
-        TInt LoadSettingsL();
-
-        /**
-         * Converts descriptor to int.
-         *
-         * @since S60 v3.0.
-         * @param aDes Descriptor to convert.
-         * @return Converted value.
-         */
-        TInt DesToInt( const TDesC8& aDes );
-
-        /**
-         * Removes last URI segment from aURI
-         *
-         * @since S60 v3.0.
-         * @param aDes Descriptor to handle.
-         * @return Pointer to URI.
-         */        
-        TPtrC8 RemoveLastURISeg( const TDesC8& aURI );
-
-        /**
-         * Gets number of URI segments.
-         *
-         * @since S60 v3.0.
-         * @param aURI Descriptor to handle.
-         * @return Number of URI segments.
-         */
-        TInt NumOfURISegs( const TDesC8& aURI );
-
-        /**
-         * Gets last URI segment.
-         *
-         * @since S60 v3.0.
-         * @param aURI Descriptor to handle.
-         * @return Pointer to beginning of last URI segment.
-         */
-        TPtrC8 LastURISeg( const TDesC8& aURI ) const;
-
-        /**
-         * Removes ./ from URI
-         *
-         * @since S60 v3.0.
-         * @param aURI Descriptor to handle.
-         * @return Pointer to URI.
-         */
-        TPtrC8 RemoveDotSlash( const TDesC8& aURI );
-
-        // from base class MSmlDmAdapter
-
-        /**
-         * From MSmlDmAdapter.
-         *
-         * @since S60 v3.0.
-         * @param aDDFVersion for returning DDF version of adapter.
-         */
-        void DDFVersionL( CBufBase& aDDFVersion );
-
-        /**
-         * From MSmlDmAdapter.
-         *
-         * @since S60 v3.0.
-         * @param aDDF for returning DDF structure of adapter.
-         */
-        void DDFStructureL( MSmlDmDDFObject& aDDF );
-   
-        /**
-         * From MSmlDmAdapter.
-         *
-         * @since S60 v3.0.
-         * @param aURI URI of the object.
-         * @param aLUID LUID of the object.
-         * @param aObject Data of the object.
-         * @param aType MIME type of the object.
-         * @param aStatusRef Reference to correct command.
-         */                                                     
-        void UpdateLeafObjectL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            const TDesC8& aObject,
-            const TDesC8& aType, 
-            const TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @param aURI URI of the object.
-         * @param aLUID LUID of the object.
-         * @param aStream Data of the object.
-         * @param aType MIME type of the object.
-         * @param aStatusRef Reference to correct command.
-         */
-        void UpdateLeafObjectL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            RWriteStream*& aStream,
-            const TDesC8& aType, 
-            TInt aStatusRef );
-
-        /**
-         * From MSmlDmAdapter.
-         * Deletes (resets) General VoIP Settings profile.
-         *
-         * @since S60 v3.0.
-         * @param aURI URI of the object.
-         * @param aLUID LUID of the object.
-         * @param aStatusRef Reference to correct command.
-         */        
-        void DeleteObjectL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            const TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Fetches the values of leaf objects.
-         *
-         * @since S60 v3.0.
-         * @param aURI URI of the object.
-         * @param aLUID LUID of the object.
-         * @param aType MIME type of the object.
-         * @param aResultsRef Reference to correct results.
-         * @param aStatusRef Reference to correct command.
-         */                      
-        void FetchLeafObjectL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            const TDesC8& aType, 
-            const TInt aResultsRef, 
-            const TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Fetches the size of a leaf object.
-         *
-         * @since S60 v3.0.
-         * @param aURI URI of the object.
-         * @param aLUID LUID of the object.
-         * @param aType MIME type of the object.
-         * @param aResultsRef Reference to correct results.
-         * @param aStatusRef Reference to correct command.
-         */                      
-        void FetchLeafObjectSizeL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            const TDesC8& aType, 
-            TInt aResultsRef, 
-            TInt aStatusRef );
-
-        /**
-         * From MSmlDmAdapter.
-         * Asks for the list of child objects of the node.
-         *
-         * @since S60 v3.0.
-         * @param aURI URI from DM module.
-         * @param aLUID LUID of the parent object.
-         * @param aPreviousURISegmentList from DM module.
-         * @param aResultsRef results reference from DM module.
-         * @param aStatusRef Reference to correct command.
-         */
-        void ChildURIListL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList, 
-            const TInt aResultsRef, 
-            const TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Not supported (there can only be one general VoIP settings node).
-         *
-         * @since S60 v3.0.
-         * @param aURI URI of the object.
-         * @param aParentLUID LUID of the parent object.
-         * @param aStatusRef Reference to correct command.
-         */        
-        void AddNodeObjectL( 
-            const TDesC8& aURI, 
-            const TDesC8& aParentLUID, 
-            const TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         * @param aURI URI from DM module.
-         * @param aLUID LUID of the object.
-         * @param aArgument Argument for the command.
-         * @param aType MIME type of the object.
-         * @param aStatusRef Reference to correct command.
-         */
-        void ExecuteCommandL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            const TDesC8& aArgument, 
-            const TDesC8& aType, 
-            const TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         * @param aURI URI from DM module.
-         * @param aLUID LUID of the object.
-         * @param aStream Argument for the command.
-         * @param aType MIME type of the object.
-         * @param aStatusRef Reference to correct command.
-         */
-        void ExecuteCommandL( 
-            const TDesC8& aURI, 
-            const TDesC8& aLUID, 
-            RWriteStream*& aStream, 
-            const TDesC8& aType, 
-            const TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         * @param aTargetURI Target URI for the command.
-         * @param aTargetLUID LUID of the target object.
-         * @param aSourceURI Source URI for the command.
-         * @param aSourceLUID LUID of the source object.
-         * @param aType MIME type of the objects.
-         * @param aStatusRef Reference to correct command.
-         */
-        void CopyCommandL( 
-            const TDesC8& aTargetURI, 
-            const TDesC8& aTargetLUID, 
-            const TDesC8& aSourceURI, 
-            const TDesC8& aSourceLUID, 
-            const TDesC8& aType, 
-            TInt aStatusRef );
-    
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         */     
-        void StartAtomicL();
-
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         */
-        void CommitAtomicL();
-
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         */
-        void RollbackAtomicL();
-
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         * @param aItemSize Size limit for stream usage.
-         * @return Streaming support.
-         */
-        TBool StreamingSupport( TInt& aItemSize );
-
-        /**
-         * From MSmlDmAdapter.
-         * Not supported.
-         *
-         * @since S60 v3.0.
-         */
-        void StreamCommittedL();
-
-        /**
-         * From MSmlDmAdapter.
-         * Saves modified profiles back to permanent store.
-         *
-         * @since S60 v3.0.
-         */
-        void CompleteOutstandingCmdsL();
-
-        /**
-         * Gets VoIP profile id.
-         *
-         * @since S60 v3.2.3.
-         * @param aObject URI of the object to fetch.
-         */
-        TUint32 VoIPProfileIdL( const TDesC8& aObject ) const;
-
-        /**
-         * Resolves the name of the preferred service and saves it to an
-         * internal variable.
-         *
-         * @since S60 v3.2.3.
-         * @param aRepository Reference to a previously opened repository.
-         */
-        TInt ResolvePreferredServiceNameL( CRepository& aRepository );
-
-    private: // data
-
-        /**
-         * For returning data to DM module.
-         */
-        MSmlDmCallback* iDmCallback;
-
-        /**
-         * Profile ID currently being modified.
-         */
-        TInt iProfileID;
-
-        /**
-         * For knowing status of DM module.
-         */
-        TInt iStatus;
-
-        /**
-         * Entry point for general VoIP settings.
-         */
-        TGenVoIPEntry iEntry;
-
-        /**
-         * For returning results to DM module.
-         */
-        CBufBase* iResults;
-
-    };
-
-#endif // __NSMLDMGENERALVOIPSETTINGSADAPTER_H__