--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothengine/bteng/btbearer/inc/btpluginnotifier.h Mon Jan 18 20:28:57 2010 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2006 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: This is the BT bearer plugin notifier header file.
+*
+*/
+
+
+#ifndef __BTPLUGINNOTIFIER_H__
+#define __BTPLUGINNOTIFIER_H__
+
+
+#include <e32base.h>
+#include <btserversdkcrkeys.h>
+#include <locodbearerpluginparams.h>
+#include <centralrepository.h>
+#include <locodbearer.h>
+
+
+/**
+ * BT Plug in module for local connectivity daemon.
+ *
+ * This active object checks BT state from central repository and start
+ * watching BT ON/OFF state. If BT is ON, it connects to BTEngine server.
+ * It continues to watch the key and when it has changed, it notifies
+ * the daemon through its callback function.
+ *
+ * @lib btbearer.lib
+ * @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CBTPluginNotifier ) : public CActive
+ {
+
+public:
+
+ /** Enumeration of CenRep key types */
+ enum TCenRepKeyType
+ {
+ EKeyInt,
+ EKeyReal,
+ EKeyBinary,
+ EKeyString
+ };
+
+ /**
+ * Two-phase constructor
+ *
+ * @param aObserver Reference to the callback class.
+ * @param aUid The UID that identifies the repository.
+ * @param aKeyType Key type.
+ * @param aId The ID of the key.
+ * @return CBTPluginNotifier Initialized object.
+ */
+ static CBTPluginNotifier* NewL( MLocodBearerPluginObserver& aObserver,
+ TUid aUid, TCenRepKeyType aKeyType,
+ TUint32 aId );
+
+ /**
+ * Destructor
+ */
+ virtual ~CBTPluginNotifier();
+
+private:
+
+ /**
+ * C++ default constructor
+ */
+ CBTPluginNotifier( MLocodBearerPluginObserver& Param, TUid aUid,
+ TCenRepKeyType aKeyType, TUint32 aId );
+
+ /**
+ * Symbian 2nd-phase constructor
+ */
+ void ConstructL();
+
+ /**
+ * Subscribes to the change of central repository keys
+ *
+ * @since S60 v3.2
+ */
+ void SubscribeL();
+
+// from base class CActive
+
+ /**
+ * From CActive.
+ * Called by the active scheduler when our subscription
+ * to the setting has been cancelled.
+ *
+ * @since S60 v3.2
+ */
+ void DoCancel();
+
+ /**
+ * From CActive.
+ * Called by the active scheduler when the status has changed.
+ *
+ * @since S60 v3.2
+ */
+ void RunL();
+
+ /**
+ * From CActive
+ * Called by the active scheduler when RunL() leaves, aError contains the leave code.
+ *
+ * @since S60 5.0
+ */
+ int RunError(TInt aError);
+
+private: // data
+
+ /**
+ * The UID that identifies the setting category.
+ */
+ TUid iUid;
+
+ /**
+ * ID for BT power state in the central repository
+ */
+ TUint32 iId;
+
+ /**
+ * Central repository key type
+ */
+ TCenRepKeyType iKeyType;
+
+ /**
+ * Reference to the observer.
+ */
+ MLocodBearerPluginObserver& iHandler;
+
+ /**
+ * Session with the central repository.
+ * Own.
+ */
+ CRepository* iSession;
+
+ };
+
+
+#endif // __BTPLUGINNOTIFIER_H__