williamr@2: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef __CMMSSETTINGS_H__ williamr@2: #define __CMMSSETTINGS_H__ williamr@2: williamr@2: williamr@2: #include williamr@2: williamr@2: williamr@2: class CRepository; williamr@2: williamr@2: williamr@2: /** williamr@2: Automatic Download Options. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TAutomaticDownloadOptions williamr@2: { williamr@2: /** Automatic Download Option Off */ williamr@2: EAutomaticDownloadOff = 0, williamr@2: /** Automatic Download Option On */ williamr@2: EAutomaticDownloadOn, williamr@2: /** Automatic Download Only When Roaming */ williamr@2: EAutomaticDownloadOnlyWhenRoaming williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Creation Mode Options. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TCreationMode williamr@2: { williamr@2: /** Creation Mode Free */ williamr@2: ECreationModeFree = 0, williamr@2: /** Creation Mode Warning */ williamr@2: ECreationModeWarning, williamr@2: /** Creation Mode Restricted */ williamr@2: ECreationModeRestricted williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Run-time MMS configuration settings. williamr@2: williamr@2: Messaging clients should use an instance of this class to specify williamr@2: and retrieve configuration settings. williamr@2: williamr@2: This class should be used with CMmsAccounts to store and restore settings. williamr@2: williamr@2: @see CMmsAccounts williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CMmsSettings : public CBase williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CMmsSettings* NewL( ); williamr@2: IMPORT_C static CMmsSettings* NewLC( ); williamr@2: IMPORT_C ~CMmsSettings( ); williamr@2: IMPORT_C void CopyL(const CMmsSettings& aMmsSettings); williamr@2: williamr@2: IMPORT_C TInt ApplicationID( ) const; williamr@2: IMPORT_C void SetApplicationID(const TInt aAppID); williamr@2: williamr@2: IMPORT_C TPtrC Address( ) const; williamr@2: IMPORT_C void SetAddressL(const TDesC& aAddress); williamr@2: williamr@2: IMPORT_C TCreationMode CreationMode( ) const; williamr@2: IMPORT_C void SetCreationModeL(TCreationMode aCreationMode); williamr@2: williamr@2: IMPORT_C TInt ProxyCount( ) const; williamr@2: IMPORT_C TUid GetProxy(TInt aIndex) const; williamr@2: IMPORT_C void AddProxyL(const TUid aProxy); williamr@2: IMPORT_C void RemoveProxy(TInt aIndex); williamr@2: williamr@2: IMPORT_C TInt NapIdCount( ) const; williamr@2: IMPORT_C TUid GetNapId (TInt aIndex) const; williamr@2: IMPORT_C void AddNapIdL(const TUid aNapId); williamr@2: IMPORT_C void RemoveNapId(TInt aIndex); williamr@2: williamr@2: IMPORT_C TBool DisplayNotification( ) const; williamr@2: IMPORT_C void SetDisplayNotification(TBool aFlag); williamr@2: williamr@2: IMPORT_C TAutomaticDownloadOptions AutomaticDownload( ) const; williamr@2: IMPORT_C void SetAutomaticDownload(TAutomaticDownloadOptions aDownloadOptions); williamr@2: williamr@2: IMPORT_C TBool CreationModeReadOnly( ) const; williamr@2: IMPORT_C void SetCreationModeReadOnly(TBool aFlag); williamr@2: williamr@2: IMPORT_C TInt ValidityPeriod( ) const; williamr@2: IMPORT_C void SetValidityPeriod(const TInt aValidityPeriod); williamr@2: williamr@2: IMPORT_C TInt MaxDownloadSize( ) const; williamr@2: IMPORT_C void SetMaxDownloadSize (const TInt aSize); williamr@2: williamr@2: IMPORT_C TBool Priority( ) const; williamr@2: IMPORT_C void SetPriority (TBool aFlag); williamr@2: williamr@2: IMPORT_C TBool HideNumber( ) const; williamr@2: IMPORT_C void SetHideNumber(TBool aFlag); williamr@2: williamr@2: IMPORT_C TBool ReadReport( ) const; williamr@2: IMPORT_C void SetReadReport(TBool aFlag); williamr@2: williamr@2: IMPORT_C TBool DeliveryReport( ) const; williamr@2: IMPORT_C void SetDeliveryReport(TBool aFlag); williamr@2: williamr@2: IMPORT_C TBool ReplyWithHistory( ) const; williamr@2: IMPORT_C void SetReplyWithHistory (TBool aFlag); williamr@2: williamr@2: IMPORT_C TBool AllowDeliveryNotification( ) const; williamr@2: IMPORT_C void SetAllowDeliveryNotification(TBool aFlag); williamr@2: williamr@2: IMPORT_C TBool FilterAdvertisements( ) const; williamr@2: IMPORT_C void SetFilterAdvertisements(TBool aFlag); williamr@2: williamr@2: IMPORT_C TInt MaxDownloadRetries( ) const; williamr@2: IMPORT_C void SetMaxDownloadRetries(const TInt aRetries); williamr@2: williamr@2: IMPORT_C TInt DownloadRetryInterval( ) const; williamr@2: IMPORT_C void SetDownloadRetryInterval(const TInt aInterval); williamr@2: williamr@2: IMPORT_C TInt MaxSendMsgSize( ) const; williamr@2: IMPORT_C void SetMaxSendMsgSize (const TInt aSize); williamr@2: williamr@2: IMPORT_C TBool FullScreenPreview( ) const; williamr@2: IMPORT_C void SetFullScreenPreview(TBool aFlag); williamr@2: williamr@2: IMPORT_C TInt DeviceContentClass( ) const; williamr@2: IMPORT_C void SetDeviceContentClass(const TInt aClass); williamr@2: williamr@2: IMPORT_C TInt MaxImageHeight( ) const; williamr@2: IMPORT_C void SetMaxImageHeight(const TInt aHeight); williamr@2: williamr@2: IMPORT_C TInt MaxImageWidth( ) const; williamr@2: IMPORT_C void SetMaxImageWidth(const TInt aWidth); williamr@2: williamr@2: void RemoveAllProxies(); williamr@2: void RemoveAllNapIds(); williamr@2: williamr@2: TUint32 MmsSettingsFlags() const; williamr@2: void SetMmsSettingsFlags(TUint32 aFlags); williamr@2: williamr@2: private: williamr@2: CMmsSettings(); williamr@2: williamr@2: enum TMmsSettingsFlags williamr@2: { williamr@2: ESmsSettingsNoFlags = 0x00000000, williamr@2: ESmsSettingsDisplayNotification = 0x00000002, williamr@2: ESmsSettingsCreationModeReadOnly = 0x00000004, williamr@2: ESmsSettingsPriority = 0x00000008, williamr@2: ESmsSettingsHideNumber = 0x00000010, williamr@2: ESmsSettingsReadReport = 0x00000020, williamr@2: ESmsSettingsDeliveryReport = 0x00000040, williamr@2: ESmsSettingsReplyWithHistory = 0x00000080, williamr@2: ESmsSettingsAllowDeliveryNotification = 0x00000100, williamr@2: ESmsSettingsFilterAdvertisements = 0x00000200, williamr@2: ESmsSettingsFullScreenPreview = 0x00000400 williamr@2: }; williamr@2: williamr@2: private: williamr@2: williamr@2: TUint32 iMmsSettingsFlags; williamr@2: TInt iApplicationId; williamr@2: HBufC* iAddress; williamr@2: TCreationMode iCreationMode; williamr@2: RArray iProxy; williamr@2: RArray iNapId; williamr@2: TAutomaticDownloadOptions iAutomaticDownloadOptions; williamr@2: TInt iValidityPeriod; williamr@2: TInt iMaxDownloadSize; williamr@2: TInt iMaxDownloadRetries; williamr@2: TInt iDownloadRetryInterval; williamr@2: TInt iMaxSendMsgSize; williamr@2: TInt iDeviceContentClass; williamr@2: TInt iMaxImageHeight; williamr@2: TInt iMaxImageWidth; williamr@2: }; williamr@2: williamr@2: #endif // __CSMSACCOUNT_H__