diff -r 000000000000 -r c9bc50fca66e usbmgmt/usbmgr/usbman/server/INC/cusbhostwatcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/usbman/server/INC/cusbhostwatcher.h Tue Feb 02 02:02:59 2010 +0200 @@ -0,0 +1,111 @@ +/* +* Copyright (c) 2008-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: +* +*/ + +/** + @file + @internalComponent + @released +*/ + + +#ifndef CUSBHOSTWATCHER_H +#define CUSBHOSTWATCHER_H + +#include "usbhoststack.h" +#include + +enum TUsbHostMonitor + { + EHostEventMonitor = 0, + EHostMessageMonitor = 1, + ENumMonitor = 2, + }; + +const TUint KHostEventMonitor = EHostEventMonitor; +const TUint KHostMessageMonitor = EHostMessageMonitor; + +class MUsbHostObserver; + +class CActiveUsbHostWatcher : public CActive + { +public: + + CActiveUsbHostWatcher(RUsbHostStack& aUsbHostStack, + MUsbHostObserver& aOwner, + TUint aWatcherId); + virtual ~CActiveUsbHostWatcher(); + +public: + virtual void Post() = 0; + +protected: // from CActive + virtual void RunL(); + virtual void DoCancel() = 0; + +protected: // unowned + RUsbHostStack& iUsbHostStack; + MUsbHostObserver& iOwner; + TUint iWatcherId; + }; + + +class CActiveUsbHostEventWatcher: public CActiveUsbHostWatcher + { +public: + static CActiveUsbHostEventWatcher* NewL(RUsbHostStack& aUsbHostStack, + MUsbHostObserver& aOwner, + TDeviceEventInformation& aDeviceEventInfo); + virtual ~CActiveUsbHostEventWatcher(); +private: + CActiveUsbHostEventWatcher(RUsbHostStack& aUsbHostStack, + MUsbHostObserver& aOwner, + TDeviceEventInformation& aHostEventInfo); + +private: // from CActive + virtual void DoCancel(); +public: + // from CActiveUsbHostWatcher + virtual void Post(); + +private: + TDeviceEventInformation& iHostEventInfo; +}; + + +class CActiveUsbHostMessageWatcher: public CActiveUsbHostWatcher + { +public: + static CActiveUsbHostMessageWatcher* NewL(RUsbHostStack& aUsbHostStack, + MUsbHostObserver& aOwner, + TInt& aHostMessage); + virtual ~CActiveUsbHostMessageWatcher(); +private: + CActiveUsbHostMessageWatcher(RUsbHostStack& aUsbHostStack, + MUsbHostObserver& aOwner, + TInt& aHostMessage); + +private: // from CActive + virtual void DoCancel(); +public: + // from CActiveUsbHostWatcher + virtual void Post(); + +private: + TInt& iHostMessage; + }; + +#endif //CUSBHOSTWATCHER_H