diff -r 000000000000 -r 307788aac0a8 sipplugins/sippsystemstatemonitor/inc/sipsystemstatemonitorimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sipplugins/sippsystemstatemonitor/inc/sipsystemstatemonitorimpl.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2007 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: +* +*/ + +#ifndef CSIPSYSTEMSTATEMONITORIMPL_H +#define CSIPSYSTEMSTATEMONITORIMPL_H + +// INCLUDES +#include "sipsystemstatemonitorao.h" +#include "sipsnapavailabilitymonitor.h" +#include "MSystemStateConnUsagePermissionObserver.h" +#include +#include + +// FORWARD DECLARATIONS +class CSystemStateConnUsagePermissionMonitor; +class CSipDeviceStateAware; +class CSipRfsMonitorAo; +// CLASS DECLARATION +/** +* The default implementation for Sip System State Monitor. +* +* @lib sipsystemstatemonitor.lib +*/ +class CSipSystemStateMonitorImpl : public CSipSystemStateMonitor + { + public: // Constructors and destructor + + static CSipSystemStateMonitorImpl* NewL(); + ~CSipSystemStateMonitorImpl(); + + public: // From CSipSystemStateMonitor + + CSipSystemStateMonitor::TSystemState State() const; + + void StartMonitoringL( TSystemVariable aVariable, + TInt aObjectId, + MSipSystemStateObserver& aObserver ); + + void StopMonitoring( TSystemVariable aVariable, + TInt aObjectId, + MSipSystemStateObserver& aObserver ); + + TInt CurrentValue( TSystemVariable aVariable, + TInt aObjectId ) const; + + void EventProcessingCompleted( TSystemVariable aVariable, + TInt aObjectId, + MSipSystemStateObserver& aObserver); + + private: // Constructors + + CSipSystemStateMonitorImpl(); + void ConstructL(); + + private: // Private functions + + CSipSnapAvailabilityMonitor* FindSnapMonitorById( + TInt aSnapId ) const; + + private: // Data + + CSipSystemStateMonitorAo* iMonitorAo; + RPointerArray iSnapMonitors; + CSystemStateConnUsagePermissionMonitor* iUsagePermissionMonitor; + CSipRfsMonitorAo* iRfsMonitor; + CSipDeviceStateAware* iSipDeviceAwareObject; + + private: // For testing purposes + + friend class CSipSystemStateMonitorImplTest; + }; + + +#endif // CSIPSYSTEMSTATEMONITORIMPL_H