|
1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 /** |
|
17 @file |
|
18 @publishedPartner |
|
19 @released |
|
20 */ |
|
21 |
|
22 #ifndef REMCONCONVERTERINTERFACE_H |
|
23 #define REMCONCONVERTERINTERFACE_H |
|
24 |
|
25 #include <e32base.h> |
|
26 #include <remcon/messagetype.h> |
|
27 |
|
28 /** |
|
29 The UID of the converter API. If the converter API ever has to change, a new |
|
30 UID and associated M class will be created. New implementations of |
|
31 CRemConConverterPlugin may implement the new API. Old (non-updated) converters |
|
32 will still work as long as RemCon supports the old API. |
|
33 */ |
|
34 const TInt KRemConConverterInterface1 = 0x1020D40A; |
|
35 |
|
36 /** |
|
37 Mixin for the converter API. |
|
38 */ |
|
39 class MRemConConverterInterface |
|
40 { |
|
41 public: |
|
42 /** |
|
43 Called by the server to get the converter to convert from the interface |
|
44 (API) format to the bearer-specific format. |
|
45 @param aInterfaceUid The interface UID. |
|
46 @param aOperationId Operation ID. |
|
47 @param aData Data associated with the operation. |
|
48 @param aMsgType The type of the message. |
|
49 @param aBearerData Converted output. |
|
50 */ |
|
51 virtual TInt InterfaceToBearer(TUid aInterfaceUid, |
|
52 TUint aOperationId, |
|
53 const TDesC8& aData, |
|
54 TRemConMessageType aMsgType, |
|
55 TDes8& aBearerData) const = 0; |
|
56 |
|
57 /** |
|
58 Called by the server to get the converter to convert from the bearer- |
|
59 specific format to the interface (API) format. |
|
60 @param aBearerData Bearer input. |
|
61 @param aInterfaceUid The interface UID. |
|
62 @param aOperationId Operation ID. |
|
63 @param aMsgType The type of the message. |
|
64 @param aData Data associated with the operation. |
|
65 */ |
|
66 virtual TInt BearerToInterface(const TDesC8& aBearerData, |
|
67 TUid& aInterfaceUid, |
|
68 TUint& aOperationId, |
|
69 TRemConMessageType& aMsgType, |
|
70 TDes8& aData) const = 0; |
|
71 |
|
72 /** |
|
73 Called by the server to find out if this converter converts between the formats |
|
74 of this interface and bearer. |
|
75 @param aInterfaceUid The interface UID. |
|
76 @param aBearerUid The bearer UID. |
|
77 */ |
|
78 virtual TBool SupportedUids(const TUid& aInterfaceUid, const TUid& aBearerUid) const = 0; |
|
79 |
|
80 /** |
|
81 Called by the server to find out if this converter converts between the formats |
|
82 of this bearer interface and RemCon interface. |
|
83 @param aInterfaceData The identifier of this interface in a bearer defined format. |
|
84 @param aBearerUid The bearer UID. |
|
85 */ |
|
86 virtual TBool SupportedInterface(const TDesC8& aInterfaceData, const TUid& aBearerUid) const = 0; |
|
87 }; |
|
88 |
|
89 #endif // REMCONCONVERTERINTERFACE_H |