23 #include "cmmaaudiostreammetadatacontrol.h" |
23 #include "cmmaaudiostreammetadatacontrol.h" |
24 |
24 |
25 CMMAAudioStreamMetaDataControl::CMMAAudioStreamMetaDataControl( |
25 CMMAAudioStreamMetaDataControl::CMMAAudioStreamMetaDataControl( |
26 CMetaDataUtility* aMetadaDataUtility) |
26 CMetaDataUtility* aMetadaDataUtility) |
27 { |
27 { |
28 LOG( EJavaMMAPI, EInfo, "CMMAAudioStreamMetaDataControl constructor called."); |
28 LOG(EJavaMMAPI, EInfo, "CMMAAudioStreamMetaDataControl constructor called."); |
29 // this class gets the ownership of MetaDataUtility |
29 // this class gets the ownership of MetaDataUtility |
30 iMetaDataUtility = aMetadaDataUtility; |
30 iMetaDataUtility = aMetadaDataUtility; |
31 } |
31 } |
32 |
32 |
33 CMMAAudioStreamMetaDataControl::~CMMAAudioStreamMetaDataControl() |
33 CMMAAudioStreamMetaDataControl::~CMMAAudioStreamMetaDataControl() |
34 { |
34 { |
35 LOG( EJavaMMAPI, EInfo, "~CMMAAudioStreamMetaDataControl called."); |
35 LOG(EJavaMMAPI, EInfo, "~CMMAAudioStreamMetaDataControl called."); |
36 delete iMetaDataUtility; |
36 delete iMetaDataUtility; |
37 } |
37 } |
38 |
38 |
39 TInt CMMAAudioStreamMetaDataControl::KeyCountL() |
39 TInt CMMAAudioStreamMetaDataControl::KeyCountL() |
40 { |
40 { |
41 TInt entries = iMetaDataUtility->MetaDataCount(); |
41 TInt entries = iMetaDataUtility->MetaDataCount(); |
42 LOG1( EJavaMMAPI, EInfo, "MMA:CMMAAudioStreamMetaDataControl::KeyCountL, count = %d", entries); |
42 LOG1(EJavaMMAPI, EInfo, "MMA:CMMAAudioStreamMetaDataControl::KeyCountL, count = %d", entries); |
43 |
43 |
44 return entries; |
44 return entries; |
45 } |
45 } |
46 |
46 |
47 HBufC* CMMAAudioStreamMetaDataControl::KeyL(TInt aIndex) |
47 HBufC* CMMAAudioStreamMetaDataControl::KeyL(TInt aIndex) |
48 { |
48 { |
49 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyL +"); |
49 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyL +"); |
50 HBufC* key = NULL; |
50 HBufC* key = NULL; |
51 |
51 |
52 if (KeyCountL() > 0) |
52 if (KeyCountL() > 0) |
53 { |
53 { |
54 TMetaDataFieldId fieldId; |
54 TMetaDataFieldId fieldId; |
55 const CMetaDataFieldContainer& fieldcontainer = |
55 const CMetaDataFieldContainer& fieldcontainer = |
56 iMetaDataUtility->MetaDataFieldsL(); |
56 iMetaDataUtility->MetaDataFieldsL(); |
57 fieldcontainer.FieldIdAt(aIndex, fieldId); |
57 fieldcontainer.FieldIdAt(aIndex, fieldId); |
58 LOG1( EJavaMMAPI, EInfo, "MMA:CMMAAudioStreamMetaDataControl::KeyL, fieldId = %d", fieldId); |
58 LOG1(EJavaMMAPI, EInfo, "MMA:CMMAAudioStreamMetaDataControl::KeyL, fieldId = %d", fieldId); |
59 key = GetKeyL(fieldId); |
59 key = GetKeyL(fieldId); |
60 } |
60 } |
61 |
61 |
62 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyL -"); |
62 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyL -"); |
63 return key; |
63 return key; |
64 } |
64 } |
65 |
65 |
66 /* |
66 /* |
67 * Get the value of given audio metadata key. The ownership of the created value |
67 * Get the value of given audio metadata key. The ownership of the created value |
68 * (descriptor) is passed to the caller. |
68 * (descriptor) is passed to the caller. |
69 */ |
69 */ |
70 HBufC* CMMAAudioStreamMetaDataControl::KeyValueL(const TDesC& aKey) |
70 HBufC* CMMAAudioStreamMetaDataControl::KeyValueL(const TDesC& aKey) |
71 { |
71 { |
72 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyValueL +"); |
72 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyValueL +"); |
73 HBufC* retVal = NULL; |
73 HBufC* retVal = NULL; |
74 |
74 |
75 if (KeyCountL() > 0) |
75 if (KeyCountL() > 0) |
76 { |
76 { |
77 TBool found; |
77 TBool found; |
83 retVal = (fieldcontainer.Field(fieldId)).AllocL(); |
83 retVal = (fieldcontainer.Field(fieldId)).AllocL(); |
84 } |
84 } |
85 } |
85 } |
86 |
86 |
87 User::LeaveIfNull(retVal); |
87 User::LeaveIfNull(retVal); |
88 ELOG1( EJavaMMAPI, "MMA::CMMAAudioStreamMetaDataControl::KeyValueL, retVal = %S", retVal->Des().PtrZ()); |
88 ELOG1(EJavaMMAPI, "MMA::CMMAAudioStreamMetaDataControl::KeyValueL, retVal = %S", retVal->Des().PtrZ()); |
89 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyValueL -"); |
89 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::KeyValueL -"); |
90 return retVal; |
90 return retVal; |
91 } |
91 } |
92 |
92 |
93 /* |
93 /* |
94 * Get key string for the given fieldId |
94 * Get key string for the given fieldId |
95 */ |
95 */ |
96 HBufC* CMMAAudioStreamMetaDataControl::GetKeyL(TMetaDataFieldId aFieldId) |
96 HBufC* CMMAAudioStreamMetaDataControl::GetKeyL(TMetaDataFieldId aFieldId) |
97 { |
97 { |
98 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetKeyL +"); |
98 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetKeyL +"); |
99 HBufC* keyString = NULL; |
99 HBufC* keyString = NULL; |
100 TBuf<KKeyStringMaxLength> tempBuf; |
100 TBuf<KKeyStringMaxLength> tempBuf; |
101 |
101 |
102 switch (aFieldId) |
102 switch (aFieldId) |
103 { |
103 { |
168 case EMetaDataDate: |
168 case EMetaDataDate: |
169 tempBuf.Copy(KMetaDataDate); |
169 tempBuf.Copy(KMetaDataDate); |
170 keyString = tempBuf.AllocL(); |
170 keyString = tempBuf.AllocL(); |
171 break; |
171 break; |
172 default: |
172 default: |
173 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetKeyL, default case should not occur"); |
173 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetKeyL, default case should not occur"); |
174 } |
174 } |
175 |
175 |
176 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetKeyL -"); |
176 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetKeyL -"); |
177 return keyString; |
177 return keyString; |
178 } |
178 } |
179 |
179 |
180 /* |
180 /* |
181 * Get fieldId for the given key string |
181 * Get fieldId for the given key string |
182 */ |
182 */ |
183 TMetaDataFieldId CMMAAudioStreamMetaDataControl::GetFieldId(const TDesC& aKey, TBool& aCompare) |
183 TMetaDataFieldId CMMAAudioStreamMetaDataControl::GetFieldId(const TDesC& aKey, TBool& aCompare) |
184 { |
184 { |
185 LOG( EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetFieldId +"); |
185 LOG(EJavaMMAPI, EInfo, "MMA::CMMAAudioStreamMetaDataControl::GetFieldId +"); |
186 TMetaDataFieldId fieldId = EUnknownMetaDataField; |
186 TMetaDataFieldId fieldId = EUnknownMetaDataField; |
187 aCompare = true; // found |
187 aCompare = true; // found |
188 |
188 |
189 if (0 == aKey.Compare(KMetaDataSongTitle())) |
189 if (0 == aKey.Compare(KMetaDataSongTitle())) |
190 { |
190 { |