diff -r fc7b30ed2058 -r 05bc53fe583b cmmanager/cmmgr/cmmapi/inc/cmmanagerapi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmmanager/cmmgr/cmmapi/inc/cmmanagerapi.h Tue Aug 31 15:35:44 2010 +0300 @@ -0,0 +1,160 @@ +/* +* 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: +* Client side IPC handling for Connection Method Manager server. +* +*/ + + +#ifndef CMMANAGERAPI_H +#define CMMANAGERAPI_H + +#include +#include +#include + +class CCmDestinationWrapper; +class CCmConnectionMethodWrapper; +class TBearerPriority; +class TCmmIpcStructGetConnMethods; +class TCmmIpcStructMoveConnMethod; + + +NONSHARABLE_CLASS( RCmManagerApi ) : public RSessionBase + { +public: + /** + * Constructor. + */ + RCmManagerApi(); + +public: + /** + * Opens a connection (session) to the CMM server. + * @return KErrNone if the connection succeeds, a system-wide error code + * if not. + */ + TInt Connect(); + + /** + * Closes the connection (session). + */ + void Close(); + + TInt StoreDestinationWrapper( + CCmDestinationWrapper* aDestinationWrapper ); + TInt RemoveDestinationWrapper( + CCmDestinationWrapper* aDestinationWrapper ); + CCmDestinationWrapper* GetDestinationWrapperL( const TInt aHandle ); + + TInt StoreConnMethodWrapper( + CCmConnectionMethodWrapper* aConnMethodWrapper ); + TInt RemoveConnMethodWrapper( + CCmConnectionMethodWrapper* aConnMethodWrapper ); + CCmConnectionMethodWrapper* GetConnMethodWrapperL( const TInt aHandle ); + + TInt GetBearerInfoInt( + const TUint32 aBearerType, + const TUint32 aAttribute, + TUint32& aValue ); + TInt GetBearerInfoBool( + const TUint32 aBearerType, + const TUint32 aAttribute, + TBool& aValue ); + TInt GetBearerInfoString( + const TUint32 aBearerType, + const TUint32 aAttribute, + HBufC* aBuffer ); + TInt GetBearerInfoString8( + const TUint32 aBearerType, + const TUint32 aAttribute, + HBufC8* aBuffer8 ); + + TInt GetConnectionMethodInfoInt( + const TUint32 aIapId, + const TUint32 aAttribute, + TUint32& aValue ); + TInt GetConnectionMethodInfoBool( + const TUint32 aIapId, + const TUint32 aAttribute, + TBool& aValue ); + TInt GetConnectionMethodInfoString( + const TUint32 aIapId, + const TUint32 aAttribute, + HBufC* aBuffer ); + TInt GetConnectionMethodInfoString8( + const TUint32 aIapId, + const TUint32 aAttribute, + HBufC8* aBuffer8 ); + + void GetConnMethodsL( + const TCmmIpcStructGetConnMethods& aParameters, + RArray& aCmArray ); + void GetAllDestinationsL( + RArray& aDestArray ); + + void GetBearerPriorityArrayL( RArray& aArray ); + void SetBearerPriorityArrayL( const RArray& aArray ); + + void GetSupportedBearersL( RArray& aArray ); + + TInt GetEasyWlanId( TUint32& aValue ); + + TInt ReadDefaultConnection( + TCmDefConnValue& aDefConnSetting ); + TInt WriteDefaultConnection( + const TCmDefConnValue& aDefConnSetting ); + + TInt ReadGeneralConnectionSettings( + TCmGenConnSettings& aGenConnSettings ); + TInt WriteGeneralConnectionSettings( + const TCmGenConnSettings& aGenConnSettings ); + + TInt CopyConnectionMethod( + const TInt aTargetDestHandle, + const TInt aConnMethodHandle, + TInt& aIndex ); + TInt MoveConnectionMethod( + TCmmIpcStructMoveConnMethod& aPkgData ); + TInt RemoveConnectionMethod( + const TInt aTargetDestHandle, + const TInt aConnMethodHandle ); + TInt RemoveAllReferences( + const TInt aConnMethodHandle ); + TInt GetUncategorizedIcon( HBufC* aBuffer ); + +private: + // Array of destination handles opened through this session. + // Does not have ownership of contained objects. + RPointerArray iDestinations; + + // Array of connection method handles opened through this session. + // Does not have ownership of contained objects. + RPointerArray iConnMethods; + + // True when a session is established to the server. + TBool iConnected; + + // True when using smaller buffer for ConnectionMethodL(array)-query. + // Bigger buffer is taken into use if needed. + TBool iSmallBufsForDestinations; + + // True when using smaller buffer for AllDestinationsL(array)-query. + // Bigger buffer is taken into use if needed. + TBool iSmallBufsForConnMethods; + }; + +#endif // CMMANAGERAPI_H + +// End of file