diff -r 000000000000 -r 29b1cd4cb562 bluetooth/btstack/inc/notification.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btstack/inc/notification.h Fri Jan 15 08:13:17 2010 +0200 @@ -0,0 +1,72 @@ +// Copyright (c) 2005-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 NOTIFICATION_H +#define NOTIFICATION_H + +#include + +class TBTBasebandEventNotification; +class CPhysicalLink; + +template +class TPolymorphicQLink : public TDblQueLink + { +public: + TPolymorphicQLink(T* aObserver):iObserver(aObserver){} + operator T* () {return iObserver;} + T* Item() {return iObserver;} +private: + T* iObserver; + }; + +class MPhysicalLinkObserver; +typedef TPolymorphicQLink TPhysicalLinkObserverQLink; + +class TPhysicalLinkSubscriptionInfo + { +public: + TPhysicalLinkSubscriptionInfo(MPhysicalLinkObserver& aMPhysicalLinkObserver, TBTDevAddr aAddr): + iMPhysicalLinkObserver(aMPhysicalLinkObserver), iAddr(aAddr){}; + MPhysicalLinkObserver& iMPhysicalLinkObserver; + TBTDevAddr iAddr; + }; + +class MPhysicalLinkObserver +/** + Interface for simple notifications to the presence of physical channel + or for especially interested parties a change in security. +**/ + { +public: + virtual void PhysicalLinkChange(const TBTBasebandEventNotification& aEvent, CPhysicalLink& aPhysicalLink) = 0; + virtual TPhysicalLinkObserverQLink& ObserverQLink() = 0; + }; + + +class MBluetoothPrefetchNotifier; +typedef TPolymorphicQLink TPrefetchNotifierQLink; + +/** +Interface for notification of when a prefetched PIN code entry has completed. +*/ +NONSHARABLE_CLASS(MBluetoothPrefetchNotifier) + { +public: + virtual TPrefetchNotifierQLink& MbpnQueLink() = 0; + virtual void MbpnPrefetchComplete(TInt aError) = 0; + }; + +#endif