29
|
1 |
/*
|
|
2 |
* ============================================================================
|
|
3 |
* Name : btnotifwrapperproxy.cpp
|
|
4 |
* Part of : bluetoothengine / btnotifwrapper
|
|
5 |
* Description : ECOM plug-in entry implementation.
|
|
6 |
*
|
|
7 |
* Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies).
|
|
8 |
* All rights reserved.
|
|
9 |
* This component and the accompanying materials are made available
|
|
10 |
* under the terms of "Eclipse Public License v1.0"
|
|
11 |
* which accompanies this distribution, and is available
|
|
12 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
|
13 |
*
|
|
14 |
* Initial Contributors:
|
|
15 |
* Nokia Corporation - initial contribution.
|
|
16 |
*
|
|
17 |
* Contributors:
|
|
18 |
* Nokia Corporation
|
|
19 |
* ============================================================================
|
|
20 |
* Template version: 4.1
|
|
21 |
*/
|
|
22 |
|
|
23 |
|
|
24 |
#include <ecom/implementationproxy.h>
|
|
25 |
#include <btmanclient.h>
|
|
26 |
#include <btextnotifiers.h>
|
57
|
27 |
#include <btnotif.h>
|
29
|
28 |
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
|
|
29 |
#include <btextnotifierspartner.h>
|
|
30 |
#endif
|
|
31 |
#include <btnotifierapi.h>
|
|
32 |
//#include <networking/panuiinterfaces.h>
|
|
33 |
|
|
34 |
#include "btnotifwrapper.h"
|
|
35 |
|
|
36 |
/** Granularity for constructing the array of notifiers */
|
|
37 |
const TInt KBTNotifWrapperArraySize = 11;
|
|
38 |
/** Channel for discovery notifiers */
|
|
39 |
const TUid KBTDiscoveryChannel = { 0x00000601 };
|
|
40 |
/** Channel for authentication and authorisation notifiers */
|
|
41 |
const TUid KBTAuthChannel = {0x00000602};
|
|
42 |
/** Channel for OBEX passkey notifiers */
|
|
43 |
//const TUid KBTObexAuthChannel = {0x00000603};
|
|
44 |
/** Channel for power mode query */
|
57
|
45 |
const TUid KBTPowerModeChannel = {0x00000605};
|
29
|
46 |
/** Channel for query notifiers */
|
|
47 |
//const TUid KBTQueryChannel = {0x00000606};
|
|
48 |
/** Channel for power mode query */
|
57
|
49 |
const TUid KBTInfoChannel = {0x00000610};
|
29
|
50 |
|
|
51 |
|
|
52 |
// ======== LOCAL FUNCTIONS ========
|
|
53 |
|
|
54 |
// ---------------------------------------------------------------------------
|
|
55 |
// ?description
|
|
56 |
// ---------------------------------------------------------------------------
|
|
57 |
//
|
|
58 |
void CreateAndAppendNotifierLC( CArrayPtr<MEikSrvNotifierBase2>& aArray,
|
|
59 |
const TUid& aUid, const TUid& aChannel )
|
|
60 |
{
|
|
61 |
CBTNotifWrapper* notifier = CBTNotifWrapper::NewLC( aUid, aChannel );
|
|
62 |
aArray.AppendL( notifier );
|
|
63 |
}
|
|
64 |
|
|
65 |
// ---------------------------------------------------------------------------
|
|
66 |
// ?description
|
|
67 |
// ---------------------------------------------------------------------------
|
|
68 |
//
|
|
69 |
CArrayPtr<MEikSrvNotifierBase2>* CreateNotifierArrayL()
|
|
70 |
{
|
|
71 |
CArrayPtrFlat<MEikSrvNotifierBase2>* notifiers =
|
|
72 |
new( ELeave ) CArrayPtrFlat<MEikSrvNotifierBase2>( KBTNotifWrapperArraySize );
|
|
73 |
CleanupStack::PushL( notifiers );
|
|
74 |
// Create all the notifiers:
|
|
75 |
// Connection authorization notifier
|
|
76 |
CreateAndAppendNotifierLC( *notifiers, KBTManAuthNotifierUid, KBTAuthChannel );
|
|
77 |
// Old and new PIN notifiers
|
|
78 |
CreateAndAppendNotifierLC( *notifiers, KBTManPinNotifierUid, KBTAuthChannel );
|
|
79 |
CreateAndAppendNotifierLC( *notifiers, KBTPinCodeEntryNotifierUid, KBTAuthChannel );
|
|
80 |
// Secure simple pairing notifiers
|
|
81 |
CreateAndAppendNotifierLC( *notifiers, KBTNumericComparisonNotifierUid, KBTAuthChannel );
|
|
82 |
CreateAndAppendNotifierLC( *notifiers, KBTPasskeyDisplayNotifierUid, KBTAuthChannel );
|
|
83 |
|
31
|
84 |
// todo: add
|
|
85 |
// KBTUserConfirmationNotifierUid for incoming JW dedicated bonding.
|
|
86 |
|
29
|
87 |
CreateAndAppendNotifierLC( *notifiers, KDeviceSelectionNotifierUid, KBTDiscoveryChannel );
|
57
|
88 |
|
|
89 |
CreateAndAppendNotifierLC( *notifiers, KBTGenericInfoNotifierUid, KBTInfoChannel );
|
29
|
90 |
|
57
|
91 |
CreateAndAppendNotifierLC( *notifiers, KPowerModeSettingNotifierUid, KBTPowerModeChannel );
|
29
|
92 |
/*
|
31
|
93 |
* todo:
|
29
|
94 |
* Other notifiers to be migrated:
|
|
95 |
*
|
|
96 |
* existing stack notifiers:
|
|
97 |
* CreateAndAppendNotifierL( aArray, KPbapAuthNotifierUid, KBTObexPINChannel );
|
|
98 |
*
|
|
99 |
* S60-defined platform:
|
|
100 |
* CreateAndAppendNotifierL( aArray, KBTObexPasskeyQueryNotifierUid, KBTObexPINChannel );
|
|
101 |
* CreateAndAppendNotifierL( aArray, KBTGenericQueryNotifierUid, KBTQueryChannel );
|
|
102 |
*
|
|
103 |
* new (PAN-related):
|
|
104 |
* CreateAndAppendNotifierL( aArray, KBTPanDeviceSelectionNotifierUid, KBTDiscoveryChannel );
|
|
105 |
* CreateAndAppendNotifierL( aArray, KBTPanNapUplinkAuthorisationNotifierUid, KBTAuthChannel );
|
|
106 |
*/
|
|
107 |
CleanupStack::Pop( notifiers->Count() + 1, notifiers ); // Each notifier + notifier array itself
|
|
108 |
return notifiers;
|
|
109 |
}
|
|
110 |
|
|
111 |
// ---------------------------------------------------------------------------
|
|
112 |
// ECOM entry point.
|
|
113 |
// ---------------------------------------------------------------------------
|
|
114 |
//
|
|
115 |
const TImplementationProxy ImplementationTable[] =
|
|
116 |
{
|
|
117 |
IMPLEMENTATION_PROXY_ENTRY( 0x20026FEE, CreateNotifierArrayL )
|
|
118 |
};
|
|
119 |
|
|
120 |
// ======== GLOBAL FUNCTIONS ========
|
|
121 |
|
|
122 |
// ---------------------------------------------------------------------------
|
|
123 |
// ECOM factory method.
|
|
124 |
// ---------------------------------------------------------------------------
|
|
125 |
//
|
|
126 |
EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
|
|
127 |
{
|
|
128 |
aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
|
|
129 |
return ImplementationTable;
|
|
130 |
}
|