cmmanager/cmmgr/cmmserver/inc/cmminstancemapping.h
branchRCL_3
changeset 58 83ca720e2b9a
parent 57 05bc53fe583b
child 62 bb1f80fb7db2
--- a/cmmanager/cmmgr/cmmserver/inc/cmminstancemapping.h	Tue Aug 31 15:35:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
-* Copyright (c) 2009-2010 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:
-* Keeps track of the general destination/connection method structure in
-* database.
-*
-*/
-
-
-#ifndef CMMINSTANCEMAPPING_H_
-#define CMMINSTANCEMAPPING_H_
-
-#include <e32base.h>
-
-#include "cmmcache.h"
-#include "cmmconnmethoditem.h"
-
-
-NONSHARABLE_CLASS( CDestination ) : public CBase
-    {
-public:
-    static CDestination* NewL();
-    static CDestination* NewLC();
-    ~CDestination();
-
-private:
-    CDestination();
-    void ConstructL();
-
-public:
-    // The destination ID.
-    TUint32 iId;
-
-    // Array of connection methods inside this destination. Includes also
-    // embedded destinations.
-    RArray<TCmmConnMethodItem> iConnMethodItemArray;
-
-    // IDs for unsupported connection methods inside this destination.
-    RArray<TUint> iUnsupportedConnMethods;
-    
-    // The destination metadata.
-    TUint32 iMetadata;
-    };
-
-
-NONSHARABLE_CLASS( CCmmInstanceMapping ) : public CBase
-    {
-public:
-    /**
-     * NewL.
-     */
-    static CCmmInstanceMapping* NewL( CCmmCache& aCache );
-
-    /**
-     * NewLC.
-     */
-    static CCmmInstanceMapping* NewLC( CCmmCache& aCache );
-
-    /**
-     * Destructor.
-     */
-    ~CCmmInstanceMapping();
-
-private:
-    /**
-     * Constructor.
-     *
-     * @param aCache database cache object.
-     */
-    CCmmInstanceMapping( CCmmCache& aCache );
-
-    /**
-     * Second phase constructor.
-     */
-    void ConstructL();
-
-public: //TODO, sort methods, they are currently in mixed order in .cpp file.
-    /**
-     * Update the connection method and destination structures to current state.
-     */
-    void RefreshL();
-
-    /**
-     * Check if the given ID is a valid existing destination ID.
-     */
-    TBool ValidDestinationId( const TUint32 aId ) const;
-
-    /**
-     * Check if the given ID is a valid existing connection method ID.
-     */
-    TBool ValidConnMethodId( const TUint32 aId ) const;
-
-    /**
-     * Check if the given ID is a valid existing unsupported connection method
-     * ID.
-     */
-    TBool UnsupportedConnMethodId( const TUint32 aId ) const;
-
-    /**
-     * Check from database if the given destination is an embedded destination
-     * in any other destination.
-     */
-    TBool DestinationIsEmbedded( const TUint32 aDestinationId ) const;
-
-    /**
-     * Check from database if the given destination has an embedded destination.
-     */
-    TBool DestinationHasEmbedded( const TUint32 aDestinationId ) const;
-
-    /**
-     * Check from database if the given destination is pointed to by any
-     * virtual IAP.
-     */
-    TBool DestinationPointedToByVirtualIap( const TUint32 aDestinationId ) const;
-
-    /**
-     * Check from database if the given connection method is pointed to by any
-     * virtual IAP.
-     */
-    TBool ConnMethodPointedToByVirtualIap( const TUint32 aConnMethodId ) const;
-
-    /**
-     * Check if the given connection method is the only connection method in
-     * the given destination and if a virtual IAP points to that destination.
-     */
-    TBool ConnMethodInDestinationButLocked(
-            const TUint32 aConnMethodId,
-            const TUint32 aDestinationId ) const;
-
-    /**
-     * Get bearer type of connection method matching given ID.
-     * Return KErrNone if ID is found, KErrNotFound if not.
-     */
-    TInt GetConnMethodBearerType( const TUint32 aConnMethodId, TUint32& bearerType ) const;
-
-    /**
-     * Returns the number of destinations the provided connection method
-     * belongs to.
-     */
-    TInt DestinationsContainingConnMethod( const TUint32 aConnMethodId ) const;
-
-    /**
-     * Returns the destination ids containing the connection method given as
-     * parameter.
-     */
-    void DestinationsContainingConnMethodL(
-            const TUint32 aConnMethodId,
-            RArray<TUint32>& aDestinationIds ) const;
-
-    /**
-     * Find and return a copy of a connection method item matching the given ID.
-     * Returns KErrNotFound, if the connection method is not found.
-     */
-    TInt GetConnMethodItem(
-            const TUint32 aConnMethodId,
-            TCmmConnMethodItem& aConnMethodItem ) const;
-
-    /**
-     * Returns all conenction method IDs. Unsupported connection methods are
-     * included if aCheckBearerType is set to EFalse.
-     */
-    void GetAllConnMethodsL(
-            RArray<TUint32>& aConnMethodArray,
-            TBool aCheckBearerType = ETrue ) const;
-
-    /**
-     * Returns the number of destinations.
-     */
-    TInt GetDestinationCount() const;
-
-    /**
-     * Returns all the valid destinations.
-     */
-    void GetDestinationsL( RArray<TUint32>& aDestinationArray ) const;
-
-    /**
-     * Inserts all the valid connection methods inside the given destination
-     * into the provided connection method item array. The array is reset first.
-     */
-    void GetConnMethodsFromDestinationL(
-            const TUint32 aDestinationId,
-            RArray<TCmmConnMethodItem>& aConnMethodArray ) const;
-
-    /**
-     * Returns ETrue if the provided connection method belongs to any other
-     * destination than the one given.
-     */
-    TBool ConnMethodInOtherDestination(
-            const TUint32 aConnMethodId,
-            const TUint32 aDestinationId );
-
-    /**
-     * Return the EasyWLAN IAP ID, zero if not found or WLAN not supported.
-     */
-    TUint32 EasyWlanIdL();
-
-    /**
-     * Find out the internet destination ID. ID is set to 0 if not found.
-     */
-    void InternetDestinationIdL( TUint& aInternetDestinationId );
-
-    /**
-     * Add a connection method ID to deleted list. Ignores any duplicates. Also
-     * removes the connection method from destination/connection method
-     * structures so Refresh()-call is not needed.
-     */
-    void AddConnMethodToDeletedListL( const TUint aConnMethodId );
-
-    /**
-     * Remove a connection method ID from deleted list. Nothing happens if ID
-     * is not found from the list.
-     */
-    void RemoveConnMethodFromDeletedList( const TUint aConnMethodId );
-
-    /**
-     * Add a destination ID to deleted list. Ignores any duplicates. Also
-     * removes the destination from destination/connection method structures
-     * so Refresh()-call is not needed.
-     */
-    void AddDestinationToDeletedListL( const TUint aDestinationId );
-
-    /**
-     * Remove a destination ID from deleted list. Nothing happens if ID is not
-     * found from the list.
-     */
-    void RemoveDestinationFromDeletedList( const TUint aDestinationId );
-
-    /**
-     * Remove the connection method from current destination/connection method
-     * structures. This is a lot faster than calling Refresh().
-     */
-    void RemoveConnMethod( const TUint32 aConnMethodId );
-
-    /**
-     * Remove the connection method from current destination/connection method
-     * structures. This is a lot faster than calling Refresh(). The ID of any
-     * changed destination is added to the aChangedDestinations-array.
-     * Also adds the ID of any changed destinations to the provided array.
-     */
-    void RemoveConnMethod(
-            const TUint32 aConnMethodId,
-            RArray<TUint32>& aChangedDestinations );
-
-    /**
-     * Remove the destination from current destination/connection method
-     * structures. This is a lot faster than calling Refresh().
-     */
-    void RemoveDestination( const TUint32 aDestinationId );
-
-    /**
-     * Remove the connection method from all destinations in the current
-     * destination/connection method structures. This is a lot faster than
-     * calling Refresh(). The ID of any changed destination is added to the
-     * aChangedDestinations-array.
-     */
-    void RemoveConnMethodFromDestinations(
-            const TUint32 aConnMethodId,
-            RArray<TUint32>& aChangedDestinations );
-    
-    /**
-     * Get the metadata of the destination identified with given id.
-     */
-    TUint32 DestinationMetadata( const TUint32 aDestinationId ) const;
-
-private:
-    /**
-     * Reads all connection methods from database.
-     */
-    void ReadAndValidateConnMethodsL();
-
-    /**
-     * Reads all destinations and the connection methods inside them.
-     */
-    void ReadAndValidateDestinationsL();
-
-    /**
-     * Goes through the internal IAP table, checking all virtual IAPs that link
-     * to an IAP. If the linked IAP is not found, the virtual IAP is removed.
-     */
-    void ValidateVirtualIapsLinkingToIaps();
-
-    /**
-     * Goes through the internal IAP table, checking all virtual IAPs that link
-     * to a SNAP. If the linked SNAP is not found, the virtual IAP is removed.
-     */
-    void ValidateVirtualIapsLinkingToSnaps();
-
-    /**
-     * Find the destination item matching the provided destination ID.
-     * Returns a pointer to the internal destination item, NULL if not found.
-     */
-    CDestination* GetDestination( const TUint32 aDestinationId ) const;
-
-    /**
-     * Returns the reference to shared CommsDat session handle.
-     */
-    CommsDat::CMDBSession& Session() const;
-
-private:
-    // The database cache object.
-    CCmmCache& iCache;
-
-    // All supported connection methods. Does not include any embedded destinations.
-    RArray<TCmmConnMethodItem> iConnMethodItemArray;
-
-    // IDs for all unsupported connection methods.
-    RArray<TUint> iUnsupportedConnMethods;
-
-    // All destinations.
-    RPointerArray<CDestination> iDestinations;
-
-    // Connection methods that are deleted, but not removed from database yet
-    // because some handles are still open to them and ID needs to be kept
-    // reserved. Kept in unsigned integer order.
-    RArray<TUint> iDeletedConnMethods;
-
-    // Destinations that are deleted, but not removed from database yet because
-    // some handles are still open to them and ID needs to be kept reserved.
-    // Kept in unsigned integer order.
-    RArray<TUint> iDeletedDestinations;
-
-    // EasyWLAN IAP ID, KMaxTUint32 if not known.
-    TUint32 iEasyWlanId;
-    };
-
-#endif // CMMINSTANCEMAPPING_H_
-
-// End of file