diff -r 000000000000 -r 7f85d04be362 upnpsettings/upnpsettingsengine/inc/upnpsettingsengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnpsettings/upnpsettingsengine/inc/upnpsettingsengine.h Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,288 @@ +/* +* Copyright (c) 2006-2008 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: Settings Engine class definition + * +*/ + + + + + + +#ifndef __UPNPSETTINGSENGINE_H__ +#define __UPNPSETTINGSENGINE_H__ + +// INCLUDE FILES + +#include // CBase +#include // TBuf + +// CONSTANTS +const TInt KMaxFriendlyNameLength( 64 ); + +// FORWARD DECLARATIONS +class CRepository; +class CUpnpSettings; +class CUpnpMediaServerSettings; + +// CLASS DECLARATION +/** + * Settings engine class for UPnP Home Connect Application + * @lib upnpapplicationengine.lib + * @since S60 3.1 + */ +class CUPnPSettingsEngine : public CBase + { +public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + IMPORT_C static CUPnPSettingsEngine* NewL(); + + /** + * Two-phased constructor. + */ + IMPORT_C static CUPnPSettingsEngine* NewLC(); + + /** + * Destructor. + */ + IMPORT_C virtual ~CUPnPSettingsEngine(); + + +public: // new functions + + /** + * Sets friendly name + * @since S60 3.1 + * @param aFriendlyName, reference containing the new friendly name + * @return TInt, indicates the success of the call + */ + IMPORT_C TInt SetLocalFriendlyName( + const TDesC8& aFriendlyName ) const; + + /** + * Gets friendly name + * @since S60 3.1 + * @param aFriendlyName, reference where name is updated + * @return TInt, indicates the success of the call + */ + IMPORT_C TInt GetLocalFriendlyName( + TDes8& aFriendlyName ) const; + + + /** + * Sets selected Access point + * @since S60 3.1 + * @param aIAP, the IAP id + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt SetAccessPoint( const TInt aIAP ); + + + /** + * Gets Access Point information + * @since S60 3.1 + * @param aIAP, reference where IAP id is put + * @return TInt, indicates the success of the call + */ + IMPORT_C TInt GetAccessPoint( TInt& aIAP ); + + + /** + * Sets selected Access point setting + * @since S60 3.1 + * @param aIAPSetting, the IAP setting + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt SetAccessPointSetting( const TInt aIAPSetting ); + + + /** + * Gets Access Point setting + * @since S60 3.1 + * @param aIAPSetting, reference to access point setting + * @return TInt, indicates the success of the call + */ + IMPORT_C TInt GetAccessPointSetting( TInt& aIAPSetting ); + + + /** + * Sets selected wap access point id + * @since S60 3.1 + * @param aWapId, the wap access point id + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt SetWapId( const TInt aWapId ); + + + /** + * Gets selected wap access point id + * @since S60 3.1 + * @param aWapId, reference to wap access point id + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt GetWapId( TInt& aWapId ); + + /** + * Gets information if this is the first start of home network + * @since S60 3.1 + * @param aFirstStart, reference to first start information + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt GetFirstStart( TInt& aFirstStart ); + + /** + * Sets information if this is the first start of home network + * @since S60 3.1 + * @param const aFirstStart, the new first start value + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt SetFirstStart( const TInt aFirstStart ); + + /** + * Sets the mandatory manufacturer settings to media server + * @since S60 3.1 + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt SetManufacturerParamsL() const; + + /** + * Gets the drive for the copy operation + * @since S60 3.2 + * @param aDrive, reference to copy location drive + */ + IMPORT_C void GetCopyLocationDriveL( TDriveNumber& aDrive ) const; + + /** + * Gets the location for the copy operation + * @since S60 3.2 + * @param aLocation, path for copy location + * @param aIsPhoneMemory, tells if used location is internal phone memory + */ + IMPORT_C void GetCopyLocationL( TDes& aLocation, + TBool& aIsPhoneMemory ) const; + + /** + * Sets the location of the copy operation + * @since S60 3.2 + * @param aDrive The drive number of the new location + * as defined in TDriveNumber. + * @return TInt, TInt indicates the success of the call + */ + IMPORT_C TInt SetCopyLocationL( const TDriveNumber aDrive ) const; + + /** + * Get the name of the current IAP if it is set and is not always ask + * @since S60 5.1 + * @param aIapId, iap id + * @return HBufC, iap name. Ownership is transferred to the caller + * if IAP is set to None + */ + IMPORT_C static HBufC* GetCurrentIapNameL( TInt aIapId ); + + /** + * Static helper method to validate iap by id. + * + * @since S60 5.1 + * @param aIapId, Id of the iap to be validated. + * @return ETrue if given iap id is valid. EFalse otherwise. + */ + IMPORT_C static TBool IsAccessPointValidL( TInt aIapId ); + + /** + * Static helper method to retrieve info of access points into given + * arrays. + * + * @since S60 5.1 + * @param aNameArray, array contains the iap names + * @param aIapIdArr, Array for iap ids. + */ + IMPORT_C static void GetWLANAccessPointsL( CDesCArray* aNameArray, + RArray& aIapIdArr ); + + /** + * Static helper method to create the iap editing window + * arrays. + * + * @since S60 5.1 + * @param none + */ + IMPORT_C static void CreateAccessPointL(); + +private: + + /** + * C++ default constructor. + */ + CUPnPSettingsEngine(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + /** + * Reads device model, it is in form "Nokia xxxx" + * Note: Does not return correct value in subcon R&D builds + * @since S60 3.1 + * @param aModel Device model + * @return TInt, TInt indicates the success of the call + */ + TInt ReadDeviceModelL( TDes8& aModel ) const; + + /** + * Gets friendly name, internal version + * @since S60 3.1 + * @param aFriendlyName, reference where name is updated + * @return TInt, indicates the success of the call + */ + TInt GetLocalFriendlyNameL( + TDes8& aFriendlyName ) const; + + /** + * Initializes a property if property has not yet been set + * @since S60 3.1 + * @param aSettings, MediaServer settings + * @param aKey, Propery's id + * @param aValue, New propery's value + */ + void InitializePropertyL( + CUpnpMediaServerSettings& aSettings, + TInt aKey, + const TDesC8& aValue ) const; + + /** + * Helper method to validate wlan access points. + * + * @since S60 5.1 + * @param aIapId, Id of the iap to be validated. + * @return ETrue if given iap is found from the comms db and + * id is valid. EFalse otherwise. + */ + static TBool IsWLANAccessPointValidL( TUint32 aIapId ); + +private: // data + + // Central Repository + CRepository* iRepository; + // Repository for upnp settings + CUpnpSettings* iUpnpRepository; + + }; + +#endif // __UPNPSETTINGSENGINE_H__ + +// End of file