equal
deleted
inserted
replaced
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of the License "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 // |
7 // |
8 // Initial Contributors: |
8 // Initial Contributors: |
9 // Nokia Corporation - initial contribution. |
9 // Nokia Corporation - initial contribution. |
11 // Contributors: |
11 // Contributors: |
12 // |
12 // |
13 // Description: |
13 // Description: |
14 // Classes for synchronous and asynchronous file recognitions (of a directory) |
14 // Classes for synchronous and asynchronous file recognitions (of a directory) |
15 // |
15 // |
|
16 // apsrecutil.cpp |
16 // |
17 // |
17 |
18 |
18 |
19 |
19 #include "APSRECUTIL.H" |
20 #include "APSRECUTIL.H" |
20 #include "APSRECCACHE.h" |
21 #include "APSRECCACHE.h" |
21 |
22 |
22 ////////////////////////////// |
23 // |
23 // CRecognitionResult |
24 // CRecognitionResult |
24 ////////////////////////////// |
25 // |
25 |
26 |
26 CRecognitionResult* CRecognitionResult::NewL(const TDesC& aFileName, const TDataRecognitionResult& aRecognitionResult) |
27 CRecognitionResult* CRecognitionResult::NewL(const TDesC& aFileName, const TDataRecognitionResult& aRecognitionResult) |
27 { |
28 { |
28 ASSERT(aFileName.Find(_L("\\")) == KErrNotFound); // the filename should not contain any path |
29 ASSERT(aFileName.Find(_L("\\")) == KErrNotFound); // the filename should not contain any path |
29 |
30 |
49 } |
50 } |
50 |
51 |
51 void CRecognitionResult::Get(TDataRecognitionResult& aRecognitionResult) |
52 void CRecognitionResult::Get(TDataRecognitionResult& aRecognitionResult) |
52 { |
53 { |
53 if(iUid == KNullUid) |
54 if(iUid == KNullUid) |
54 |
|
55 { |
|
56 aRecognitionResult.iDataType = TDataType(*iDataType); |
55 aRecognitionResult.iDataType = TDataType(*iDataType); |
57 } |
|
58 else |
56 else |
59 { |
|
60 aRecognitionResult.iDataType = TDataType(iUid); |
57 aRecognitionResult.iDataType = TDataType(iUid); |
61 } |
58 |
62 aRecognitionResult.iConfidence = iConfidence; |
59 aRecognitionResult.iConfidence = iConfidence; |
63 } |
60 } |
64 |
61 |
65 |
62 |
66 |
63 |
77 aWriteStream.WriteL(*iDataType); |
74 aWriteStream.WriteL(*iDataType); |
78 aWriteStream.WriteInt32L(iUid.iUid); |
75 aWriteStream.WriteInt32L(iUid.iUid); |
79 aWriteStream.WriteInt32L(iConfidence); |
76 aWriteStream.WriteInt32L(iConfidence); |
80 } |
77 } |
81 |
78 |
82 /////////////////////////////////// |
79 // |
83 // CDirectoryRecognitionResult |
80 // CDirectoryRecognitionResult |
84 /////////////////////////////////// |
81 // |
85 |
82 |
86 CDirectoryRecognitionResult::CDirectoryRecognitionResult(HBufC* aPath, HBufC8* aDataTypeFilter) |
83 CDirectoryRecognitionResult::CDirectoryRecognitionResult(HBufC* aPath, HBufC8* aDataTypeFilter) |
87 : iPath(aPath), iDataTypeFilter(aDataTypeFilter) |
84 : iPath(aPath), iDataTypeFilter(aDataTypeFilter) |
88 { |
85 { |
89 iRequiredBufferSize = sizeof(TUint); |
86 iRequiredBufferSize = sizeof(TUint); |
94 delete iPath; |
91 delete iPath; |
95 delete iDataTypeFilter; |
92 delete iDataTypeFilter; |
96 |
93 |
97 const TInt count = iEntries.Count(); |
94 const TInt count = iEntries.Count(); |
98 for(TInt i = 0; i < count; i++) |
95 for(TInt i = 0; i < count; i++) |
99 { |
|
100 iEntries[i]->Close(); |
96 iEntries[i]->Close(); |
101 } |
97 |
102 iEntries.Reset(); |
98 iEntries.Reset(); |
103 } |
99 } |
104 |
100 |
105 void CDirectoryRecognitionResult::AppendL(CRecognitionResult* aEntry) |
101 void CDirectoryRecognitionResult::AppendL(CRecognitionResult* aEntry) |
106 { |
102 { |
119 |
115 |
120 void CDirectoryRecognitionResult::WriteToStreamL(RWriteStream& aWriteStream) |
116 void CDirectoryRecognitionResult::WriteToStreamL(RWriteStream& aWriteStream) |
121 { |
117 { |
122 aWriteStream.WriteUint32L(iEntries.Count()); |
118 aWriteStream.WriteUint32L(iEntries.Count()); |
123 for (TInt i=0; i < iEntries.Count(); i++) |
119 for (TInt i=0; i < iEntries.Count(); i++) |
124 { |
|
125 iEntries[i]->WriteToStreamL(aWriteStream); |
120 iEntries[i]->WriteToStreamL(aWriteStream); |
126 } |
121 |
127 aWriteStream.CommitL(); |
122 aWriteStream.CommitL(); |
128 } |
123 } |
129 |
124 |
130 ////////////////////////////////////////////////////////// |
125 // |
131 // CFileRecognitionUtility |
126 // CFileRecognitionUtility |
132 ////////////////////////////////////////////////////////// |
127 // |
133 |
128 |
134 CFileRecognitionUtility::CFileRecognitionUtility(CApaAppListServer& aServer, TInt aMaxBufSize, RFs& aFs) |
129 CFileRecognitionUtility::CFileRecognitionUtility(CApaAppArcServer& aServer, TInt aMaxBufSize, RFs& aFs) |
135 : CActive(0), |
130 : CActive(0), |
136 iServer(aServer), |
131 iServer(aServer), |
137 iMaxBufSize(aMaxBufSize), |
132 iMaxBufSize(aMaxBufSize), |
138 iFs(aFs), |
133 iFs(aFs), |
139 iIndex(0), |
134 iIndex(0), |
160 |
155 |
161 ReadDirectoryL(); |
156 ReadDirectoryL(); |
162 |
157 |
163 // recognize files and calculate size of buffer |
158 // recognize files and calculate size of buffer |
164 for(iIndex=0;iIndex<iEntryList->Count();iIndex++) |
159 for(iIndex=0;iIndex<iEntryList->Count();iIndex++) |
165 { |
|
166 RecognizeFileL(); |
160 RecognizeFileL(); |
167 } |
|
168 |
161 |
169 delete iEntryList; |
162 delete iEntryList; |
170 iEntryList = NULL; |
163 iEntryList = NULL; |
171 } |
164 } |
172 |
165 |
191 } |
184 } |
192 |
185 |
193 TInt CFileRecognitionUtility::BufferSizeL() const |
186 TInt CFileRecognitionUtility::BufferSizeL() const |
194 { |
187 { |
195 const TInt preferredBufferSize = iServer.DataRecognizerPreferredBufSizeL(); |
188 const TInt preferredBufferSize = iServer.DataRecognizerPreferredBufSizeL(); |
196 TInt bufSize=Min(preferredBufferSize,iMaxBufSize); |
189 TInt bufSize = Min(preferredBufferSize,iMaxBufSize); |
197 if (bufSize<1) |
190 if (bufSize < 1) |
198 { |
191 bufSize = 8; // sensible minimum. |
199 bufSize=8; // sensible minimum. |
192 |
200 } |
|
201 return bufSize; |
193 return bufSize; |
202 } |
194 } |
203 |
195 |
204 void CFileRecognitionUtility::RecognizeFileL() |
196 void CFileRecognitionUtility::RecognizeFileL() |
205 { |
197 { |
271 void CFileRecognitionUtility::DoCancel() |
263 void CFileRecognitionUtility::DoCancel() |
272 { |
264 { |
273 iIndex = 0; |
265 iIndex = 0; |
274 iStep = 0; |
266 iStep = 0; |
275 } |
267 } |
|
268 |