--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sipplugins/sippwlanplugin/inc/sipbearermonitor.h Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,138 @@
+/*
+* 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: See class definition below.
+*
+*/
+
+#ifndef CSIPBEARERMONITOR_H
+#define CSIPBEARERMONITOR_H
+
+// INCLUDES
+#include <ecom.h>
+#include "sipbearermonitorobserver.h"
+#include "sipnetworkobserver.h"
+
+// FORWARD DECLARATIONS
+class MSIPBearerOwner;
+class MSIPNetworkInfoObserver;
+
+/**
+* @publishedPartner
+*
+* Construction parameters for CSIPBearerMonitor are packaged into
+* TSIPBearerParams
+*/
+class TSIPBearerParams
+ {
+ public:
+ inline TSIPBearerParams( MSIPBearerOwner& aOwner,
+ TInt aIapId,
+ TInt aError,
+ MSIPNetworkInfoObserver& aNetworkInfoObserver );
+
+ private:
+ TSIPBearerParams();
+
+ public:
+ MSIPBearerOwner& iOwner;
+ TInt iIapId;
+ TInt iError;
+ MSIPNetworkInfoObserver& iNetworkInfoObserver;
+ };
+
+// CLASS DECLARATION
+/**
+* @publishedPartner
+*
+* Interface for ECom Bearer Monitor plugins. Implementations must implement the
+* abstract functions defined in MSIPBearerMonitorObserver.
+*/
+class CSIPBearerMonitor :
+ public CObject,
+ public MSIPBearerMonitorObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Destructor.
+ * Informs ECom framework that this specific instance
+ * of the interface has been destroyed.
+ */
+ inline ~CSIPBearerMonitor();
+
+ public: // New methods
+
+ /**
+ * @return Current bearer monitor state
+ */
+ inline MSIPNetworkObserver::TNetworkState State() const;
+
+ /**
+ * Inherited monitor may override this to get refresh requests from observer
+ */
+ virtual inline void RefreshL( TInt aError );
+
+ /**
+ * Inherited monitor may override this to inform whether monitoring should be
+ * continued after aError occured
+ *
+ * @return Default implementation returns always EFalse
+ */
+ virtual inline TBool ContinueMonitoring( TInt aError );
+
+ protected: // Constructors
+
+ /**
+ * Constructor.
+ *
+ * @param aParams ECom instantiation parameters, basically
+ * this is a MSIPBearerOwner*.
+ */
+ inline CSIPBearerMonitor( TAny* aParams );
+
+ private: // Constructors
+
+ /**
+ * Default constructor. Not implemented.
+ */
+ CSIPBearerMonitor();
+
+ public: // Data
+
+ // Unique key for implementations of this interface.
+ TUid iInstanceKey;
+
+ protected: // Data
+
+ // Reference to our parent
+ MSIPBearerOwner& iParent;
+
+ // Network state.
+ MSIPNetworkObserver::TNetworkState iState;
+
+ // IapId which created this monitor, monitor plugins which are shared
+ // by multiple accesspoints (e.g. gprs monitor) don't really need this
+ // information
+ TInt iIapId;
+
+ // Error which caused plugins loading, may be also KErrNone
+ TInt iError;
+
+ // Observer listening for access network information changes
+ MSIPNetworkInfoObserver& iNetworkInfoObserver;
+ };
+
+#include "sipbearermonitor.inl"
+
+#endif // CSIPBEARERMONITOR_H