msgconnmanager/inc/msgconnmanager.h
branchRCL_3
changeset 34 2669f8761a99
parent 31 2580314736af
child 35 fbd2e7cec7ef
--- a/msgconnmanager/inc/msgconnmanager.h	Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,365 +0,0 @@
-/*
-* 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:   Connection manager
-*
-*/
-
-
-
-
-#ifndef __MSGCONNMANAGER__
-#define __MSGCONNMANAGER__
-
-// INCLUDES
-#include <commdb.h>
-#include <es_sock.h>
-#include <commdbconnpref.h>
-#include <msgconnmanagerapi.h>
-#include "msgconntimercallback.h"
-
-
-//CONSTANTS
-_LIT( KConnManLogDir,                           "MsgConnMan" );
-_LIT( KConnManLogFile,                          "MsgConnManager.txt" );
-const TInt KConnManLogBufferMaxSize		        = 2000;
-
-//FORWARD DECLARATIONS
-class CMsgConnTimer;
-class MMsgBearerObsCallback;
-
-// CLASS DECLARATION
-class CMsgConnManager : public CActive,
-                        public MMsgConnManager,
-                        public MMsgConnTimerCallback
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Symbian OS default constructor.
-        * @param TInt Default Access Point ID
-        * @return CMsgConnManager*
-        */     
-        static CMsgConnManager* NewL( const TInt aAccessPoint );
-
-        /**
-        * Destructor.
-        */      
-        virtual ~CMsgConnManager();
-
-    public:   //New functions   
-        
-        /**
-        * Symbian OS default constructor.
-        * @param TRequestStatus& Request status of the caller
-        * @return void
-        */  
-        virtual void StartConnection( TRequestStatus& aStatus );
-    
-        /**
-        * Stop a connection, synchronous version
-        * @return void
-        */  
-        virtual void StopConnection();
-        
-        /**
-        * Stop a connection, asynchronous version
-        * @return void
-        */  
-        virtual void StopConnection( TRequestStatus& aStatus );
-        
-        /**
-        * Cancel StartConnection(). The method may leave with
-        *   - KErrAbort if the TRequestStatus object the client
-        *     supplied is not active, hence, there is no pending
-        *     request that would require cancelling.
-        * In normal cases - when RConnection::Start() or its 
-        * progress notifications are pending - ConnMan completes
-        * the client's request with the "error" KErrCancel.
-        */
-        virtual void CancelStartL();
-
-        /**
-        * Set the ID of the Access Point to connect to.
-        * @param aAccessPointID
-        * @return void
-        */
-        virtual void SetAccessPointIDL( const TInt aAccessPointID );
-
-        /**
-        * Returns the number of connections presently active
-        * @return TInt
-        */
-        virtual TInt NumberOfActiveConns();
-        
-        /**
-        * Read from the Comms Database
-        * @param const TMsgSupportedCommDbRecords& aParameter
-        * @return HBufC8*
-        */
-        virtual HBufC* ReadFromCommsDbLC( const TSupportedCommDbRecords aParameter );
-        
-        /**
-        * Returns a reference to the active socket server.
-        * @return RConnection&
-        */
-        virtual RConnection& Connection();
-
-        /**
-        * Returns a reference to the active socket server.
-        * @return RSocketServ&
-        */
-        virtual RSocketServ& SocketSession();
-
-        /**
-        * Add an object to the queue of listeners. The object to be added
-        * must inplement the interface MMsgBearerObsCallback in order
-        * to receive events from the system agent. It is important to note
-        * that the call to the notification handler (HandleBearerEventL())
-        * takes place inside the RunL() method of this Connection Manager,
-        * so the listening object MUST return the control to the Manager
-        * AS SOON AS POSSIBLE in order not to clog the scheduler.
-        * @param MMsgBearerObsCallback* aClient
-        * @return void
-        */
-        virtual void AddEventSubscriberL( MMsgBearerObsCallback* aClient );
-        
-        /**
-        * Remove an object from the queue of listeners. It is no necessary
-        * to call this method at deletion time, as the destructor destroys
-        * the subscriber queue altogether. If, however, a listener object is
-        * destroyed before an instance of Connection Manager, it is mandatory
-        * to remove the listener from the queue prior to deleting the listener.
-        * @param MMsgBearerObsCallback* aClient
-        * @return void
-        */
-        virtual void RemoveEventSubscriber( MMsgBearerObsCallback* aClient );
-
-        /**
-        * Returns the status of the ConnMan: ETrue if sending is OK, EFalse otherwise
-        * @return TBool
-        */
-        virtual TBool Status() const;
-        
-        /**
-        * Destructor.
-        * @return void
-        */
-        virtual void Destroy();
-        
-    public:
-
-    #ifdef _DEBUG
-
-        /**
-        * A Global logging function
-        * @param TRefByValue<const TDesC8> aFmt,...
-        * @return void
-        */ 
-        static void WriteToLog( TRefByValue<const TDesC8> aFmt,... );
-
-    #endif
-
-    private:
-        
-        /**
-        * Start to keep an eye on the opened connection
-        * @return void
-        */ 
-        void StartNetworkObserver();
-        
-        /**
-        * Determine the state of the connection opening
-        * @return void
-        */ 
-        void WatchConnectionOpening();
-        
-        /**
-        * Determine the state of the (opened) connection
-        * @return void
-        */ 
-        void DetermineConnectionStatusL();
-        
-        /**
-        * Broadcast the bearer event to registered listeners
-        * @param TMsgBearerEvent aBearerEvent
-        * @return void
-        */ 
-        void BroadcastBearerEventL( const TMsgBearerEvent aBearerEvent );
-
-        /**
-        * Determine which value is to be fetched from the CommsDb
-        * @param TPtrC& aDbView
-        * @param TPtrC& TPtrC& aDbColumn
-        * @param TMsgSupportedCommDbRecords aParameter
-        * @return TBool
-        */ 
-        TInt DetermineRecordTypeLC( TPtrC& aDbColumn,
-                                    CCommsDbTableView*& aView,
-                                    const TSupportedCommDbRecords aParameter );
-
-        /**
-        * Broadcast the bearer event to registered listeners
-        * @param TMsgBearerEvent aBearerEvent
-        * @return void
-        */ 
-        TInt InitCommDbViewLC( TPtrC& aDbRecord,
-                               CCommsDbTableView*& aView,
-                               const TSupportedCommDbRecords aParameter );
-        
-        /**
-        * Broadcast the bearer event to registered listeners
-        * @param TMsgBearerEvent aBearerEvent
-        * @return void
-        */ 
-        TBool CheckProxyUsageLC( CCommsDbTableView*& aView );
-
-        /**
-        * Issue a new asynchronous request
-        * @return void
-        */
-        void IssueRequest();
-        
-        /**
-        * Check the availability of GPRS Network
-        * @return TBool Available or not
-        */
-        TBool IsValidApL( TUint32 aUid );
-        
-        /**
-        * Handle the opening of a new connection
-        * @return void
-        */
-        void HandleNewConnection();
-
-        /**
-        * Handle an existing connection
-        * @return void
-        */
-        void HandleExistingConnection();
-
-        /**
-        * Symbian OS second-phase constructor
-        * @param TInt aAccessPoint
-        * @return void
-        */ 
-        void ConstructL( const TInt aAccessPoint );
-        
-        /**
-        * Delete the log files
-        * @return void
-        */ 
-        void DeleteLogFileL();
-
-        /**
-        * C++ default constructor is private
-        * @return void
-        */      
-        CMsgConnManager();
-
-        /**
-        * From CActive
-        * @return void
-        */
-        void RunL();
-
-        /**
-        * From CActive
-        * @return void
-        */
-        void DoCancel();
-    
-    private:  //From MMsgConnectionTimerCallback
-        
-        /**
-        * Catch a timer event
-        * @param TInt aStatus
-        * @return void
-        */
-        virtual void HandleTimerEvent( TInt aStatus );
-        
-    private: //Data
-        
-        enum TMsgConnManState
-            {
-            EMsgConnManIdle = 0,
-            EMsgConnManWaitingForStartComplete,
-            EMsgConnManWaitingForNotifications,
-            EMsgConnManDisconnectingPrevious,
-            EMsgConnManObservingAccessPoint,
-            EMsgConnManBearerSuspended,
-            EMsgConnManBearerLost
-            };
-        
-        TInt                                            iAccessPointID;
-        TInt                                            iLastConnectionStage;
-        TBool                                           iProgressStarted;
-        TBool                                           iConnectionClosed;
-        TNifProgressBuf                                 iProgressBuffer;
-        TMsgConnManState                                iConnManStatus;
-        TRequestStatus*                                 iClientStatus;
-        TRequestStatus*                                 iPingRequestStatus;
-        TRequestStatus*                                 iTimedCompleteStatus;
-        CCommsDatabase*                                 iCommsDatabase;
-        CMsgConnTimer*                                  iConnectionTimer;
-        RConnection                                     iConnection;
-        TCommDbConnPref                                 iAccessPointSettings;     
-        RSocketServ                                     iSocketSession;
-        RPointerArray<MMsgBearerObsCallback>	        iEventSubscribers;
-    };
-
-// ---------------------------------------------------------
-// CMsgConnManager::StartBearerObserver
-// If the status is any other than EMsgConnManObservingAccessPoint
-// there is something fishy going on => do not send/receive anything
-// ---------------------------------------------------------
-//
-inline TBool CMsgConnManager::Status() const
-    {
-    return iConnManStatus == EMsgConnManObservingAccessPoint;
-    }
-
-// ---------------------------------------------------------
-// CMsgConnManager::SocketSession
-// 
-// ---------------------------------------------------------
-//
-inline RSocketServ& CMsgConnManager::SocketSession()
-    {
-    return iSocketSession;
-    }
-
-// ---------------------------------------------------------
-// CMsgConnManager::Connection
-// 
-// ---------------------------------------------------------
-//
-inline RConnection& CMsgConnManager::Connection()
-    {
-    return iConnection;
-    }
-
-// ---------------------------------------------------------
-// CMsgConnManager::Destroy
-// 
-// ---------------------------------------------------------
-//
-inline void CMsgConnManager::Destroy()
-    {
-    delete this;
-    }
-
-#endif
-
-
-// End of File