idlefw/inc/framework/ainwsdlgcontroller.h
changeset 0 79c6a41cd166
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/idlefw/inc/framework/ainwsdlgcontroller.h	Thu Dec 17 08:54:17 2009 +0200
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2005-2006 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:  Network selection dialog controller
+*
+*/
+
+
+#ifndef C_AINWSDLGCONTROLLER_H
+#define C_AINWSDLGCONTROLLER_H
+
+#include <e32base.h>
+#include <AknSoftNotifier.h>
+#include <NWHandlingEngine.h>
+
+class CNWSession;
+
+/**
+ * Network Selection Dialog controller.
+ */
+NONSHARABLE_CLASS( CAiNwSDlgController ) : 
+        public CBase,
+        public MNWMessageObserver
+	{
+public:
+
+// Constructors and destructors
+
+    /**
+     * Creates a new instance of the class.
+     *
+     * @return    A new instance of the class.
+	 * @exception Any of the system-wide error codes if instance creation
+	 *            fails due to an unrecoverable error.
+     */
+    static CAiNwSDlgController* NewL();
+
+    ~CAiNwSDlgController();
+	
+// from MNWMessageObserver
+
+	void HandleNetworkMessage( const TNWMessages aMessage );
+    void HandleNetworkError( const TNWOperation aOperation, TInt aErrorCode );
+		
+private:
+
+// Constructors
+	
+    CAiNwSDlgController();
+	
+	void ConstructL();
+	
+private:
+    
+// New functions
+    
+    /**
+     * Take action according to current state change.
+     */
+    void HandleStateChange();
+
+    /**
+     * 
+     */
+    void HandleNetworkFound();
+
+    /**
+     * 
+     */
+    void HandleNetworkLost();
+
+    /**
+     * Opens the network selection dialog.
+     */
+    void LaunchDialog();
+
+    /**
+     * Cancels the network selection dialog.
+     */
+    void CancelDialog();
+
+    /**
+     * Tests if offline mode is engaged.
+     *
+     * @return ETrue if offline mode is currently active
+     */
+    TBool IsOffLineMode() const;
+
+    /**
+     * Tests if Bluetooth SAP is in connected mode.
+     *
+     * @return ETrue if Bluetooth SAP is active.
+     */
+    TBool IsBluetoothSAPConnected() const;
+
+    static TInt DelayCallBack(TAny* aParam);
+
+private:
+    
+// Data
+
+    /**
+     * Notifier service
+     * Own
+     */
+    CAknSoftNotifier* iSoftNotifier;
+    
+    /**
+     * Session to network handling engine.
+     * Own.
+     */
+    CNWSession* iSession;
+
+    /**
+     * Cached network info structure.
+     */
+    TNWInfo iInfo;
+
+    /**
+     * A true value if registered to network.
+     */
+    TBool iRegistered;
+
+    /**
+     * Profile API.
+     */
+    CRepository* iProfileApi;
+
+    /**
+     * Timer object for 1-minute delay
+     */
+    CPeriodic* iPeriodic;
+    };
+
+#endif // C_AINWSDLGCONTROLLER_H
+
+// End of file.