diff -r 000000000000 -r 5e5d6b214f4f imstutils/xmppadapter/inc/xmppadapter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imstutils/xmppadapter/inc/xmppadapter.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,314 @@ +/* +* Copyright (c) 2008-2009 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: Handles Meco IM settings in OMA provisioning. +* +*/ + + +#ifndef C_XMPPADAPTER_H +#define C_XMPPADAPTER_H + +// INCLUDES +#include +#include +class CCoeEnv; + + +// CLASS DECLARATION + +/** + * CXMPPAdapter handles XMPP conifurations. + * The processes configurations are stored inside VENDORCONFIG element. + * + * @lib xmppadapter.lib + * @since S60 v5.0 + */ +class CXMPPAdapter : public CWPAdapter + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aStorage Storage instance + * @param aObserver contact data container observer + * + */ + + static CXMPPAdapter* NewL(); + + /** + * Destructor + */ + virtual ~CXMPPAdapter(); + + public: // Functions from base classes + /** + * Reads resource corresponding to the aId + * + * @return Resource buffer + */ + + HBufC* ReadResourceL( TInt aId ); + + /** + * From CWPAdapter. + * Checks the number of settings items. + * + * @return Quantity of items (always one). + */ + TInt ItemCount() const; + + /** + * From CWPAdapter. + * Getter for the summary title of general IM settings item. Text is + * shown to the user in an opened configuration message. + * + * @param aIndex Not used. + * @return Summary title. + */ + const TDesC16& SummaryTitle( TInt aIndex ) const; + + + /** + * From CWPAdapter. + * Getter for the summary text of general IM settings. Text is shown + * to the user in opened configuration message. + * + * @param aIndex Not used. + * @return Summary text. + */ + const TDesC16& SummaryText( TInt aIndex ) const; + + /** + * From CWPAdapter. + * Query for detailed information about the general IM settings. + * This is not supported feature as in other adapters in the framework. + * + * @param aItem Not used but here because of inheritance. + * @param aVisitor Object for retrieveing details of a setting entry. + * @return KErrNotSupported if not supported. + */ + TInt DetailsL( TInt aItem, MWPPairVisitor& aVisitor ); + + /** + * From CWPAdapter. + * Saves general IM settings. + * + * @param aIndex Not used. + */ + void SaveL( TInt aItem ); + + /** + * From CWPAdapter. + * Returns EFalse since there can only be one set of general VoIP + * settings. + * + * @param aItem Location of the general IM settings item to + * be queried. Not used. + * @return Information whether these settings can be set as default. + */ + TBool CanSetAsDefault( TInt aItem ) const; + + /** + * From CWPAdapter. + * Adapter sets the settings as default. Not supported. + * + * @param aItem Location of the general IM settings item to be + * set as default. + */ + void SetAsDefaultL( TInt aItem ); + + /** + * From CWPAdapter. + * Visit method. Visits the adapter. Adapter checks from + * aCharacteristic if the data is targetet to it and acts according to + * that. + * + * @param aCharacteristic The characteristic found. + */ + void VisitL( CWPCharacteristic& aCharacteristic ); + + /** + * From CWPAdapter. + * Visit method. Visits the adapter. Method sets the iAppId value. + * + * @param aParameter The parameter found. + */ + void VisitL( CWPParameter& aParameter ); + + /** + * From CWPAdapter. + * Visit method. Not supported. + * + * @param aLink Link to the characteristic. + */ + void VisitLinkL( CWPCharacteristic& /*aLink*/ ); + + private: // Default constructors + + /** + * C++ default constructor. + */ + CXMPPAdapter(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: // New functions + + /** + * Creates the settings from the received provisioning + */ + void CreateSettingsRecordL(); + + /** + * Updates the existing settings + */ + void UpdateServiceSettingsL(); + + /** + * Parses integer form Descriptor + * + * @param aPtr to be parsed. + * @param aInt parsed integer value is stored.. + */ + void ParseIntegerL( const TDesC& aPtr, TInt& aInt ); + /** + * writes the application specific settings into cenrep + * + * e.g. cancel login support : This writes if cancel lgin not supported. + */ + void WriteAppSettingsL(); + + /** + * This will check for the IM subservice in sp settings table + * if any service in spsettings is having IM Subservice + * this will return Etrue else it will return EFalse + * @Return - ETrue - if IM Subservice Exists else EFalse + **/ + TBool CheckforXmppserviceL(); + + private: // Data + /** + * user name for the current characteristic. + * Owned + */ + HBufC* iUserName; + /** + * password for the current characteristic. + * Owned + */ + HBufC* iPassword; + + /** + * user name the current characteristic. + * Owned + */ + HBufC* iProviderId; + + /** + * settingsrecordid for the current characteristic. + * Owned + */ + TUint32 iSettingsRecordId; + + /** + * service id for the current characteristic. + */ + TInt iServiceProviderId; + + /** + * Application ID of the current characteristic. + * Owned + */ + HBufC* iAppId; + + /** + * pointer to Application ID of the current characteristic. + */ + TPtrC iAppIdPtr; + + /** + * xmppserveraddress of the current characteristic. + * Owned + */ + HBufC* iXmppServerAddress; + /** + * protocol id of the current characteristic. + * Owned + */ + HBufC* iProtocol; + /** + * Sanp id of the current characteristic. + */ + TInt iSnapId; + + /** + * ssl of the current characteristic. + */ + TInt iSSL; + + /** + * port number of the current characteristic. + */ + TInt iPortNbr; + + /** + * Domain name the current characteristic. + * Owned + */ + HBufC* iDomainName; + + /** + * BranId for the service specific icons. + */ + HBufC* iBrandId; + + /** + * Reference Name. + */ + HBufC* iAppref; + + /** + * Default text + */ + HBufC* iDefaultName; + + /** + * Title + */ + HBufC* iTitle; + /** + * Confirms whether APPID is correct (w9033). + */ + TBool iIsAppIdOk; + + /* + * the user viewable name of general XMPP settings. + */ + HBufC* iAppName; + + /* + * Resource file to read + */ + RResourceFile iResFile; + + }; + +#endif // C_XMPPADAPTER_H + +// End of File