diff -r 05bc53fe583b -r 83ca720e2b9a cmmanager/cmmgr/Framework/Inc/cmconnectionmethodinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmmanager/cmmgr/Framework/Inc/cmconnectionmethodinfo.h Wed Sep 01 12:23:51 2010 +0100 @@ -0,0 +1,98 @@ +/* +* 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: Connection Method interface class. +* +*/ + +#ifndef CMCONNECTIONMETHODINFO_H +#define CMCONNECTIONMETHODINFO_H + +#include + +/** + * Acts as a connection method that has no bearer type. + * Client applications can query connection method, but non-bearer specific + * attributes by calling RCmManager/Ext::GetConnectionMethodInfoXXXL() + * functions. + * Modification and update of a connetion method is not supported. + * Common records of a connection method are loaded, and kept in memory + * as long as the client application queries attribute of another connection + * method. + * + * @lib cmmanager.lib + * @since S60 v3.2 + */ +NONSHARABLE_CLASS( CCmConnectionMethodInfo ) : public CCmPluginBaseEng + { + public: + + static CCmConnectionMethodInfo* NewL( TCmPluginInitParam *aInitParam ); + + static CCmConnectionMethodInfo* NewLC( TCmPluginInitParam *aInitParam ); + + virtual ~CCmConnectionMethodInfo(); + + virtual CCmPluginBaseEng* + CreateInstanceL( TCmPluginInitParam& /*aInitParam*/ ) const; + virtual CCmPluginBaseEng* CreateCopyL() const; + + public: // new functions + + virtual TUint32 GetConnectionInfoIntL( const TUint32 aIapId, + const TUint32 aAttribute ); + + virtual TBool GetConnectionInfoBoolL( const TUint32 aIapId, + const TUint32 aAttribute ); + + virtual HBufC* GetConnectionInfoStringL( const TUint32 aIapId, + const TUint32 aAttribute ); + + virtual HBufC8* GetConnectionInfoString8L( const TUint32 aIapId, + const TUint32 aAttribute ); + + virtual void AdditionalReset(){}; + + void ResetIfInMemory( CCmPluginBaseEng* aCM ); + + private: // from CCmPluginBaseEng + + virtual TInt RunSettingsL(); + virtual TBool InitializeWithUiL( TBool aManuallyConfigure ); + virtual TBool CanHandleIapIdL( TUint32 aIapId ) const; + virtual TBool CanHandleIapIdL( CommsDat::CCDIAPRecord* aIapRecord ) const; + virtual void CopyAdditionalDataL( CCmPluginBaseEng* aDestInst ); + + private: + + virtual void ServiceRecordIdLC( HBufC* &aServiceName, + TUint32& aRecordId ); + virtual void BearerRecordIdLC( HBufC* &aBearerName, + TUint32& aRecordId ); + virtual void CreateNewServiceRecordL(); + + void ResetAndLoadL( TUint32 aIapId ); + + private: + + CCmConnectionMethodInfo( TCmPluginInitParam *aInitParam ); + + void ConstructL(); + + private: // new functions + + private: // data + }; + + +#endif // CMCONNECTIONMETHODINFO_H