--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/inc/cchuinotifier.h Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,271 @@
+/*
+* 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: Notifier base class definition
+*
+*/
+
+
+
+#ifndef C_CCHUINOTIFIER_H
+#define C_CCHUINOTIFIER_H
+
+#include <eikenv.h>
+#include <eiknotapi.h>
+#include <data_caging_path_literals.hrh>
+#include <AknNotiferAppServerApplication.h>
+
+#include "cchuicommon.hrh"
+
+class CSPSettings;
+class CAknQueryDialog;
+class CAknTextQueryDialog;
+
+/**
+ * Defines base class for notifier implementation(s).
+ * Provides implementation that is common for all notifier
+ * implementation.
+ *
+ * @code
+ * @endcode
+ *
+ * @lib cchuinotif.lib
+ * @since S60 5.0
+ */
+NONSHARABLE_CLASS( CCCHUiNotifierBase ):
+ public CActive, public MEikSrvNotifierBase2
+ {
+public:
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCCHUiNotifierBase();
+
+protected:
+
+ CCCHUiNotifierBase();
+
+ virtual void ConstructL();
+
+ /**
+ * Complete Client/Server message and Nulled the reply slot.
+ *
+ * @since S60 5.0
+ * @param aErr Error code for client notification.
+ */
+ void CompleteMessage( TInt aErr );
+
+ /**
+ * Scans for resource file. Ownership of returned value
+ * is passed.
+ *
+ * @since S60 5.0
+ * @param aSession file server session
+ * @param aFileName file name
+ * @param aFilePath file path
+ * @return resource file path and name
+ */
+ HBufC* ScanFileL(
+ RFs& aSession,
+ const TDesC& aFileName,
+ const TDesC& aFilePath );
+
+ /**
+ * Resolves service name.
+ *
+ * @since S60 5.0
+ * @param aServiceId service id
+ * @param aServiceName resolved service name
+ */
+ void GetServiceNameL( TUint aServiceId, TDes& aServiceName );
+
+ /**
+ * Get current connections name.
+ *
+ * @since S60 5.0
+ * @param aServiceId service id
+ * @param aIapId iap id
+ * @param aIapName iap name to be stored to this
+ */
+ void CurrentConnectionNameL(
+ TUint aServiceId,
+ TUint aIapid,
+ RBuf& aIapName );
+
+ /**
+ * Resolves if service is SIP/VoIP.
+ *
+ * @since S60 5.0
+ * @param aServiceId service id
+ * @return ETrue if service is SIP/VoIP
+ */
+ TBool IsSIPVoIPL( TUint aServiceId );
+
+ /**
+ * Checks if phone is in offline mode.
+ *
+ * @since S60 5.0
+ * @return ETrue if phone is in offline mode.
+ */
+ TBool IsPhoneOfflineL() const;
+
+ /**
+ * Checks if there is GPRS IAPs available in Internet SNAP.
+ *
+ * @since S60 5.0
+ * @return ETrue if phone is in offline mode.
+ */
+ TBool IsGprsIapsAvailableL() const;
+
+ /**
+ * Checks if connection is used by other services.
+ *
+ * @since S60 5.0
+ * @param aServiceId service id.
+ * @param aIapId access point id.
+ * @return ETrue if connection used by other services.
+ */
+ TBool ConnectionUsedByOthersL( TUint aServiceId, TInt aIapId );
+
+// from base class MEikSrvNotifierBase2
+
+ /**
+ * From MEikSrvNotifierBase2.
+ * Called when a notifier is first loaded
+ * to allow any initial construction that is required.
+ *
+ * @return A structure containing priority and channel info.
+ */
+ virtual TNotifierInfo RegisterL() = 0;
+
+ /**
+ * From MEikSrvNotifierBase2.
+ * The notifier has been deactivated
+ * so resources can be freed and outstanding messages completed.
+ */
+ virtual void Cancel();
+
+ /**
+ * From MEikSrvNotifierBase2.
+ * Asynchronic notifier launch.
+ *
+ * @param aBuffer A buffer containing received parameters
+ * @param aReturnVal The return value to be passed back.
+ * @param aMessage Should be completed when the notifier is deactivated.
+ * @return A pointer to return value.
+ */
+ virtual void StartL(
+ const TDesC8& aBuffer,
+ TInt aReplySlot,
+ const RMessagePtr2& aMessage );
+
+
+private:
+
+// from base class MEikSrvNotifierBase2
+
+ /**
+ * From MEikSrvNotifierBase2.
+ * Called when all resources allocated by notifiers should be freed.
+ */
+ virtual void Release();
+
+ /**
+ * From MEikSrvNotifierBase2.
+ * Called when all resources allocated by notifiers should be freed.
+ *
+ * @return A structure containing priority and channel info.
+ */
+ virtual TNotifierInfo Info() const;
+
+ /**
+ * From MEikSrvNotifierBase2.
+ * Synchronic notifier launch.
+ *
+ * @param aBuffer Received parameter data.
+ * @return A pointer to return value.
+ */
+ virtual TPtrC8 StartL( const TDesC8& aBuffer );
+
+ /**
+ * From MEikSrvNotifierBase2.
+ * Updates a currently active notifier.
+ *
+ * @param aBuffer The updated data.
+ * @return A pointer to return value.
+ */
+ virtual TPtrC8 UpdateL( const TDesC8& aBuffer );
+
+ /**
+ * From CActive Gets called when a request is cancelled.
+ * @param None.
+ * @return None.
+ */
+ virtual void DoCancel();
+
+ /**
+ * From CActive Gets called when a request is cancelled.
+ * @param None.
+ * @return None.
+ */
+ virtual void RunL();
+
+protected: // data
+
+ /**
+ * Pointer to service provider settings.
+ * Own.
+ */
+ CSPSettings* iSettings;
+
+ /**
+ * Local eikonenv.
+ * Own.
+ */
+ CEikonEnv* iEikEnv;
+
+ /**
+ * Received message.
+ */
+ RMessagePtr2 iMessage;
+
+ /**
+ * Notifier parameters structure.
+ */
+ TNotifierInfo iInfo;
+
+ /**
+ * Reply slot.
+ */
+ TInt iReplySlot;
+
+ /**
+ * Flag for eikon env.
+ */
+ TInt iResourceFileFlag;
+
+ /**
+ * Dialog mode.
+ */
+ MCchUiObserver::TCchUiDialogType iDialogMode;
+
+ /**
+ * Service id.
+ */
+ TUint iServiceId;
+
+ CCHUI_UNIT_TEST( T_CchUiNotifierBase )
+ };
+
+#endif // C_CCHUINOTIFIER_H