fotaapplication/fotaserver/inc/FotaNetworkRegStatus.h
branchRCL_3
changeset 25 b183ec05bd8c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fotaapplication/fotaserver/inc/FotaNetworkRegStatus.h	Tue Aug 31 16:04:06 2010 +0300
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2005 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:   GPRS and Wlan status getter for sending Generic Alerts
+ *
+ */
+
+#ifndef __FOTANETWORKREGSTATUS_H__
+#define __FOTANETWORKREGSTATUS_H__
+
+// SYSTEM INCLUDES
+#include <e32base.h>
+#include <rconnmon.h>
+
+//Forward declarations
+class CFotaServer;
+
+//Constants used in this class
+
+const TTimeIntervalMicroSeconds32 KTimeInterval = 1000000; //1 second, duration between each retry.
+const TInt KRetries = 10; //Maximum number of retries.
+
+/**
+ * Actice object class that runs a timer for probing network status (GPRS & WLAN)
+ *  @lib    fotaserver
+ *  @since  S60 v3.2
+ */
+NONSHARABLE_CLASS (CFotaNetworkRegStatus) : public CActive
+    {
+public:
+    //Symbian 2-Phase construction
+
+    static CFotaNetworkRegStatus* NewL(CFotaServer* aObserver);
+    static CFotaNetworkRegStatus* NewLC(CFotaServer* aObserver);
+
+    /**
+     * Destructor.
+     */
+    virtual ~CFotaNetworkRegStatus();
+
+public:
+    /**
+     * Starts monitoring for Network status before sending Generic Alert
+     *
+     * @since   S60   v3.2
+     * @param   None
+     * @return  None
+     */
+
+    void StartMonitoringL();
+
+    /** 
+     * Checks whether the network connection possible with the IAP Id provided
+     *
+     * @since   S60   v3.2
+     * @param   None
+     * @return  ETrue if yes, EFalse when not possible
+     */
+    //TBool IsConnectionPossibleL(TInt aIapid);
+
+public:
+    // Functions from base classes
+    /**
+     * From CActive,DoCancel.
+     */
+    void DoCancel();
+
+    /**
+     * From CActive,RunL.
+     */
+    void RunL();
+
+    /**
+     * From CActive,RunError.
+     */
+    TInt RunError(TInt aError);
+
+private:
+    //functions
+
+    //Constructors
+
+    CFotaNetworkRegStatus();
+    CFotaNetworkRegStatus(CFotaServer* aObserver);
+
+    //Symbian 2-Phase construction 
+    void ConstructL();
+
+    /**
+     * Checks GlobalRFs status
+     *
+     * @since   S60   v3.2
+     * @param   None
+     * @return  ETrue if success, EFalse if failure
+     */
+    TBool CheckGlobalRFState();
+
+    /**
+     * Checks Network status, basically Network Registration
+     *
+     * @since   S60   v3.2
+     * @param   None
+     * @return  ETrue if success, EFalse if failure
+     */
+    TBool CheckNetworkRegStateL();
+
+    /**
+     * Checks Wlan status
+     *
+     * @since   S60   v3.2
+     * @param   None
+     * @return  ETrue if success, EFalse if failure
+     */
+    TBool IsWlanSupportedL();
+
+    /**
+     * To find the bearer of the IapId
+     *
+     * @since   S60   v3.2
+     * @param   aIapId
+     * @return  ETrue/EFalse
+     */
+    //TUint32 FindBearerL(TInt aIapId);
+
+private:
+    // data
+
+    /**
+     * timer used for monitoring
+     */
+    RTimer iTimer;
+
+    /**
+     * S60 monitory class used for monitoring network status
+     */
+    RConnectionMonitor iMonitor;
+
+    /**
+     * FotaServer
+     */
+    CFotaServer* iObserver;
+
+    /**
+     * Number of retries
+     */
+    TInt iRetriesLeft;
+
+    /**
+     * GlobalRFs state
+     */
+    TBool iGlobalRFState;
+    };
+
+#endif // __FOTANETWORKREGSTATUS_H__
+// End of File