diff -r 5b2a402e96ac -r 25fce757be94 usbuis/usbui/USBClassChangeUIPlugin/inc/usbotghoststatewatcher.h --- a/usbuis/usbui/USBClassChangeUIPlugin/inc/usbotghoststatewatcher.h Thu Aug 19 10:54:11 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,267 +0,0 @@ -/* -* 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: OtgHost state watcher class. - * -*/ - - -#ifndef USBOTGHOSTSTATEWATCHER_H -#define USBOTGHOSTSTATEWATCHER_H - -// INCLUDE FILES -#include -#include -#include -#include - - -/** - * A callback interface for informing about OtgHost state changes - */ -class MUSBOtgHostStateObserver - { - public: - - /** - * Informs the observer that USB Otg Id Pin state has changed. - * @param aIsPinOn Id pin state - ETrue(On), EFalse(Off) - */ - virtual void OtgHostIdPinStateChanged(TBool aIsIdPinOn) = 0; - - /** - * Informs the observer that USB host event. - * @param aEventInfo Device information related to this event - */ - virtual void HostEventNotify(TDeviceEventInformation aEventInfo) = 0; - }; - -// CLASS DECLARATION - -/** - * Class that listens for USB OtgHost state changes then notifies - * the observer. - */ -class CUSBOtgHostStateWatcher : CBase - { - class CUSBOtgIdPinStateWatcher : public CActive - { - public: - /** - * Two-phased constructor. - * - * @param aOtgHostStateWatcher Reference to the owner - CUSBOtgHostStateWatcher. - * @return Pointer to created object. - */ - static CUSBOtgIdPinStateWatcher* NewL(CUSBOtgHostStateWatcher& aOtgHostStateWatcher); - - /** C++ destructor */ - virtual ~CUSBOtgIdPinStateWatcher(); - - /** - * Get Id pin state - * @aIsIdPinOn Receive Id pin on/off state. ETrue: Id pin on, EFalse: Id pin off. - * @return KErrNone if successful, otherwise the error that occurred - */ - TInt IsIdPinOn(TBool &aIsIdPinOn); - - protected: - // from base class CActive - /** - * From CActive. - * This method is called when Id pin state has changed. - */ - void RunL(); - - /** - * From CActive. - * In this implementation this method should never be called. - * - * @param aError the leave code - * @return KErrNone - */ - TInt RunError(TInt aError); - - /** - * From CActive - * If there is outstanding request pending when Cancel() is called then - * this method must cancel request. - */ - void DoCancel(); - - private: - /** - * C++ constructor - * @param aOtgHostStateWatcher Reference to the owner - CUSBOtgHostStateWatcher. - */ - CUSBOtgIdPinStateWatcher(CUSBOtgHostStateWatcher& aOtgHostStateWatcher); - - /** - * 2nd phase constructor. - */ - void ConstructL(); - - private: // Data - /** - * The observer observes property change - */ - RProperty iIdPin; - - /** - * The owner - CUSBOtgHostStateWatcher - */ - CUSBOtgHostStateWatcher& iOtgHostStateWatcher; - }; - - class CUSBHostEventNotifWatcher : public CActive - { - public: - /** - * Two-phased constructor. - * - * @param aOtgHostStateWatcher Reference to the owner - CUSBOtgHostStateWatcher. - * @return Pointer to created object. - */ - static CUSBHostEventNotifWatcher* NewL(CUSBOtgHostStateWatcher& aOtgHostStateWatcher); - - /** C++ destructor */ - virtual ~CUSBHostEventNotifWatcher(); - - protected: - // from base class CActive - /** - * From CActive. - * This method is called when host event emerged . - */ - void RunL(); - - /** - * From CActive. - * In this implementation this method should never be called. - * - * @param aError the leave code - * @return KErrNone - */ - TInt RunError(TInt aError); - - /** - * From CActive - * If there is outstanding request pending when Cancel() is called then - * this method must cancel request. - */ - void DoCancel(); - - private: - /** - * C++ constructor - * @param aOtgHostStateWatcher Reference to the owner - CUSBOtgHostStateWatcher. - */ - CUSBHostEventNotifWatcher(CUSBOtgHostStateWatcher& aOtgHostStateWatcher); - - /** - * 2nd phase constructor. - */ - void ConstructL(); - - private: // Data - /** - * Notification info comes to this member - */ - TDeviceEventInformation iEventInfo; - - /** - * The owner - CUSBOtgHostStateWatcher - */ - CUSBOtgHostStateWatcher& iOtgHostStateWatcher; - }; - - public: // Constructors and destructor - - /** - * Two-phased constructor. Uses existing usb manager session. - * Note that it's not possible (and usually not necessary) to attach - * more than one USBOtgHostStateWatcher to the same session. - * - * @param aObserver Reference to OtgHost state observer. - * @param aUsbMan Existing usb manager session. - * @return Pointer to created object. - */ - static CUSBOtgHostStateWatcher* NewL(MUSBOtgHostStateObserver& aObserver, - RUsb& aUsbMan); - - /** - * Destructor. - */ - virtual ~CUSBOtgHostStateWatcher(); - - /** - * Get Id pin state - * @aIsIdPinOn Receive Id pin on/off state. ETrue: Id pin on, EFalse: Id pin off. - * @return KErrNone if successful, otherwise the error that occurred - * @see CUSBOtgIdPinStateWatcher::IsIdPinOn - */ - TInt IsIdPinOn(TBool &aIsIdPinOn); - - /** - * Check wheather a pheripheral device is connected or not. - * @aIsConnected A pheripheral device connected(ETrue) or not(EFailse). - * @return KErrNone if successful, otherwise the error that occurred - */ - TInt IsPeripheralConnected(TBool &aIsConnected); - - private: - - /** - * Private constructor. - * @param aObserver Reference to MUSBOtgHostStateObserver. - * @param aUsbMan Existing usb manager session. - */ - CUSBOtgHostStateWatcher(MUSBOtgHostStateObserver& aObserver, RUsb& aUsbMan); - - /** - * 2nd phase constructor. - */ - void ConstructL(); - - private: // Data - - /** - * Usb Manager - */ - RUsb& iUsbMan; - - /** - * Property of peripheral-connected - */ - RProperty iPeripheral; - - /** - * The observer of OTG/host events - */ - MUSBOtgHostStateObserver& iObserver; - - /** - * The watcher of Otg Id Pin state - * Own. - */ - CUSBOtgIdPinStateWatcher* iOtgIdPinWatcher; - - /** - * The watcher of host event - * Own. - */ - CUSBHostEventNotifWatcher* iHostEventWatcher; - - }; - -#endif // USBOTGHOSTSTATEWATCHER_H