/*
* Copyright (c) 2009 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 CRADIOSYSTEMEVENTCOLLECTOR_H
#define CRADIOSYSTEMEVENTCOLLECTOR_H
#include <e32std.h>
class MRadioSystemEventObserver;
NONSHARABLE_CLASS( CRadioSystemEventCollector )
{
public:
IMPORT_C static CRadioSystemEventCollector* NewL();
IMPORT_C virtual ~CRadioSystemEventCollector();
/**
* Adds a system event observer
*
* @param aSystemObserver The observer to be added
*/
virtual void AddObserverL( MRadioSystemEventObserver* aSystemObserver ) = 0;
/**
* Removes a system event observer
*
* @param aSystemObserver The observer to be removed
*/
virtual void RemoveObserver( MRadioSystemEventObserver* aSystemObserver ) = 0;
/**
* Returns data network coverage state ( wlan or mobile ).
*
* @return ETrue if there is network coverage
*/
virtual TBool IsNetworkCoverage() const = 0;
/**
* Returns mobile network coverage state.
*
* @return ETrue if there is network coverage
*/
virtual TBool IsMobileNetworkCoverage() const = 0;
/**
* Returns current call state.
*
* @return ETrue if call is active
*/
virtual TBool IsCallActive() const = 0;
/**
* Returns current audio resources state.
*
* @return ETrue if audio resources are available
*/
virtual TBool IsAudioResourcesAvailable() const = 0;
/**
* Returns current headset connection status
*
* @return
*/
virtual TBool IsHeadsetConnectedL() const = 0;
/**
* Returns current Voice UI state.
*
* @return ETrue if Voice UI is active, EFalse otherwise
*/
virtual TBool IsVoiceUiActive() const = 0;
};
#endif // CRADIOSYSTEMEVENTCOLLECTOR_H