diff -r 000000000000 -r 2f259fa3e83a commonuis/CommonUi/inc/FindItemVoIPExtension.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonuis/CommonUi/inc/FindItemVoIPExtension.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2005-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: Get count of VoIP profiles. +* +*/ + +#ifndef FINDITEMVOIPEXTENSION_H +#define FINDITEMVOIPEXTENSION_H + +#include +#ifndef RD_VOIP_REL_2_2 +#include + +// FORWARD DECLARATIONS +class CRepository; +class CCenRepNotifyHandler; +#else +class CSPSettings; +class CSPSettingsVoIPUtils; +#endif // RD_VOIP_REL_2_2 + +// CLASS DECLARATION + +/** +* Internal class to get count of VoIP profiles and +* the value of the settings Preferred Telephone. +* Allows also to drop RCSE component from rom. +* +* @since Series 60 3.0 +*/ +NONSHARABLE_CLASS(CFindItemVoIPExtension): + public CBase +#ifndef RD_VOIP_REL_2_2 + ,public MCenRepNotifyHandlerCallback +#endif // RD_VOIP_REL_2_2 + { + public: + /** + * Two-phased constructor. + */ + static CFindItemVoIPExtension* NewL(); + + /** + * Destructor. + */ + ~CFindItemVoIPExtension(); + + /** + * Check if any VoIP profiles saved in the phone. + * @since Series60 3.0 + * @return ETrue if VoIP profiles exist, else EFalse. + */ + TBool VoIPProfilesExistL() const; + + /** + * Check Preferred Telephony key value VoIP + * @since Series60 3.0 + * @return ETrue if Send key creates VoIP call, else EFalse. + */ + TBool IsPreferredTelephonyVoIP(); + + /** + * Returns information of general VoIP feature + * @since Series60 3.0 + * @return ETrue if Send key creates VoIP call, else EFalse. + */ + TBool IsVoIPSupported(); + +#ifndef RD_VOIP_REL_2_2 + /** + * From MCentRepNotifyHandlerCallback. + * @since Series S60 3.0 + * @param aId Id of the key that has changed. + * @param aNewValue The new value of the key. + */ + void HandleNotifyInt( + TUint32 aId, TInt aNewValue ); + + /** + * From MCentRepNotifyHandlerCallback. + * @since Series S60 3.0 + * @param aId Id of the key this instance listens to or if notifications for + * whole repository are listened, could also be KInvalidNotificationId. + * @param aError Error code. + * @param aHandler Pointer to the handler instance. + * This pointer can be used to identify the handler or restart the listening. + */ + void HandleNotifyError( + TUint32 aId, TInt aError, CCenRepNotifyHandler* aHandler ); +#endif // !RD_VOIP_REL_2_2 + + private: + /** + * C++ default constructor. + */ + CFindItemVoIPExtension(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: +#ifndef RD_VOIP_REL_2_2 + /** + * Dynamic VoIP status + */ + TBool iVoIPSupported; + + /** + * Preferred Telephony settings value. EFalse=CS and ETrue=PS. + */ + TBool iPreferredTelephonyVoIP; + + /** + * A CR session & notifier + * Own. + */ + CRepository* iCenRepSession; + CCenRepNotifyHandler* iNotifier; + + /** + * A CR session & notifier for dynamic VoIP + * Own. + */ + CRepository* iVoIPVariation; + CCenRepNotifyHandler* iVoIPVariationNotifier; +#else // RD_VOIP_REL_2_2 + /** + * A Service provider settings + * Own. + */ + CSPSettings* iSPSettings; + CSPSettingsVoIPUtils* iSPSettingsVoipUtils; +#endif // !RD_VOIP_REL_2_2 + }; +#endif // FINDITEMVOIPEXTENSION_H + +// End of File \ No newline at end of file