--- a/harvester/harvesterserver/src/charvesterserver.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/harvester/harvesterserver/src/charvesterserver.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -44,7 +44,7 @@
//
CHarvesterServer* CHarvesterServer::NewLC()
{
- CHarvesterServer* HarvesterServer = new ( ELeave ) CHarvesterServer( EPriorityNormal );
+ CHarvesterServer* HarvesterServer = new ( ELeave ) CHarvesterServer( CActive::EPriorityStandard );
CleanupStack::PushL(HarvesterServer);
HarvesterServer->ConstructL();
return HarvesterServer;
@@ -57,6 +57,9 @@
//
void CHarvesterServer::ConstructL()
{
+ RProcess process;
+ process.SetPriority( EPriorityBackground );
+ process.Close();
iIndexingManager = CIndexingManager::NewL();
StartL(KHarvesterServerName);
}
@@ -143,7 +146,7 @@
CHarvesterServer* server = CHarvesterServer::NewLC();
// Set thread priority
- RProcess().SetPriority(EPriorityBackground);
+ //RProcess().SetPriority(EPriorityBackground);
// Rename the thread.
User::RenameThread(KHarvesterServerName);
--- a/layers.sysdef.xml Tue Jul 06 15:30:04 2010 +0300
+++ b/layers.sysdef.xml Wed Aug 18 10:53:26 2010 +0300
@@ -8,7 +8,7 @@
<module name="searchsrv">
<unit unitID="orgdo.searchsrv.bldinf" mrp="" bldFile="&layer_real_source_path;/group" name="searchsrv_bldinf"/>
<unit unitID="orgdo.searchsrv_harvestersrv.pro" mrp="" bldFile="&layer_real_source_path;/harvester/harvesterserver" name="harvestersrv_pro" proFile="harvester.pro"/>
- <unit unitID="orgdo.searchsrv_qcpix.pro" mrp="" bldFile="&layer_real_source_path;/qcpix" name="searchsrv_pro" proFile="qcpix.pro"/>
+ <unit unitID="orgdo.searchsrv_qcpix.pro" mrp="" bldFile="&layer_real_source_path;/qcpix" name="searchsrv_pro" proFile="cpix.pro"/>
</module>
</layer>
</systemModel>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/bwins/cpixsearchu.def Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,76 @@
+EXPORTS
+ ?documentAsync@CpixSearcher@@QAEXH@Z @ 1 NONAME ; void CpixSearcher::documentAsync(int)
+ ?docId@CpixDocument@@QBE?AVQString@@XZ @ 2 NONAME ; class QString CpixDocument::docId(void) const
+ ?d_func@CpixDocumentField@@ABEPBVCpixDocumentFieldPrivate@@XZ @ 3 NONAME ; class CpixDocumentFieldPrivate const * CpixDocumentField::d_func(void) const
+ ?metaObject@CpixDocument@@UBEPBUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const * CpixDocument::metaObject(void) const
+ ?cancelSearch@CpixSearcher@@QAEXXZ @ 5 NONAME ; void CpixSearcher::cancelSearch(void)
+ ?tr@CpixDocumentField@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString CpixDocumentField::tr(char const *, char const *, int)
+ ?handleDocument@CpixSearcher@@IAEXHPAVCpixDocument@@@Z @ 7 NONAME ; void CpixSearcher::handleDocument(int, class CpixDocument *)
+ ?qt_metacall@CpixDocumentField@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8 NONAME ; int CpixDocumentField::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@CpixSearcher@@UAEPAXPBD@Z @ 9 NONAME ; void * CpixSearcher::qt_metacast(char const *)
+ ?handleSearchResults@CpixSearcher@@IAEXHH@Z @ 10 NONAME ; void CpixSearcher::handleSearchResults(int, int)
+ ?searchAsync@CpixSearcher@@QAEXVQString@@0@Z @ 11 NONAME ; void CpixSearcher::searchAsync(class QString, class QString)
+ ?tr@CpixDocument@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString CpixDocument::tr(char const *, char const *)
+ ??1CpixDocumentField@@UAE@XZ @ 13 NONAME ; CpixDocumentField::~CpixDocumentField(void)
+ ?getStaticMetaObject@CpixDocument@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & CpixDocument::getStaticMetaObject(void)
+ ??_ECpixDocument@@UAE@I@Z @ 15 NONAME ; CpixDocument::~CpixDocument(unsigned int)
+ ?newInstance@CpixDocumentField@@SAPAV1@VQString@@0H@Z @ 16 NONAME ; class CpixDocumentField * CpixDocumentField::newInstance(class QString, class QString, int)
+ ??_ECpixSearcher@@UAE@I@Z @ 17 NONAME ; CpixSearcher::~CpixSearcher(unsigned int)
+ ?batchdocumentAsync@CpixSearcher@@QAEXHH@Z @ 18 NONAME ; void CpixSearcher::batchdocumentAsync(int, int)
+ ?d_func@CpixDocument@@ABEPBVCpixDocumentPrivate@@XZ @ 19 NONAME ; class CpixDocumentPrivate const * CpixDocument::d_func(void) const
+ ?trUtf8@CpixDocumentField@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString CpixDocumentField::trUtf8(char const *, char const *, int)
+ ?getStaticMetaObject@CpixDocumentField@@SAABUQMetaObject@@XZ @ 21 NONAME ; struct QMetaObject const & CpixDocumentField::getStaticMetaObject(void)
+ ?staticMetaObject@CpixDocument@@2UQMetaObject@@B @ 22 NONAME ; struct QMetaObject const CpixDocument::staticMetaObject
+ ??_ECpixDocumentField@@UAE@I@Z @ 23 NONAME ; CpixDocumentField::~CpixDocumentField(unsigned int)
+ ?config@CpixDocumentField@@QBEHXZ @ 24 NONAME ; int CpixDocumentField::config(void) const
+ ?tr@CpixSearcher@@SA?AVQString@@PBD0H@Z @ 25 NONAME ; class QString CpixSearcher::tr(char const *, char const *, int)
+ ?d_func@CpixDocument@@AAEPAVCpixDocumentPrivate@@XZ @ 26 NONAME ; class CpixDocumentPrivate * CpixDocument::d_func(void)
+ ?trUtf8@CpixDocument@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString CpixDocument::trUtf8(char const *, char const *, int)
+ ?setValue@CpixDocumentField@@QAEXVQString@@@Z @ 28 NONAME ; void CpixDocumentField::setValue(class QString)
+ ?qt_metacall@CpixSearcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 29 NONAME ; int CpixSearcher::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@CpixDocument@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 30 NONAME ; int CpixDocument::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1CpixDocument@@UAE@XZ @ 31 NONAME ; CpixDocument::~CpixDocument(void)
+ ?handleDatabaseSet@CpixSearcher@@IAEXH@Z @ 32 NONAME ; void CpixSearcher::handleDatabaseSet(int)
+ ??0CpixDocumentField@@AAE@VQString@@0H@Z @ 33 NONAME ; CpixDocumentField::CpixDocumentField(class QString, class QString, int)
+ ?trUtf8@CpixSearcher@@SA?AVQString@@PBD0@Z @ 34 NONAME ; class QString CpixSearcher::trUtf8(char const *, char const *)
+ ?newInstance@CpixDocument@@SAPAV1@XZ @ 35 NONAME ; class CpixDocument * CpixDocument::newInstance(void)
+ ?setDatabaseAsync@CpixSearcher@@QAEXVQString@@@Z @ 36 NONAME ; void CpixSearcher::setDatabaseAsync(class QString)
+ ?value@CpixDocumentField@@QBE?AVQString@@XZ @ 37 NONAME ; class QString CpixDocumentField::value(void) const
+ ?batchdocument@CpixSearcher@@QAEPAPAVCpixDocument@@HAAHH@Z @ 38 NONAME ; class CpixDocument * * CpixSearcher::batchdocument(int, int &, int)
+ ?name@CpixDocumentField@@QBE?AVQString@@XZ @ 39 NONAME ; class QString CpixDocumentField::name(void) const
+ ?search@CpixSearcher@@QAEHVQString@@0@Z @ 40 NONAME ; int CpixSearcher::search(class QString, class QString)
+ ?tr@CpixDocumentField@@SA?AVQString@@PBD0@Z @ 41 NONAME ; class QString CpixDocumentField::tr(char const *, char const *)
+ ?staticMetaObject@CpixSearcher@@2UQMetaObject@@B @ 42 NONAME ; struct QMetaObject const CpixSearcher::staticMetaObject
+ ??1CpixSearcher@@UAE@XZ @ 43 NONAME ; CpixSearcher::~CpixSearcher(void)
+ ?excerpt@CpixDocument@@QBE?AVQString@@XZ @ 44 NONAME ; class QString CpixDocument::excerpt(void) const
+ ?setName@CpixDocumentField@@QAEXVQString@@@Z @ 45 NONAME ; void CpixDocumentField::setName(class QString)
+ ?setDocId@CpixDocument@@QAEXVQString@@@Z @ 46 NONAME ; void CpixDocument::setDocId(class QString)
+ ?fieldCount@CpixDocument@@QBEHXZ @ 47 NONAME ; int CpixDocument::fieldCount(void) const
+ ?baseAppClass@CpixDocument@@QBE?AVQString@@XZ @ 48 NONAME ; class QString CpixDocument::baseAppClass(void) const
+ ?qt_metacast@CpixDocumentField@@UAEPAXPBD@Z @ 49 NONAME ; void * CpixDocumentField::qt_metacast(char const *)
+ ?newInstance@CpixSearcher@@SAPAV1@XZ @ 50 NONAME ; class CpixSearcher * CpixSearcher::newInstance(void)
+ ?field@CpixDocument@@QBEABVCpixDocumentField@@H@Z @ 51 NONAME ; class CpixDocumentField const & CpixDocument::field(int) const
+ ?metaObject@CpixSearcher@@UBEPBUQMetaObject@@XZ @ 52 NONAME ; struct QMetaObject const * CpixSearcher::metaObject(void) const
+ ?metaObject@CpixDocumentField@@UBEPBUQMetaObject@@XZ @ 53 NONAME ; struct QMetaObject const * CpixDocumentField::metaObject(void) const
+ ?qt_metacast@CpixDocument@@UAEPAXPBD@Z @ 54 NONAME ; void * CpixDocument::qt_metacast(char const *)
+ ?document@CpixSearcher@@QAEPAVCpixDocument@@H@Z @ 55 NONAME ; class CpixDocument * CpixSearcher::document(int)
+ ?trUtf8@CpixDocument@@SA?AVQString@@PBD0@Z @ 56 NONAME ; class QString CpixDocument::trUtf8(char const *, char const *)
+ ?setExcerpt@CpixDocument@@QAEXVQString@@@Z @ 57 NONAME ; void CpixDocument::setExcerpt(class QString)
+ ?tr@CpixDocument@@SA?AVQString@@PBD0H@Z @ 58 NONAME ; class QString CpixDocument::tr(char const *, char const *, int)
+ ?addField@CpixDocument@@QAEXVQString@@0H@Z @ 59 NONAME ; void CpixDocument::addField(class QString, class QString, int)
+ ??0CpixDocument@@AAE@XZ @ 60 NONAME ; CpixDocument::CpixDocument(void)
+ ?newInstance@CpixSearcher@@SAPAV1@VQString@@0@Z @ 61 NONAME ; class CpixSearcher * CpixSearcher::newInstance(class QString, class QString)
+ ?setDatabase@CpixSearcher@@QAEXVQString@@@Z @ 62 NONAME ; void CpixSearcher::setDatabase(class QString)
+ ?setBaseAppClass@CpixDocument@@QAEXVQString@@@Z @ 63 NONAME ; void CpixDocument::setBaseAppClass(class QString)
+ ?trUtf8@CpixDocumentField@@SA?AVQString@@PBD0@Z @ 64 NONAME ; class QString CpixDocumentField::trUtf8(char const *, char const *)
+ ?tr@CpixSearcher@@SA?AVQString@@PBD0@Z @ 65 NONAME ; class QString CpixSearcher::tr(char const *, char const *)
+ ?getStaticMetaObject@CpixSearcher@@SAABUQMetaObject@@XZ @ 66 NONAME ; struct QMetaObject const & CpixSearcher::getStaticMetaObject(void)
+ ?d_func@CpixDocumentField@@AAEPAVCpixDocumentFieldPrivate@@XZ @ 67 NONAME ; class CpixDocumentFieldPrivate * CpixDocumentField::d_func(void)
+ ?d_func@CpixSearcher@@ABEPBVCpixSearcherPrivate@@XZ @ 68 NONAME ; class CpixSearcherPrivate const * CpixSearcher::d_func(void) const
+ ?trUtf8@CpixSearcher@@SA?AVQString@@PBD0H@Z @ 69 NONAME ; class QString CpixSearcher::trUtf8(char const *, char const *, int)
+ ??0CpixSearcher@@AAE@XZ @ 70 NONAME ; CpixSearcher::CpixSearcher(void)
+ ?handleBatchDocuments@CpixSearcher@@IAEXHHPAPAVCpixDocument@@@Z @ 71 NONAME ; void CpixSearcher::handleBatchDocuments(int, int, class CpixDocument * *)
+ ?d_func@CpixSearcher@@AAEPAVCpixSearcherPrivate@@XZ @ 72 NONAME ; class CpixSearcherPrivate * CpixSearcher::d_func(void)
+ ?setConfig@CpixDocumentField@@QAEXH@Z @ 73 NONAME ; void CpixDocumentField::setConfig(int)
+ ?staticMetaObject@CpixDocumentField@@2UQMetaObject@@B @ 74 NONAME ; struct QMetaObject const CpixDocumentField::staticMetaObject
+
--- a/qcpix/bwins/qcpixsearchclientu.def Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-EXPORTS
- ?setDocId@QCPixDocument@@QAEXVQString@@@Z @ 1 NONAME ; void QCPixDocument::setDocId(class QString)
- ?trUtf8@QCPixSearcher@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString QCPixSearcher::trUtf8(char const *, char const *, int)
- ?tr@QCPixDocument@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString QCPixDocument::tr(char const *, char const *, int)
- ?newInstance@QCPixDocument@@SAPAV1@XZ @ 4 NONAME ; class QCPixDocument * QCPixDocument::newInstance(void)
- ?tr@QCPixDocument@@SA?AVQString@@PBD0@Z @ 5 NONAME ; class QString QCPixDocument::tr(char const *, char const *)
- ?metaObject@QCPixDocumentField@@UBEPBUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const * QCPixDocumentField::metaObject(void) const
- ?tr@QCPixDocumentField@@SA?AVQString@@PBD0H@Z @ 7 NONAME ; class QString QCPixDocumentField::tr(char const *, char const *, int)
- ?setExcerpt@QCPixDocument@@QAEXVQString@@@Z @ 8 NONAME ; void QCPixDocument::setExcerpt(class QString)
- ??_EQCPixDocumentField@@UAE@I@Z @ 9 NONAME ; QCPixDocumentField::~QCPixDocumentField(unsigned int)
- ?name@QCPixDocumentField@@QBE?AVQString@@XZ @ 10 NONAME ; class QString QCPixDocumentField::name(void) const
- ?setName@QCPixDocumentField@@QAEXVQString@@@Z @ 11 NONAME ; void QCPixDocumentField::setName(class QString)
- ?search@QCPixSearcher@@QAEHVQString@@0@Z @ 12 NONAME ; int QCPixSearcher::search(class QString, class QString)
- ?getDocument@QCPixSearcher@@QAEPAVQCPixDocument@@H@Z @ 13 NONAME ; class QCPixDocument * QCPixSearcher::getDocument(int)
- ?excerpt@QCPixDocument@@QBE?AVQString@@XZ @ 14 NONAME ; class QString QCPixDocument::excerpt(void) const
- ?d_func@QCPixDocument@@AAEPAVQCPixDocumentPrivate@@XZ @ 15 NONAME ; class QCPixDocumentPrivate * QCPixDocument::d_func(void)
- ?qt_metacast@QCPixSearcher@@UAEPAXPBD@Z @ 16 NONAME ; void * QCPixSearcher::qt_metacast(char const *)
- ?d_func@QCPixSearcher@@AAEPAVQCPixSearcherPrivate@@XZ @ 17 NONAME ; class QCPixSearcherPrivate * QCPixSearcher::d_func(void)
- ?setDatabaseAsync@QCPixSearcher@@QAEXVQString@@@Z @ 18 NONAME ; void QCPixSearcher::setDatabaseAsync(class QString)
- ?handleDocument@QCPixSearcher@@IAEXHPAVQCPixDocument@@@Z @ 19 NONAME ; void QCPixSearcher::handleDocument(int, class QCPixDocument *)
- ?newInstance@QCPixSearcher@@SAPAV1@XZ @ 20 NONAME ; class QCPixSearcher * QCPixSearcher::newInstance(void)
- ?qt_metacall@QCPixDocumentField@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 21 NONAME ; int QCPixDocumentField::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?cancelSearch@QCPixSearcher@@QAEXXZ @ 22 NONAME ; void QCPixSearcher::cancelSearch(void)
- ?getStaticMetaObject@QCPixDocumentField@@SAABUQMetaObject@@XZ @ 23 NONAME ; struct QMetaObject const & QCPixDocumentField::getStaticMetaObject(void)
- ?field@QCPixDocument@@QBEABVQCPixDocumentField@@H@Z @ 24 NONAME ; class QCPixDocumentField const & QCPixDocument::field(int) const
- ?handleDatabaseSet@QCPixSearcher@@IAEXH@Z @ 25 NONAME ; void QCPixSearcher::handleDatabaseSet(int)
- ?trUtf8@QCPixSearcher@@SA?AVQString@@PBD0@Z @ 26 NONAME ; class QString QCPixSearcher::trUtf8(char const *, char const *)
- ?metaObject@QCPixSearcher@@UBEPBUQMetaObject@@XZ @ 27 NONAME ; struct QMetaObject const * QCPixSearcher::metaObject(void) const
- ?d_func@QCPixDocument@@ABEPBVQCPixDocumentPrivate@@XZ @ 28 NONAME ; class QCPixDocumentPrivate const * QCPixDocument::d_func(void) const
- ?d_func@QCPixSearcher@@ABEPBVQCPixSearcherPrivate@@XZ @ 29 NONAME ; class QCPixSearcherPrivate const * QCPixSearcher::d_func(void) const
- ?setDatabase@QCPixSearcher@@QAEXVQString@@@Z @ 30 NONAME ; void QCPixSearcher::setDatabase(class QString)
- ?setValue@QCPixDocumentField@@QAEXVQString@@@Z @ 31 NONAME ; void QCPixDocumentField::setValue(class QString)
- ?trUtf8@QCPixDocument@@SA?AVQString@@PBD0H@Z @ 32 NONAME ; class QString QCPixDocument::trUtf8(char const *, char const *, int)
- ?getStaticMetaObject@QCPixSearcher@@SAABUQMetaObject@@XZ @ 33 NONAME ; struct QMetaObject const & QCPixSearcher::getStaticMetaObject(void)
- ?value@QCPixDocumentField@@QBE?AVQString@@XZ @ 34 NONAME ; class QString QCPixDocumentField::value(void) const
- ?handleSearchResults@QCPixSearcher@@IAEXHH@Z @ 35 NONAME ; void QCPixSearcher::handleSearchResults(int, int)
- ?tr@QCPixSearcher@@SA?AVQString@@PBD0H@Z @ 36 NONAME ; class QString QCPixSearcher::tr(char const *, char const *, int)
- ?getDocumentAsync@QCPixSearcher@@QAEXH@Z @ 37 NONAME ; void QCPixSearcher::getDocumentAsync(int)
- ?config@QCPixDocumentField@@QBEHXZ @ 38 NONAME ; int QCPixDocumentField::config(void) const
- ??_EQCPixDocument@@UAE@I@Z @ 39 NONAME ; QCPixDocument::~QCPixDocument(unsigned int)
- ??_EQCPixSearcher@@UAE@I@Z @ 40 NONAME ; QCPixSearcher::~QCPixSearcher(unsigned int)
- ??0QCPixSearcher@@AAE@VQString@@@Z @ 41 NONAME ; QCPixSearcher::QCPixSearcher(class QString)
- ?staticMetaObject@QCPixDocument@@2UQMetaObject@@B @ 42 NONAME ; struct QMetaObject const QCPixDocument::staticMetaObject
- ?fieldCount@QCPixDocument@@QBEHXZ @ 43 NONAME ; int QCPixDocument::fieldCount(void) const
- ?trUtf8@QCPixDocument@@SA?AVQString@@PBD0@Z @ 44 NONAME ; class QString QCPixDocument::trUtf8(char const *, char const *)
- ?baseAppClass@QCPixDocument@@QBE?AVQString@@XZ @ 45 NONAME ; class QString QCPixDocument::baseAppClass(void) const
- ??1QCPixDocument@@UAE@XZ @ 46 NONAME ; QCPixDocument::~QCPixDocument(void)
- ?d_func@QCPixDocumentField@@AAEPAVQCPixDocumentFieldPrivate@@XZ @ 47 NONAME ; class QCPixDocumentFieldPrivate * QCPixDocumentField::d_func(void)
- ?tr@QCPixSearcher@@SA?AVQString@@PBD0@Z @ 48 NONAME ; class QString QCPixSearcher::tr(char const *, char const *)
- ?d_func@QCPixDocumentField@@ABEPBVQCPixDocumentFieldPrivate@@XZ @ 49 NONAME ; class QCPixDocumentFieldPrivate const * QCPixDocumentField::d_func(void) const
- ??0QCPixDocumentField@@AAE@VQString@@0H@Z @ 50 NONAME ; QCPixDocumentField::QCPixDocumentField(class QString, class QString, int)
- ?trUtf8@QCPixDocumentField@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString QCPixDocumentField::trUtf8(char const *, char const *, int)
- ?qt_metacast@QCPixDocument@@UAEPAXPBD@Z @ 52 NONAME ; void * QCPixDocument::qt_metacast(char const *)
- ?searchAsync@QCPixSearcher@@QAEXVQString@@0@Z @ 53 NONAME ; void QCPixSearcher::searchAsync(class QString, class QString)
- ?staticMetaObject@QCPixDocumentField@@2UQMetaObject@@B @ 54 NONAME ; struct QMetaObject const QCPixDocumentField::staticMetaObject
- ?setConfig@QCPixDocumentField@@QAEXH@Z @ 55 NONAME ; void QCPixDocumentField::setConfig(int)
- ?getStaticMetaObject@QCPixDocument@@SAABUQMetaObject@@XZ @ 56 NONAME ; struct QMetaObject const & QCPixDocument::getStaticMetaObject(void)
- ?tr@QCPixDocumentField@@SA?AVQString@@PBD0@Z @ 57 NONAME ; class QString QCPixDocumentField::tr(char const *, char const *)
- ?docId@QCPixDocument@@QBE?AVQString@@XZ @ 58 NONAME ; class QString QCPixDocument::docId(void) const
- ?metaObject@QCPixDocument@@UBEPBUQMetaObject@@XZ @ 59 NONAME ; struct QMetaObject const * QCPixDocument::metaObject(void) const
- ?newInstance@QCPixSearcher@@SAPAV1@VQString@@0@Z @ 60 NONAME ; class QCPixSearcher * QCPixSearcher::newInstance(class QString, class QString)
- ?qt_metacall@QCPixDocument@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 61 NONAME ; int QCPixDocument::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QCPixSearcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 62 NONAME ; int QCPixSearcher::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacast@QCPixDocumentField@@UAEPAXPBD@Z @ 63 NONAME ; void * QCPixDocumentField::qt_metacast(char const *)
- ??0QCPixDocument@@AAE@XZ @ 64 NONAME ; QCPixDocument::QCPixDocument(void)
- ?newInstance@QCPixDocumentField@@SAPAV1@VQString@@0H@Z @ 65 NONAME ; class QCPixDocumentField * QCPixDocumentField::newInstance(class QString, class QString, int)
- ??1QCPixSearcher@@UAE@XZ @ 66 NONAME ; QCPixSearcher::~QCPixSearcher(void)
- ?staticMetaObject@QCPixSearcher@@2UQMetaObject@@B @ 67 NONAME ; struct QMetaObject const QCPixSearcher::staticMetaObject
- ?setBaseAppClass@QCPixDocument@@QAEXVQString@@@Z @ 68 NONAME ; void QCPixDocument::setBaseAppClass(class QString)
- ??1QCPixDocumentField@@UAE@XZ @ 69 NONAME ; QCPixDocumentField::~QCPixDocumentField(void)
- ?addField@QCPixDocument@@QAEXVQString@@0H@Z @ 70 NONAME ; void QCPixDocument::addField(class QString, class QString, int)
- ?trUtf8@QCPixDocumentField@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString QCPixDocumentField::trUtf8(char const *, char const *)
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/cpix.pro Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,23 @@
+#
+# Copyright (c) 2010 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:
+#
+
+TEMPLATE = subdirs
+CONFIG += ordered
+SUBDIRS += cpixsearch.pro
+ #Removing test components
+ #tsrc/SampleSearch/SampleSearch.pro \
+ #tsrc/orbitsearch/orbitsearch.pro \
+ #tsrc/qtcpixunittests/qtcpixunittests.pro
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/cpixsearch.pro Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,68 @@
+#
+# Copyright (c) 2010 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:
+#
+
+TEMPLATE = lib
+TARGET = cpixsearch
+QT += core
+QT -= gui
+
+INCLUDEPATH += ../s60/searchclient/inc
+INCLUDEPATH += ../cfg
+
+HEADERS += ../searchsrv_plat/cpix_search_api/inc/cpixcommon.h \
+ ../searchsrv_plat/cpix_search_api/inc/cpixdocument.h \
+ ../searchsrv_plat/cpix_search_api/inc/cpixdocumentfield.h \
+ ../searchsrv_plat/cpix_search_api/inc/cpixsearcher.h
+
+SOURCES += src/cpixdocument.cpp \
+ src/cpixdocumentfield.cpp \
+ src/cpixsearcher.cpp
+
+DEFINES += BUILD_DLL
+
+symbian{
+ TARGET.CAPABILITY = CAP_GENERAL_DLL -DRM
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.UID3 = 0xE3B89364
+ TARGET.VID = VID_DEFAULT
+ VERSION = 1.0.0
+ LIBS += -leuser -lcpixsearchclient
+
+ INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
+ HEADERS += src/platform/s60/inc/cpixdocumentprivate.h \
+ src/platform/s60/inc/cpixdocumentfieldprivate.h \
+ src/platform/s60/inc/cpixsearcherprivate.h \
+ src/platform/s60/inc/cpixutils.h
+
+ SOURCES += src/platform/s60/src/cpixdocumentfieldprivate.cpp \
+ src/platform/s60/src/cpixsearcherprivate.cpp \
+ src/platform/s60/src/cpixutils.cpp
+
+ qcpixsearchclient.sources += /epoc32/release/armv5/urel/cpixsearch.dll
+ qcpixsearchclient.path = /sys/bin
+ DEPLOYMENT += cpixsearch
+
+ defFileBlock = \
+ "$${LITERAL_HASH}if defined(WINSCW)" \
+ "DEFFILE bwins/" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE eabi/" \
+ "$${LITERAL_HASH}endif" \
+
+ MMP_RULES += defFileBlock
+
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/eabi/cpixsearchu.def Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,70 @@
+EXPORTS
+ _ZN12CpixDocument10setExcerptE7QString @ 1 NONAME
+ _ZN12CpixDocument11newInstanceEv @ 2 NONAME
+ _ZN12CpixDocument11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
+ _ZN12CpixDocument11qt_metacastEPKc @ 4 NONAME
+ _ZN12CpixDocument15setBaseAppClassE7QString @ 5 NONAME
+ _ZN12CpixDocument16staticMetaObjectE @ 6 NONAME DATA 16
+ _ZN12CpixDocument19getStaticMetaObjectEv @ 7 NONAME
+ _ZN12CpixDocument8addFieldE7QStringS0_i @ 8 NONAME
+ _ZN12CpixDocument8setDocIdE7QString @ 9 NONAME
+ _ZN12CpixDocumentC1Ev @ 10 NONAME
+ _ZN12CpixDocumentC2Ev @ 11 NONAME
+ _ZN12CpixDocumentD0Ev @ 12 NONAME
+ _ZN12CpixDocumentD1Ev @ 13 NONAME
+ _ZN12CpixDocumentD2Ev @ 14 NONAME
+ _ZN12CpixSearcher11newInstanceE7QStringS0_ @ 15 NONAME
+ _ZN12CpixSearcher11newInstanceEv @ 16 NONAME
+ _ZN12CpixSearcher11qt_metacallEN11QMetaObject4CallEiPPv @ 17 NONAME
+ _ZN12CpixSearcher11qt_metacastEPKc @ 18 NONAME
+ _ZN12CpixSearcher11searchAsyncE7QStringS0_ @ 19 NONAME
+ _ZN12CpixSearcher11setDatabaseE7QString @ 20 NONAME
+ _ZN12CpixSearcher12cancelSearchEv @ 21 NONAME
+ _ZN12CpixSearcher13batchdocumentEiRii @ 22 NONAME
+ _ZN12CpixSearcher13documentAsyncEi @ 23 NONAME
+ _ZN12CpixSearcher14handleDocumentEiP12CpixDocument @ 24 NONAME
+ _ZN12CpixSearcher16setDatabaseAsyncE7QString @ 25 NONAME
+ _ZN12CpixSearcher16staticMetaObjectE @ 26 NONAME DATA 16
+ _ZN12CpixSearcher17handleDatabaseSetEi @ 27 NONAME
+ _ZN12CpixSearcher18batchdocumentAsyncEii @ 28 NONAME
+ _ZN12CpixSearcher19getStaticMetaObjectEv @ 29 NONAME
+ _ZN12CpixSearcher19handleSearchResultsEii @ 30 NONAME
+ _ZN12CpixSearcher20handleBatchDocumentsEiiPP12CpixDocument @ 31 NONAME
+ _ZN12CpixSearcher6searchE7QStringS0_ @ 32 NONAME
+ _ZN12CpixSearcher8documentEi @ 33 NONAME
+ _ZN12CpixSearcherC1Ev @ 34 NONAME
+ _ZN12CpixSearcherC2Ev @ 35 NONAME
+ _ZN12CpixSearcherD0Ev @ 36 NONAME
+ _ZN12CpixSearcherD1Ev @ 37 NONAME
+ _ZN12CpixSearcherD2Ev @ 38 NONAME
+ _ZN17CpixDocumentField11newInstanceE7QStringS0_i @ 39 NONAME
+ _ZN17CpixDocumentField11qt_metacallEN11QMetaObject4CallEiPPv @ 40 NONAME
+ _ZN17CpixDocumentField11qt_metacastEPKc @ 41 NONAME
+ _ZN17CpixDocumentField16staticMetaObjectE @ 42 NONAME DATA 16
+ _ZN17CpixDocumentField19getStaticMetaObjectEv @ 43 NONAME
+ _ZN17CpixDocumentField7setNameE7QString @ 44 NONAME
+ _ZN17CpixDocumentField8setValueE7QString @ 45 NONAME
+ _ZN17CpixDocumentField9setConfigEi @ 46 NONAME
+ _ZN17CpixDocumentFieldC1E7QStringS0_i @ 47 NONAME
+ _ZN17CpixDocumentFieldC2E7QStringS0_i @ 48 NONAME
+ _ZN17CpixDocumentFieldD0Ev @ 49 NONAME
+ _ZN17CpixDocumentFieldD1Ev @ 50 NONAME
+ _ZN17CpixDocumentFieldD2Ev @ 51 NONAME
+ _ZNK12CpixDocument10fieldCountEv @ 52 NONAME
+ _ZNK12CpixDocument10metaObjectEv @ 53 NONAME
+ _ZNK12CpixDocument12baseAppClassEv @ 54 NONAME
+ _ZNK12CpixDocument5docIdEv @ 55 NONAME
+ _ZNK12CpixDocument5fieldEi @ 56 NONAME
+ _ZNK12CpixDocument7excerptEv @ 57 NONAME
+ _ZNK12CpixSearcher10metaObjectEv @ 58 NONAME
+ _ZNK17CpixDocumentField10metaObjectEv @ 59 NONAME
+ _ZNK17CpixDocumentField4nameEv @ 60 NONAME
+ _ZNK17CpixDocumentField5valueEv @ 61 NONAME
+ _ZNK17CpixDocumentField6configEv @ 62 NONAME
+ _ZTI12CpixDocument @ 63 NONAME
+ _ZTI12CpixSearcher @ 64 NONAME
+ _ZTI17CpixDocumentField @ 65 NONAME
+ _ZTV12CpixDocument @ 66 NONAME
+ _ZTV12CpixSearcher @ 67 NONAME
+ _ZTV17CpixDocumentField @ 68 NONAME
+
--- a/qcpix/eabi/qcpixsearchclientu.def Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-EXPORTS
- _ZN13QCPixDocument10setExcerptE7QString @ 1 NONAME
- _ZN13QCPixDocument11newInstanceEv @ 2 NONAME
- _ZN13QCPixDocument11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
- _ZN13QCPixDocument11qt_metacastEPKc @ 4 NONAME
- _ZN13QCPixDocument15setBaseAppClassE7QString @ 5 NONAME
- _ZN13QCPixDocument16staticMetaObjectE @ 6 NONAME DATA 16
- _ZN13QCPixDocument19getStaticMetaObjectEv @ 7 NONAME
- _ZN13QCPixDocument8addFieldE7QStringS0_i @ 8 NONAME
- _ZN13QCPixDocument8setDocIdE7QString @ 9 NONAME
- _ZN13QCPixDocumentC1Ev @ 10 NONAME
- _ZN13QCPixDocumentC2Ev @ 11 NONAME
- _ZN13QCPixDocumentD0Ev @ 12 NONAME
- _ZN13QCPixDocumentD1Ev @ 13 NONAME
- _ZN13QCPixDocumentD2Ev @ 14 NONAME
- _ZN13QCPixSearcher11getDocumentEi @ 15 NONAME
- _ZN13QCPixSearcher11newInstanceE7QStringS0_ @ 16 NONAME
- _ZN13QCPixSearcher11newInstanceEv @ 17 NONAME
- _ZN13QCPixSearcher11qt_metacallEN11QMetaObject4CallEiPPv @ 18 NONAME
- _ZN13QCPixSearcher11qt_metacastEPKc @ 19 NONAME
- _ZN13QCPixSearcher11searchAsyncE7QStringS0_ @ 20 NONAME
- _ZN13QCPixSearcher11setDatabaseE7QString @ 21 NONAME
- _ZN13QCPixSearcher12cancelSearchEv @ 22 NONAME
- _ZN13QCPixSearcher14handleDocumentEiP13QCPixDocument @ 23 NONAME
- _ZN13QCPixSearcher16getDocumentAsyncEi @ 24 NONAME
- _ZN13QCPixSearcher16setDatabaseAsyncE7QString @ 25 NONAME
- _ZN13QCPixSearcher16staticMetaObjectE @ 26 NONAME DATA 16
- _ZN13QCPixSearcher17handleDatabaseSetEi @ 27 NONAME
- _ZN13QCPixSearcher19getStaticMetaObjectEv @ 28 NONAME
- _ZN13QCPixSearcher19handleSearchResultsEii @ 29 NONAME
- _ZN13QCPixSearcher6searchE7QStringS0_ @ 30 NONAME
- _ZN13QCPixSearcherC1E7QString @ 31 NONAME
- _ZN13QCPixSearcherC2E7QString @ 32 NONAME
- _ZN13QCPixSearcherD0Ev @ 33 NONAME
- _ZN13QCPixSearcherD1Ev @ 34 NONAME
- _ZN13QCPixSearcherD2Ev @ 35 NONAME
- _ZN18QCPixDocumentField11newInstanceE7QStringS0_i @ 36 NONAME
- _ZN18QCPixDocumentField11qt_metacallEN11QMetaObject4CallEiPPv @ 37 NONAME
- _ZN18QCPixDocumentField11qt_metacastEPKc @ 38 NONAME
- _ZN18QCPixDocumentField16staticMetaObjectE @ 39 NONAME DATA 16
- _ZN18QCPixDocumentField19getStaticMetaObjectEv @ 40 NONAME
- _ZN18QCPixDocumentField7setNameE7QString @ 41 NONAME
- _ZN18QCPixDocumentField8setValueE7QString @ 42 NONAME
- _ZN18QCPixDocumentField9setConfigEi @ 43 NONAME
- _ZN18QCPixDocumentFieldC1E7QStringS0_i @ 44 NONAME
- _ZN18QCPixDocumentFieldC2E7QStringS0_i @ 45 NONAME
- _ZN18QCPixDocumentFieldD0Ev @ 46 NONAME
- _ZN18QCPixDocumentFieldD1Ev @ 47 NONAME
- _ZN18QCPixDocumentFieldD2Ev @ 48 NONAME
- _ZNK13QCPixDocument10fieldCountEv @ 49 NONAME
- _ZNK13QCPixDocument10metaObjectEv @ 50 NONAME
- _ZNK13QCPixDocument12baseAppClassEv @ 51 NONAME
- _ZNK13QCPixDocument5docIdEv @ 52 NONAME
- _ZNK13QCPixDocument5fieldEi @ 53 NONAME
- _ZNK13QCPixDocument7excerptEv @ 54 NONAME
- _ZNK13QCPixSearcher10metaObjectEv @ 55 NONAME
- _ZNK18QCPixDocumentField10metaObjectEv @ 56 NONAME
- _ZNK18QCPixDocumentField4nameEv @ 57 NONAME
- _ZNK18QCPixDocumentField5valueEv @ 58 NONAME
- _ZNK18QCPixDocumentField6configEv @ 59 NONAME
- _ZTI13QCPixDocument @ 60 NONAME
- _ZTI13QCPixSearcher @ 61 NONAME
- _ZTI18QCPixDocumentField @ 62 NONAME
- _ZTV13QCPixDocument @ 63 NONAME
- _ZTV13QCPixSearcher @ 64 NONAME
- _ZTV18QCPixDocumentField @ 65 NONAME
-
--- a/qcpix/qcpix.pro Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2010 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:
-#
-
-TEMPLATE = subdirs
-CONFIG += ordered
-SUBDIRS += qcpixsearchclient.pro \
- tsrc/SampleSearch/SampleSearch.pro \
- tsrc/orbitsearch/orbitsearch.pro \
- tsrc/qtcpixunittests/qtcpixunittests.pro
--- a/qcpix/qcpixsearchclient.pro Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2010 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:
-#
-
-TEMPLATE = lib
-TARGET = qcpixsearchclient
-QT += core
-QT -= gui
-
-INCLUDEPATH += ../s60/searchclient/inc
-INCLUDEPATH += ../cfg
-
-HEADERS += ../searchsrv_plat/cpix_search_api/inc/qcpixcommon.h \
- ../searchsrv_plat/cpix_search_api/inc/qcpixdocument.h \
- ../searchsrv_plat/cpix_search_api/inc/qcpixdocumentfield.h \
- ../searchsrv_plat/cpix_search_api/inc/qcpixsearcher.h
-
-SOURCES += src/qcpixdocument.cpp \
- src/qcpixdocumentfield.cpp \
- src/qcpixsearcher.cpp
-
-DEFINES += BUILD_DLL
-
-symbian{
- TARGET.CAPABILITY = CAP_GENERAL_DLL -DRM
- TARGET.EPOCALLOWDLLDATA = 1
- TARGET.UID3 = 0xE3B89364
- TARGET.VID = VID_DEFAULT
- VERSION = 1.0.0
- LIBS += -leuser -lcpixsearchclient
-
- INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-
- HEADERS += src/platform/s60/inc/qcpixdocumentprivate.h \
- src/platform/s60/inc/qcpixdocumentfieldprivate.h \
- src/platform/s60/inc/qcpixsearcherprivate.h \
- src/platform/s60/inc/qcpixutils.h
-
- SOURCES += src/platform/s60/src/qcpixdocumentfieldprivate.cpp \
- src/platform/s60/src/qcpixsearcherprivate.cpp \
- src/platform/s60/src/qcpixutils.cpp
-
- qcpixsearchclient.sources += /epoc32/release/armv5/urel/qcpixsearchclient.dll
- qcpixsearchclient.path = /sys/bin
- DEPLOYMENT += qcpixsearchclient
-
- defFileBlock = \
- "$${LITERAL_HASH}if defined(WINSCW)" \
- "DEFFILE bwins/" \
- "$${LITERAL_HASH}else" \
- "DEFFILE eabi/" \
- "$${LITERAL_HASH}endif" \
-
- MMP_RULES += defFileBlock
-
-}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/cpixdocument.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include <cpixdocument.h>
+#include <cpixdocumentfield.h>
+#include "cpixdocumentprivate.h"
+
+/**
+ * Note: Code in this file should never throw OR leak symbian exceptions.
+ * Convert all leaves to C++ exceptions.
+ */
+
+CpixDocument::CpixDocument()
+ :iPvtImpl( new CpixDocumentPrivate() )
+ {
+ }
+
+CpixDocument* CpixDocument::newInstance()
+ {
+ CpixDocument* doc = NULL;
+ try{
+ doc = new CpixDocument();
+ }
+ catch(...){
+ delete doc;
+ return NULL;
+ }
+ return doc;
+ }
+
+CpixDocument::~CpixDocument()
+ {
+ delete iPvtImpl;
+ }
+
+QString CpixDocument::docId() const
+ {
+ return iPvtImpl->iDocId;
+ }
+
+QString CpixDocument::excerpt() const
+ {
+ return iPvtImpl->iExcerpt;
+ }
+
+QString CpixDocument::baseAppClass() const
+ {
+ return iPvtImpl->iBaseAppClass;
+ }
+
+const CpixDocumentField& CpixDocument::field( const int aIndex ) const
+ {
+ return *(iPvtImpl->iFields.at(aIndex));
+ }
+
+int CpixDocument::fieldCount() const
+ {
+ return iPvtImpl->iFields.count();
+ }
+
+void CpixDocument::setDocId(const QString aDocId)
+ {
+ iPvtImpl->iDocId = aDocId;
+ }
+
+void CpixDocument::setExcerpt(const QString aExcerpt)
+ {
+ iPvtImpl->iExcerpt = aExcerpt;
+ }
+
+void CpixDocument::setBaseAppClass(const QString aBaseAppClass)
+ {
+ iPvtImpl->iBaseAppClass = aBaseAppClass;
+ }
+
+void CpixDocument::addField(const QString aName, const QString aValue, const int aConfig)
+ {
+ iPvtImpl->iFields.append( CpixDocumentField::newInstance( aName, aValue, aConfig ) );
+ }
+
+//End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/cpixdocumentfield.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include <cpixdocumentfield.h>
+#include "cpixdocumentfieldprivate.h"
+
+/**
+ * Note: Code in this file should never throw OR leak symbian exceptions.
+ * Convert all leaves to C++ exceptions.
+ */
+
+CpixDocumentField::CpixDocumentField( const QString aName, const QString aValue, const int aConfig )
+ :iPvtImpl( new CpixDocumentFieldPrivate(aName,aValue,aConfig) )
+ {
+ }
+
+CpixDocumentField* CpixDocumentField::newInstance( const QString aName, const QString aValue, const int aConfig )
+ {
+ CpixDocumentField* field = NULL;
+ try{
+ field = new CpixDocumentField( aName, aValue, aConfig );
+ }
+ catch(...){
+ delete field;
+ return NULL;
+ }
+ return field;
+ }
+
+CpixDocumentField::~CpixDocumentField()
+ {
+ delete iPvtImpl;
+ }
+
+QString CpixDocumentField::name() const
+ {
+ return iPvtImpl->iName;
+ }
+
+QString CpixDocumentField::value() const
+ {
+ return iPvtImpl->iValue;
+ }
+
+int CpixDocumentField::config() const
+ {
+ return iPvtImpl->iConfig;
+ }
+
+void CpixDocumentField::setName(const QString aName)
+ {
+ iPvtImpl->iName = aName;
+ }
+
+void CpixDocumentField::setValue(const QString aValue)
+ {
+ iPvtImpl->iValue = aValue;
+ }
+
+void CpixDocumentField::setConfig(const int aConfig)
+ {
+ iPvtImpl->iConfig = aConfig;
+ }
+
+//End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/cpixsearcher.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,164 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include <cpixsearcher.h>
+#include <cpixcommon.h>
+#include <CCPixSearcher.h>
+#include <CSearchDocument.h>
+
+#include "cpixsearcherprivate.h"
+#include "cpixutils.h"
+
+/**
+ * Note: Code in this file should never throw OR leak symbian exceptions.
+ * Convert all leaves to C++ exceptions.
+ */
+
+CpixSearcher::CpixSearcher()
+ :iPvtImpl( new CpixSearcherPrivate( this ) )
+ {
+ PERF_SEARCH_START_TIMER
+ PERF_GETDOC_START_TIMER
+ }
+
+CpixSearcher::~CpixSearcher()
+ {
+ delete iPvtImpl;
+ }
+
+CpixSearcher* CpixSearcher::newInstance()
+ {
+ CpixSearcher* searcher = NULL;
+ try{
+ searcher = new CpixSearcher();
+ searcher->iPvtImpl->Construct( QString() );
+ }
+ catch(...){
+ delete searcher;
+ return NULL;
+ }
+ return searcher;
+ }
+
+CpixSearcher* CpixSearcher::newInstance( QString aBaseAppClass, QString aDefaultSearchField )
+ {
+ CpixSearcher* searcher = NULL;
+ try{
+ searcher = new CpixSearcher();
+ searcher->iPvtImpl->Construct( aDefaultSearchField );
+ searcher->setDatabase( aBaseAppClass );
+ }
+ catch(...){
+ delete searcher->iPvtImpl;
+ return NULL;
+ }
+ return searcher;
+ }
+
+void CpixSearcher::setDatabase( QString aBaseAppClass )
+ {
+ QT_TRAP_THROWING(
+ TBuf<KMaxStringLength> baseAppClass( aBaseAppClass.utf16() );
+ iPvtImpl->iSearcher->OpenDatabaseL( baseAppClass ) ;
+ ); //end of QT_TRAP_THROWING
+ }
+
+void CpixSearcher::setDatabaseAsync( QString aBaseAppClass )
+ {
+ QT_TRAP_THROWING(
+ TBuf<KMaxStringLength> baseAppClass( aBaseAppClass.utf16() );
+ iPvtImpl->iSearcher->OpenDatabaseL( *iPvtImpl, baseAppClass )
+ ); //end of QT_TRAP_THROWING
+ }
+
+//The following bit of code is common to two functions - this helps to avoid duplication.
+//However, macros make debugging difficult - so, if you need to debug, copy the code below
+//and replace the macro, fix the code and bring the fix back to the macro.
+#define CREATE_SEARCH_VARS \
+ HBufC* searchString = HBufC::NewL( aSearchString.length() + 1 ); \
+ TPtrC searchStringPtr( reinterpret_cast<const TUint16*>( aSearchString.utf16() ) ); \
+ searchString->Des().Copy( searchStringPtr ); \
+ \
+ HBufC* defaultSearchField = HBufC::NewL( aDefaultSearchField.length() + 1 ); \
+ TPtrC aDefaultSearchFieldPtr( reinterpret_cast<const TUint16*>( aDefaultSearchField.utf16() ) );\
+ defaultSearchField->Des().Copy( aDefaultSearchFieldPtr );
+
+#define DELETE_SEARCH_VARS \
+ delete searchString;\
+ delete defaultSearchField;
+
+int CpixSearcher::search( QString aSearchString, QString aDefaultSearchField )
+ {
+ PERF_SEARCH_RESTART_TIMER
+ int tmp = 0;
+ QT_TRAP_THROWING(
+ CREATE_SEARCH_VARS;
+ //ideally would have had just the following single line:
+ //QT_TRAP_THROWING( return iPvtImpl->iSearcher->SearchL( searchString, defaultSearchField ) );
+ //But the RCVT compiler throws up warnings. The following is just to suppress those warnings.
+ tmp = iPvtImpl->iSearcher->SearchL( *searchString, *defaultSearchField );
+ DELETE_SEARCH_VARS;
+ ); //QT_TRAP_THROWING
+
+ PERF_SEARCH_ENDLOG
+ return tmp;
+ }
+
+void CpixSearcher::searchAsync( QString aSearchString, QString aDefaultSearchField )
+ {
+ PERF_TIME_NOW("Async search start")
+ QT_TRAP_THROWING(
+ CREATE_SEARCH_VARS;
+ iPvtImpl->iSearcher->SearchL( *iPvtImpl, *searchString, *defaultSearchField );
+ DELETE_SEARCH_VARS;
+ ); //QT_TRAP_THROWING
+ }
+
+CpixDocument* CpixSearcher::document( int aIndex )
+ {
+ PERF_GETDOC_RESTART_TIMER
+ CpixDocument* tmp = 0;
+ QT_TRAP_THROWING( tmp = CpixDocFromCSearchDocument( iPvtImpl->iSearcher->GetDocumentL( aIndex ) ) );
+ PERF_GETDOC_ENDLOG
+ return tmp;
+ }
+
+CpixDocument** CpixSearcher::batchdocument( int aIndex,int& aReturnDoc, int aCount )
+ {
+ PERF_GETDOC_RESTART_TIMER
+ CpixDocument** tmp = 0;
+ QT_TRAP_THROWING( tmp = CpixBatchDocFromCSearchDocument( aReturnDoc, iPvtImpl->iSearcher->GetBatchDocumentL( aIndex, aReturnDoc, aCount )) );
+ PERF_GETDOC_ENDLOG
+ return tmp;
+ }
+
+void CpixSearcher::documentAsync( int aIndex )
+ {
+ PERF_TIME_NOW("Async get document start")
+ QT_TRAP_THROWING( iPvtImpl->iSearcher->GetDocumentL( aIndex, *iPvtImpl ) );
+ }
+
+void CpixSearcher::batchdocumentAsync( int aIndex, int aCount )
+ {
+ PERF_TIME_NOW("Async batch get document start")
+ QT_TRAP_THROWING( iPvtImpl->iSearcher->GetBatchDocumentL( aIndex, *iPvtImpl, aCount ) );
+ }
+
+void CpixSearcher::cancelSearch()
+ {
+ iPvtImpl->iSearcher->Cancel();
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/platform/s60/inc/cpixdocumentfieldprivate.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef _CPIXDOCUMENTFIELDPVTIMPL_H
+#define _CPIXDOCUMENTFIELDPVTIMPL_H
+
+#include <QObject>
+
+class CpixDocumentFieldPrivate: public QObject
+{
+public:
+ CpixDocumentFieldPrivate(const QString aName,const QString aValue,const int aConfig);
+ ~CpixDocumentFieldPrivate();
+ QString iName;
+ QString iValue;
+ int iConfig;
+};
+
+#endif // _CPIXDOCUMENTFIELDPVTIMPL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/platform/s60/inc/cpixdocumentprivate.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef _CPIXDOCUMENTPVTIMPL_H
+#define _CPIXDOCUMENTPVTIMPL_H
+
+#include <QString>
+#include <QList>
+#include "cpixdocumentfield.h"
+
+//Forward Declarations
+class CpixDocumentField;
+
+class CpixDocumentPrivate: public QObject
+{
+public:
+ QString iDocId;
+ QString iExcerpt;
+ QString iBaseAppClass;
+ QList< CpixDocumentField* > iFields;
+};
+
+#endif //_CPIXDOCUMENTPVTIMPL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/platform/s60/inc/cpixsearcherprivate.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef _CPIXSEARCHER_PVTIMPL_H
+#define _CPIXSEARCHER_PVTIMPL_H
+
+#include <e32base.h>
+#include <QObject>
+#include <MCPixDatabaseObserver.h>
+#include <MCPixSearcherObserver.h>
+#include <RSearchServerSession.h>
+
+//forward Declarations
+class CCPixSearcher;
+class CDocument;
+class RSearchServerSession;
+class CpixSearcher;
+
+class CpixSearcherPrivate : public CBase, //can this be made QObject?
+ public MCPixSearchRequestObserver ,
+ public MCPixNextDocumentRequestObserver,
+ public MCPixOpenDatabaseRequestObserver,
+ public MCPixSetAnalyzerRequestObserver
+{
+public:
+ CpixSearcherPrivate(QObject* aParent);
+ void Construct( QString aDefaultSearchField );
+ ~CpixSearcherPrivate();
+
+public :
+ void HandleSearchResultsL(TInt aError, TInt aEstimatedResultCount); //from MCPixSearchRequestObserver
+ void HandleDocumentL(TInt aError, CSearchDocument* aDocument); // from MCPixNextDocumentRequestObserver
+ void HandleBatchDocumentL(TInt aError,TInt aRetCount, CSearchDocument** aDocument); // from MCPixNextDocumentRequestObserver
+ void HandleOpenDatabaseResultL( TInt aError ); //MCPixOpenDatabaseRequestObserver
+ void HandleSetAnalyzerResultL( TInt aError ); //MCPixSetAnalyzerRequestObserver
+
+public: //Keep these to avoid wrapper functions.
+ RSearchServerSession iSearchSession; //owned
+ CCPixSearcher* iSearcher; //owned
+ CpixSearcher* iSearchParent; //not owned.
+};
+
+#endif //_CPIXSEARCHER_PVTIMPL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/platform/s60/inc/cpixutils.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef CPIXUTILS_H_
+#define CPIXUTILS_H_
+
+/**
+ * Helper to convert symbian descriptor to QString.
+ * @param aDesc the descriptor to be converted to QString.
+ * @return QString representation of the descriptor.
+ */
+QString QStringFromDescriptor( const TDesC& aDesc );
+
+/**
+ * Gets a QCPixDocument from CSearchDocument
+ * @param aDoc CSearchDocument to be converted to QCPixDocument. Takes ownership of aDoc.
+ * @return QCPixDocument representation of aDoc. Ownership transferred to caller.
+ */
+CpixDocument* CpixDocFromCSearchDocument( CSearchDocument* aDoc );
+
+/**
+ * Gets array of QCPixDocuments from batch of CSearchDocuments
+ * @param aDoc batch of CSearchDocuments to be converted to QCPixDocuments. Takes ownership of aDoc.
+ * @param aReturnDoc number of CSearchDocuments in the aDoc
+ * @return QCPixDocument representation of aDoc. Ownership transferred to caller.
+ */
+CpixDocument** CpixBatchDocFromCSearchDocument(TInt aReturnDoc, CSearchDocument** aDoc );
+
+#endif /* QCPIXUTILS_H_ */
--- a/qcpix/src/platform/s60/inc/qcpixdocumentfieldprivate.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#ifndef _QCPIXDOCUMENTFIELDPVTIMPL_H
-#define _QCPIXDOCUMENTFIELDPVTIMPL_H
-
-#include <QObject>
-
-class QCPixDocumentFieldPrivate: public QObject
-{
-public:
- QCPixDocumentFieldPrivate(const QString aName,const QString aValue,const int aConfig);
- ~QCPixDocumentFieldPrivate();
- QString iName;
- QString iValue;
- int iConfig;
-};
-
-#endif // _QCPIXDOCUMENTFIELDPVTIMPL_H
--- a/qcpix/src/platform/s60/inc/qcpixdocumentprivate.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#ifndef _QCPIXDOCUMENTPVTIMPL_H
-#define _QCPIXDOCUMENTPVTIMPL_H
-
-#include <QString>
-#include <QList>
-#include "qcpixdocumentfield.h"
-
-//Forward Declarations
-class QCPixDocumentField;
-
-class QCPixDocumentPrivate: public QObject
-{
-public:
- QString iDocId;
- QString iExcerpt;
- QString iBaseAppClass;
- QList< QCPixDocumentField* > iFields;
-};
-
-#endif //_QCPIXDOCUMENTPVTIMPL_H
--- a/qcpix/src/platform/s60/inc/qcpixsearcherprivate.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#ifndef _QCPIXSEARCHER_PVTIMPL_H
-#define _QCPIXSEARCHER_PVTIMPL_H
-
-#include <e32base.h>
-#include <QObject>
-#include <MCPixDatabaseObserver.h>
-#include <MCPixSearcherObserver.h>
-#include <RSearchServerSession.h>
-
-//forward Declarations
-class CCPixSearcher;
-class CDocument;
-class RSearchServerSession;
-class QCPixSearcher;
-
-class QCPixSearcherPrivate : public CBase, //can this be made QObject?
- public MCPixSearchRequestObserver ,
- public MCPixNextDocumentRequestObserver,
- public MCPixOpenDatabaseRequestObserver,
- public MCPixSetAnalyzerRequestObserver
-{
-public:
- QCPixSearcherPrivate(QObject* aParent);
- void Construct( QString aDefaultSearchField );
- ~QCPixSearcherPrivate();
-
-public :
- void HandleSearchResultsL(TInt aError, TInt aEstimatedResultCount); //from MCPixSearchRequestObserver
- void HandleDocumentL(TInt aError, CSearchDocument* aDocument); // from MCPixNextDocumentRequestObserver
- void HandleOpenDatabaseResultL( TInt aError ); //MCPixOpenDatabaseRequestObserver
- void HandleSetAnalyzerResultL( TInt aError ); //MCPixSetAnalyzerRequestObserver
-
-public: //Keep these to avoid wrapper functions.
- RSearchServerSession iSearchSession; //owned
- CCPixSearcher* iSearcher; //owned
- QCPixSearcher* iSearchParent; //not owned.
-};
-
-#endif //_QCPIXSEARCHER_PVTIMPL_H
--- a/qcpix/src/platform/s60/inc/qcpixutils.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#ifndef QCPIXUTILS_H_
-#define QCPIXUTILS_H_
-
-/**
- * Helper to convert symbian descriptor to QString.
- * @param aDesc the descriptor to be converted to QString.
- * @return QString representation of the descriptor.
- */
-QString QStringFromDescriptor( const TDesC& aDesc );
-
-/**
- * Gets a QCPixDocument from CSearchDocument
- * @param aDoc CSearchDocument to be converted to QCPixDocument. Takes ownership of aDoc.
- * @return QCPixDocument representation of aDoc. Ownership transferred to caller.
- */
-QCPixDocument* QCPixDocFromCPixDoc( CSearchDocument* aDoc );
-
-#endif /* QCPIXUTILS_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/platform/s60/src/cpixdocumentfieldprivate.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include "cpixdocumentfieldprivate.h"
+
+CpixDocumentFieldPrivate::CpixDocumentFieldPrivate(const QString aName,const QString aValue,const int aConfig)
+ {
+ iName = aName;
+ iValue = aValue;
+ iConfig = aConfig;
+ }
+
+CpixDocumentFieldPrivate::~CpixDocumentFieldPrivate()
+ {
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/platform/s60/src/cpixsearcherprivate.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include "cpixsearcherprivate.h"
+#include <cpixsearcher.h>
+#include <CCPixSearcher.h>
+#include <cpixcommon.h>
+
+#include "cpixutils.h"
+
+/**
+ * Note: Code in this file should never throw OR leak symbian exceptions.
+ * Convert all leaves to C++ exceptions.
+ */
+
+CpixSearcherPrivate::CpixSearcherPrivate( QObject* aParent )
+ {
+ iSearchParent = reinterpret_cast<CpixSearcher*>( aParent );
+ }
+
+void CpixSearcherPrivate::Construct( QString aDefaultSearchField )
+ {
+ qt_symbian_throwIfError( iSearchSession.Connect() );//throw exception on error.
+ QT_TRAP_THROWING(
+ TBuf<KMaxStringLength> defaultSearchField( aDefaultSearchField.utf16() );
+ iSearcher = CCPixSearcher::NewL( iSearchSession, defaultSearchField )
+ ); //end of QT_TRAP_THROWING
+ }
+
+CpixSearcherPrivate::~CpixSearcherPrivate()
+ {
+ delete iSearcher;
+ //iSearchSession.Close();
+ }
+
+void CpixSearcherPrivate::HandleSearchResultsL(TInt aError, TInt aEstimatedResultCount)
+ {
+ PERF_TIME_NOW("Async search complete");
+ emit iSearchParent->handleSearchResults( aError, aEstimatedResultCount );
+ }
+
+void CpixSearcherPrivate::HandleDocumentL(TInt aError, CSearchDocument* aDocument)
+ {
+ PERF_TIME_NOW("Async get document complete")
+ emit iSearchParent->handleDocument( aError, CpixDocFromCSearchDocument( aDocument ) );
+ }
+
+void CpixSearcherPrivate::HandleBatchDocumentL(TInt aError,TInt aRetCount, CSearchDocument** aDocument)
+ {
+ PERF_TIME_NOW("Async get batch document complete")
+ emit iSearchParent->handleBatchDocuments( aError, aRetCount,CpixBatchDocFromCSearchDocument( aRetCount, aDocument) );
+ }
+
+void CpixSearcherPrivate::HandleOpenDatabaseResultL( TInt aError )
+ {
+ emit iSearchParent->handleDatabaseSet( aError );
+ }
+
+void CpixSearcherPrivate::HandleSetAnalyzerResultL( TInt /*aError*/ )
+ {
+ //what is to be done here?
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/src/platform/s60/src/cpixutils.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include <cpixdocument.h>
+#include <CSearchDocument.h>
+#include <CDocumentField.h>
+#include "cpixutils.h"
+
+QString QStringFromDescriptor( const TDesC& aDesc )
+ {
+ return QString::fromUtf16( aDesc.Ptr(), aDesc.Length() );
+ }
+
+CpixDocument* CpixDocFromCSearchDocument( CSearchDocument* aDoc )
+ {
+ if( aDoc == NULL ) return NULL;
+
+ CpixDocument* cpixDoc = CpixDocument::newInstance();
+ cpixDoc->setBaseAppClass( QStringFromDescriptor( aDoc->AppClass() ) );
+ cpixDoc->setDocId( QStringFromDescriptor( aDoc->Id() ) );
+ cpixDoc->setExcerpt( QStringFromDescriptor( aDoc->Excerpt() ) );
+
+ int fieldCount = aDoc->FieldCount();
+ for( int i=0; i<fieldCount; i++ ){
+ const CDocumentField& field = aDoc->Field( i );
+ cpixDoc->addField( QStringFromDescriptor( field.Name() ), QStringFromDescriptor( field.Value() ), field.Config() );
+ }
+
+ delete aDoc;
+ return cpixDoc;
+ }
+
+CpixDocument** CpixBatchDocFromCSearchDocument( TInt aReturnDoc, CSearchDocument** aDoc )
+ {
+ if( aDoc == NULL ) return NULL;
+ CpixDocument** cpixBatchDocs = NULL;
+ cpixBatchDocs = (CpixDocument**)malloc ( sizeof(CpixDocument*) * (aReturnDoc));
+ for (int count = 0; count < aReturnDoc; count++)
+ {
+ CpixDocument* cpixDoc = CpixDocument::newInstance();
+ cpixDoc->setBaseAppClass( QStringFromDescriptor( aDoc[count]->AppClass() ) );
+ cpixDoc->setDocId( QStringFromDescriptor( aDoc[count]->Id() ) );
+ cpixDoc->setExcerpt( QStringFromDescriptor( aDoc[count]->Excerpt() ) );
+
+ int fieldCount = aDoc[count]->FieldCount();
+ for( int i=0; i< fieldCount; i++ )
+ {
+ const CDocumentField& field = aDoc[count]->Field( i );
+ cpixDoc->addField( QStringFromDescriptor( field.Name() ), QStringFromDescriptor( field.Value() ), field.Config() );
+ }
+ cpixBatchDocs[count]= cpixDoc;
+ delete aDoc[count];
+ aDoc[count] = NULL;
+ }
+ delete aDoc;
+ return cpixBatchDocs;
+ }
--- a/qcpix/src/platform/s60/src/qcpixdocumentfieldprivate.cpp Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#include "qcpixdocumentfieldprivate.h"
-
-QCPixDocumentFieldPrivate::QCPixDocumentFieldPrivate(const QString aName,const QString aValue,const int aConfig)
- {
- iName = aName;
- iValue = aValue;
- iConfig = aConfig;
- }
-
-QCPixDocumentFieldPrivate::~QCPixDocumentFieldPrivate()
- {
- }
--- a/qcpix/src/platform/s60/src/qcpixsearcherprivate.cpp Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#include "qcpixsearcherprivate.h"
-#include <qcpixsearcher.h>
-#include <CCPixSearcher.h>
-#include <qcpixcommon.h>
-
-#include "qcpixutils.h"
-
-/**
- * Note: Code in this file should never throw OR leak symbian exceptions.
- * Convert all leaves to C++ exceptions.
- */
-
-QCPixSearcherPrivate::QCPixSearcherPrivate( QObject* aParent )
- {
- iSearchParent = reinterpret_cast<QCPixSearcher*>( aParent );
- }
-
-void QCPixSearcherPrivate::Construct( QString aDefaultSearchField )
- {
- qt_symbian_throwIfError( iSearchSession.Connect() );//throw exception on error.
- QT_TRAP_THROWING(
- TBuf<KMaxStringLength> defaultSearchField( aDefaultSearchField.utf16() );
- iSearcher = CCPixSearcher::NewL( iSearchSession, defaultSearchField )
- ); //end of QT_TRAP_THROWING
- }
-
-QCPixSearcherPrivate::~QCPixSearcherPrivate()
- {
- delete iSearcher;
- //iSearchSession.Close();
- }
-
-void QCPixSearcherPrivate::HandleSearchResultsL(TInt aError, TInt aEstimatedResultCount)
- {
- PERF_TIME_NOW("Async search complete");
- emit iSearchParent->handleSearchResults( aError, aEstimatedResultCount );
- }
-
-void QCPixSearcherPrivate::HandleDocumentL(TInt aError, CSearchDocument* aDocument)
- {
- PERF_TIME_NOW("Async get document complete")
- emit iSearchParent->handleDocument( aError, QCPixDocFromCPixDoc( aDocument ) );
- }
-
-void QCPixSearcherPrivate::HandleOpenDatabaseResultL( TInt aError )
- {
- emit iSearchParent->handleDatabaseSet( aError );
- }
-
-void QCPixSearcherPrivate::HandleSetAnalyzerResultL( TInt /*aError*/ )
- {
- //what is to be done here?
- }
--- a/qcpix/src/platform/s60/src/qcpixutils.cpp Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#include <qcpixdocument.h>
-#include <CSearchDocument.h>
-#include <CDocumentField.h>
-#include "qcpixutils.h"
-
-QString QStringFromDescriptor( const TDesC& aDesc )
- {
- return QString::fromUtf16( aDesc.Ptr(), aDesc.Length() );
- }
-
-QCPixDocument* QCPixDocFromCPixDoc( CSearchDocument* aDoc )
- {
- if( aDoc == NULL ) return NULL;
-
- QCPixDocument* cpixDoc = QCPixDocument::newInstance();
- cpixDoc->setBaseAppClass( QStringFromDescriptor( aDoc->AppClass() ) );
- cpixDoc->setDocId( QStringFromDescriptor( aDoc->Id() ) );
- cpixDoc->setExcerpt( QStringFromDescriptor( aDoc->Excerpt() ) );
-
- int fieldCount = aDoc->FieldCount();
- for( int i=0; i<fieldCount; i++ ){
- const CDocumentField& field = aDoc->Field( i );
- cpixDoc->addField( QStringFromDescriptor( field.Name() ), QStringFromDescriptor( field.Value() ), field.Config() );
- }
-
- delete aDoc;
- return cpixDoc;
- }
--- a/qcpix/src/qcpixdocument.cpp Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#include <qcpixdocument.h>
-#include <qcpixdocumentfield.h>
-#include "qcpixdocumentprivate.h"
-
-/**
- * Note: Code in this file should never throw OR leak symbian exceptions.
- * Convert all leaves to C++ exceptions.
- */
-
-QCPixDocument::QCPixDocument()
- :iPvtImpl( new QCPixDocumentPrivate() )
- {
- }
-
-QCPixDocument* QCPixDocument::newInstance()
- {
- QCPixDocument* doc = NULL;
- try{
- doc = new QCPixDocument();
- }
- catch(...){
- delete doc;
- return NULL;
- }
- return doc;
- }
-
-QCPixDocument::~QCPixDocument()
- {
- delete iPvtImpl;
- }
-
-QString QCPixDocument::docId() const
- {
- return iPvtImpl->iDocId;
- }
-
-QString QCPixDocument::excerpt() const
- {
- return iPvtImpl->iExcerpt;
- }
-
-QString QCPixDocument::baseAppClass() const
- {
- return iPvtImpl->iBaseAppClass;
- }
-
-const QCPixDocumentField& QCPixDocument::field( const int aIndex ) const
- {
- return *(iPvtImpl->iFields.at(aIndex));
- }
-
-int QCPixDocument::fieldCount() const
- {
- return iPvtImpl->iFields.count();
- }
-
-void QCPixDocument::setDocId(const QString aDocId)
- {
- iPvtImpl->iDocId = aDocId;
- }
-
-void QCPixDocument::setExcerpt(const QString aExcerpt)
- {
- iPvtImpl->iExcerpt = aExcerpt;
- }
-
-void QCPixDocument::setBaseAppClass(const QString aBaseAppClass)
- {
- iPvtImpl->iBaseAppClass = aBaseAppClass;
- }
-
-void QCPixDocument::addField(const QString aName, const QString aValue, const int aConfig)
- {
- iPvtImpl->iFields.append( QCPixDocumentField::newInstance( aName, aValue, aConfig ) );
- }
-
-//End of File
--- a/qcpix/src/qcpixdocumentfield.cpp Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#include <qcpixdocumentfield.h>
-#include "qcpixdocumentfieldprivate.h"
-
-/**
- * Note: Code in this file should never throw OR leak symbian exceptions.
- * Convert all leaves to C++ exceptions.
- */
-
-QCPixDocumentField::QCPixDocumentField( const QString aName, const QString aValue, const int aConfig )
- :iPvtImpl( new QCPixDocumentFieldPrivate(aName,aValue,aConfig) )
- {
- }
-
-QCPixDocumentField* QCPixDocumentField::newInstance( const QString aName, const QString aValue, const int aConfig )
- {
- QCPixDocumentField* field = NULL;
- try{
- field = new QCPixDocumentField( aName, aValue, aConfig );
- }
- catch(...){
- delete field;
- return NULL;
- }
- return field;
- }
-
-QCPixDocumentField::~QCPixDocumentField()
- {
- delete iPvtImpl;
- }
-
-QString QCPixDocumentField::name() const
- {
- return iPvtImpl->iName;
- }
-
-QString QCPixDocumentField::value() const
- {
- return iPvtImpl->iValue;
- }
-
-int QCPixDocumentField::config() const
- {
- return iPvtImpl->iConfig;
- }
-
-void QCPixDocumentField::setName(const QString aName)
- {
- iPvtImpl->iName = aName;
- }
-
-void QCPixDocumentField::setValue(const QString aValue)
- {
- iPvtImpl->iValue = aValue;
- }
-
-void QCPixDocumentField::setConfig(const int aConfig)
- {
- iPvtImpl->iConfig = aConfig;
- }
-
-//End of File
--- a/qcpix/src/qcpixsearcher.cpp Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-*/
-
-#include <qcpixsearcher.h>
-#include <qcpixcommon.h>
-#include <CCPixSearcher.h>
-#include <CSearchDocument.h>
-
-#include "qcpixsearcherprivate.h"
-#include "qcpixutils.h"
-
-/**
- * Note: Code in this file should never throw OR leak symbian exceptions.
- * Convert all leaves to C++ exceptions.
- */
-
-QCPixSearcher::QCPixSearcher( QString aDefaultSearchField )
- :iPvtImpl( new QCPixSearcherPrivate( this ) )
- {
- PERF_SEARCH_START_TIMER
- PERF_GETDOC_START_TIMER
- }
-
-QCPixSearcher::~QCPixSearcher()
- {
- delete iPvtImpl;
- }
-
-QCPixSearcher* QCPixSearcher::newInstance()
- {
- QCPixSearcher* searcher = NULL;
- try{
- searcher = new QCPixSearcher( QString() );
- searcher->iPvtImpl->Construct( QString() );
- }
- catch(...){
- delete searcher;
- return NULL;
- }
- return searcher;
- }
-
-QCPixSearcher* QCPixSearcher::newInstance( QString aBaseAppClass, QString aDefaultSearchField )
- {
- QCPixSearcher* searcher = NULL;
- try{
- searcher = new QCPixSearcher( aDefaultSearchField );
- searcher->iPvtImpl->Construct( aDefaultSearchField );
- searcher->setDatabase( aBaseAppClass );
- }
- catch(...){
- delete searcher->iPvtImpl;
- return NULL;
- }
- return searcher;
- }
-
-void QCPixSearcher::setDatabase( QString aBaseAppClass )
- {
- QT_TRAP_THROWING(
- TBuf<KMaxStringLength> baseAppClass( aBaseAppClass.utf16() );
- iPvtImpl->iSearcher->OpenDatabaseL( baseAppClass )
- ); //end of QT_TRAP_THROWING
- }
-
-void QCPixSearcher::setDatabaseAsync( QString aBaseAppClass )
- {
- QT_TRAP_THROWING(
- TBuf<KMaxStringLength> baseAppClass( aBaseAppClass.utf16() );
- iPvtImpl->iSearcher->OpenDatabaseL( *iPvtImpl, baseAppClass )
- ); //end of QT_TRAP_THROWING
- }
-
-//The following bit of code is common to two functions - this helps to avoid duplication.
-//However, macros make debugging difficult - so, if you need to debug, copy the code below
-//and replace the macro, fix the code and bring the fix back to the macro.
-#define CREATE_SEARCH_VARS \
- HBufC* searchString = HBufC::NewL( aSearchString.length() + 1 ); \
- TPtrC searchStringPtr( reinterpret_cast<const TUint16*>( aSearchString.utf16() ) ); \
- searchString->Des().Copy( searchStringPtr ); \
- \
- HBufC* defaultSearchField = HBufC::NewL( aDefaultSearchField.length() + 1 ); \
- TPtrC aDefaultSearchFieldPtr( reinterpret_cast<const TUint16*>( aDefaultSearchField.utf16() ) );\
- defaultSearchField->Des().Copy( aDefaultSearchFieldPtr );
-
-#define DELETE_SEARCH_VARS \
- delete searchString;\
- delete defaultSearchField;
-
-int QCPixSearcher::search( QString aSearchString, QString aDefaultSearchField )
- {
- PERF_SEARCH_RESTART_TIMER
- int tmp = 0;
- QT_TRAP_THROWING(
- CREATE_SEARCH_VARS;
- //ideally would have had just the following single line:
- //QT_TRAP_THROWING( return iPvtImpl->iSearcher->SearchL( searchString, defaultSearchField ) );
- //But the RCVT compiler throws up warnings. The following is just to suppress those warnings.
- tmp = iPvtImpl->iSearcher->SearchL( *searchString, *defaultSearchField );
- DELETE_SEARCH_VARS;
- ); //QT_TRAP_THROWING
-
- PERF_SEARCH_ENDLOG
- return tmp;
- }
-
-void QCPixSearcher::searchAsync( QString aSearchString, QString aDefaultSearchField )
- {
- PERF_TIME_NOW("Async search start")
- QT_TRAP_THROWING(
- CREATE_SEARCH_VARS;
- iPvtImpl->iSearcher->SearchL( *iPvtImpl, *searchString, *defaultSearchField );
- DELETE_SEARCH_VARS;
- ); //QT_TRAP_THROWING
- }
-
-QCPixDocument* QCPixSearcher::getDocument( int aIndex )
- {
- PERF_GETDOC_RESTART_TIMER
- QCPixDocument* tmp = 0;
- QT_TRAP_THROWING( tmp = QCPixDocFromCPixDoc( iPvtImpl->iSearcher->GetDocumentL( aIndex ) ) );
- PERF_GETDOC_ENDLOG
- return tmp;
- }
-
-void QCPixSearcher::getDocumentAsync( int aIndex )
- {
- PERF_TIME_NOW("Async get document start")
- QT_TRAP_THROWING( iPvtImpl->iSearcher->GetDocumentL( aIndex, *iPvtImpl ) );
- }
-
-void QCPixSearcher::cancelSearch()
- {
- iPvtImpl->iSearcher->Cancel();
- }
--- a/qcpix/tsrc/orbitsearch/orbitsearch.pro Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/orbitsearch/orbitsearch.pro Wed Aug 18 10:53:26 2010 +0300
@@ -21,7 +21,7 @@
QT += gui
QT += sql
CONFIG += qtestlib
-LIBS += -lqcpixsearchclient -lxqservice
+LIBS += -lcpixsearch -lxqservice
HEADERS += uicontrols.h searchhelper.h testsearch.h testci.h
SOURCES += OrbitSearch_reg.rss \
--- a/qcpix/tsrc/orbitsearch/searchhelper.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/orbitsearch/searchhelper.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -16,12 +16,12 @@
*/
#include "searchhelper.h"
-#include <qcpixdocument.h>
+#include <cpixdocument.h>
-SearchHelper::SearchHelper(HbLineEdit* searchBx, HbPushButton* searchBtn, HbTextEdit* searchRslt)
- :searchBox( searchBx ), searchButton( searchBtn ), resultsBox( searchRslt )
+SearchHelper::SearchHelper(HbLineEdit* searchBx, HbPushButton* searchBtn, HbTextEdit* searchRslt, HbLineEdit* indexBox, HbLineEdit* countBox, HbPushButton* getdocbutton)
+ :searchBox( searchBx ), searchButton( searchBtn ), resultsBox( searchRslt ), indexBox(indexBox), countBox(countBox), getdocbutton(getdocbutton)
{
- searcher = QCPixSearcher::newInstance("root","_aggregate");
+ searcher = CpixSearcher::newInstance("root","_aggregate");
resultsBox->setReadOnly( true );
resultsBox->setPlainText("Initialized");
searchTime.start();
@@ -35,42 +35,84 @@
void SearchHelper::doSearch()
{
resultsBox->setPlainText("Search button clicked!");
-
- int hits = 0;
-
- QString resultString("");
+ resultString = "";
resultsBox->setPlainText( resultString );
searchTime.restart();
QString searchString;
+
+#if PREFIX_SEARCH
searchString = "$prefix(\"";
searchString += searchBox->text();
searchString += "\")";
-#if STAR_SEARCH
+#elif STAR_SEARCH
searchString += searchBox->text();
searchString += "*";
#elif NO_STAR_SEARCH
+ searchString = searchBox->text();
;//do nothing
#endif
-
- hits = searcher->search( searchString );
+ iHits = 0;
+ iHits = searcher->search( searchString );
if (searchTime.elapsed() >= 0)
resultString = "SearchTime: " + QString().setNum( searchTime.elapsed() ) + " ms \r\n";
- resultString += "Hits: " + QString().setNum( hits ) + "\r\n";
+ resultString += "Hits: " + QString().setNum( iHits ) + "\r\n";
resultsBox->setPlainText( resultString );
#if !DONT_SHOW_RESULTS
- if( hits > 0 )
+ if( iHits > 0 )
{
- QCPixDocument* temp = NULL;
- int docCount = 0;
- do{
- temp = searcher->getDocument( docCount++ );
- resultString += temp->baseAppClass() + " " + temp->docId() + " " + temp->excerpt() + "\r\n\r\n";
- delete temp;
- }while( hits > docCount );
+ resultString += "Enter Index,count values and press GetDocs button to get the results";
+ resultString +="\r\n";
+ resultsBox->setPlainText( resultString );
}
- resultsBox->setPlainText( resultString );
#endif //DONT_SHOW_RESULTS
}
+
+void SearchHelper::showdocs()
+ {
+ QString indexstring = indexBox->text();
+ bool ok = false;
+ int index = indexstring.toInt(&ok);
+ if (ok)
+ {
+ QString countstring = countBox->text();
+ int count = countstring.toInt(&ok);
+ if (ok)
+ {
+ if ( index <= iHits )
+ {
+ if ( count == 1)
+ {
+ //call the normal get doc API
+ CpixDocument* temp = NULL;
+ do{
+ temp = searcher->document( index++ );
+ resultString += temp->baseAppClass() + " " + temp->docId() + " " + temp->excerpt() + "\r\n\r\n";
+ delete temp;
+ }while( iHits > index );
+ }
+ else
+ {
+ //call batch doc API
+ CpixDocument** temp = NULL;
+ do{
+ int retdoccount = 0;
+ temp = searcher->batchdocument(index,retdoccount,count);
+ for (int i=0; i< retdoccount; i++)
+ {
+ resultString += temp[i]->baseAppClass() + " " + temp[i]->docId() + " " + temp[i]->excerpt() + "\r\n\r\n";
+ delete temp[i];
+ }
+ delete temp;
+ temp = NULL;
+ index += retdoccount;
+ }while (iHits > index);
+ }
+ }
+ else resultString += " Requested document is out of range";
+ resultsBox->setPlainText( resultString );
+ }
+ }
+ }
--- a/qcpix/tsrc/orbitsearch/searchhelper.h Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/orbitsearch/searchhelper.h Wed Aug 18 10:53:26 2010 +0300
@@ -20,23 +20,26 @@
#include <QObject>
#include "uicontrols.h"
-#include <qcpixsearcher.h>
+#include <cpixsearcher.h>
#include <QTime>
class SearchHelper: public QObject
{
Q_OBJECT
public:
- SearchHelper(HbLineEdit*, HbPushButton*, HbTextEdit* );
+ SearchHelper(HbLineEdit*, HbPushButton*, HbTextEdit*, HbLineEdit*, HbLineEdit*, HbPushButton* );
~SearchHelper();
public slots:
void doSearch();
+ void showdocs();
private:
ORBIT_SEARCH_CONTROLS //Not owned.
- QCPixSearcher* searcher;//Owned
+ CpixSearcher* searcher;//Owned
QTime searchTime;
+ QString resultString;
+ int iHits;
};
#endif /* HELPER_H_ */
--- a/qcpix/tsrc/orbitsearch/testsearch.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/orbitsearch/testsearch.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -48,11 +48,30 @@
searchButton = new HbPushButton( "Search" );
layout->addItem( searchButton );
+ QGraphicsLinearLayout *getdoclayout = new QGraphicsLinearLayout;
+ getdoclayout->setOrientation(Qt::Horizontal);
+
+ indexBox = new HbLineEdit;
+ indexBox->setInputMethodHints(Qt::ImhPreferNumbers);
+
+ countBox = new HbLineEdit;
+ countBox->setInputMethodHints(Qt::ImhPreferNumbers);
+
+ getdocbutton = new HbPushButton("GetDocs");
+
+#if !DONT_SHOW_RESULTS
+ getdoclayout->addItem(indexBox);
+ getdoclayout->addItem(countBox);
+ getdoclayout->addItem(getdocbutton);
+ layout->addItem(getdoclayout);
+#endif //!DONT_SHOW_RESULTS
+
resultsBox = new HbTextEdit;
layout->addItem( resultsBox );
- SearchHelper* sh = new SearchHelper(searchBox, searchButton, resultsBox);
+ SearchHelper* sh = new SearchHelper(searchBox, searchButton, resultsBox, indexBox, countBox,getdocbutton);
QObject::connect( searchButton, SIGNAL( clicked() ), sh, SLOT(doSearch()) );
+ QObject::connect( getdocbutton, SIGNAL( clicked() ), sh, SLOT(showdocs()) );
w->setLayout( layout );
BigScreen->addView ( w );
--- a/qcpix/tsrc/orbitsearch/uicontrols.h Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/orbitsearch/uicontrols.h Wed Aug 18 10:53:26 2010 +0300
@@ -33,12 +33,12 @@
#define STAR_SEARCH 0
//Vanilla search. Send search string to engine "as-is".
-#define NO_STAR_SEARCH 0
+#define NO_STAR_SEARCH 1
//Enable the prefix_search macro to enable Prefix query feature. This will add $prefix to the query
//string.
-#define PREFIX_SEARCH 1
+#define PREFIX_SEARCH 0
//If you dont want to see results, define this flag.
#define DONT_SHOW_RESULTS 0
@@ -48,6 +48,9 @@
#define ORBIT_SEARCH_CONTROLS \
HbLineEdit* searchBox; \
HbPushButton* searchButton; \
+ HbLineEdit* indexBox; \
+ HbLineEdit* countBox; \
+ HbPushButton* getdocbutton; \
HbTextEdit* resultsBox;
#endif /* UICONTROLS_H_ */
--- a/qcpix/tsrc/qtcpixunittests/inc/ut_qtcpixdocument.h Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/inc/ut_qtcpixdocument.h Wed Aug 18 10:53:26 2010 +0300
@@ -20,8 +20,8 @@
#include <QtTest/QtTest>
-class QCPixDocument;
-class QCPixDocumentTester: public QObject
+class CpixDocument;
+class CpixDocumentTester: public QObject
{
Q_OBJECT
private slots:
@@ -40,7 +40,7 @@
void cleanup();
private:
- QCPixDocument* iDoc;
+ CpixDocument* iDoc;
};
#endif /* UT_QTCPIXDOCUMENT_H_ */
--- a/qcpix/tsrc/qtcpixunittests/inc/ut_qtcpixdocumentfield.h Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/inc/ut_qtcpixdocumentfield.h Wed Aug 18 10:53:26 2010 +0300
@@ -20,8 +20,8 @@
#include <QtTest/QtTest>
-class QCPixDocumentField;
-class QCPixDocumentFieldTester: public QObject
+class CpixDocumentField;
+class CpixDocumentFieldTester: public QObject
{
Q_OBJECT
private slots:
@@ -38,7 +38,7 @@
void cleanup();
private:
- QCPixDocumentField* iField;
+ CpixDocumentField* iField;
};
--- a/qcpix/tsrc/qtcpixunittests/inc/ut_qtcpixsearcher.h Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/inc/ut_qtcpixsearcher.h Wed Aug 18 10:53:26 2010 +0300
@@ -20,16 +20,16 @@
#include <QtTest/QtTest>
-class QCPixSearcher;
-class QCPixDocument;
+class CpixSearcher;
+class CpixDocument;
-class TestQCPixSearcher: public QObject
+class TestCpixSearcher: public QObject
{
Q_OBJECT
public slots:
void HandleDatabaseSet(int aError);
void HandleSearchResults(int aError, int aEstimatedCount);
- void HandleDocument(int aError, QCPixDocument* aDoc);
+ void HandleDocument(int aError, CpixDocument* aDoc);
private slots:
void testNewInstance();
@@ -51,8 +51,8 @@
void cleanup();
private:
- QCPixSearcher* iSearcher;
- QCPixDocument* iDoc;
+ CpixSearcher* iSearcher;
+ CpixDocument* iDoc;
bool iHandleSetDatabaseComplete;
int iHandleSearchResultsComplete;
bool iHandleGetDocumentComplete;
--- a/qcpix/tsrc/qtcpixunittests/qtcpixunittests.pro Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/qtcpixunittests.pro Wed Aug 18 10:53:26 2010 +0300
@@ -33,6 +33,8 @@
../qttestutil/SimpleChecker.cpp \
qtcpixunittests_reg.rss
+LIBS += -lcpixsearch
+
symbian{
BLD_INF_RULES.prj_exports += "data/_0.cfs \epoc32\winscw\c\private\2001f6f7\indexing\indexdb\root\contact\_0\_0.cfs" \
"data/deletable \epoc32\winscw\c\private\2001f6f7\indexing\indexdb\root\contact\_0\deletable" \
@@ -44,5 +46,4 @@
TARGET.CAPABILITY = ALL -TCB -DRM
TARGET.UID3 = 0xE76C2AE7
- LIBS += -lqcpixsearchclient
}
--- a/qcpix/tsrc/qtcpixunittests/src/ut_qtcpixdocument.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/src/ut_qtcpixdocument.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -19,83 +19,83 @@
#include <QtCore>
#include <QCoreApplication>
-#include <qcpixdocument.h>
-#include <qcpixdocumentfield.h>
+#include <cpixdocument.h>
+#include <cpixdocumentfield.h>
#include <QtTest/QtTest>
#include "../../QtTestUtil/QtTestUtil.h"
-void QCPixDocumentTester::testNewInstance()
+void CpixDocumentTester::testNewInstance()
{
- QCPixDocument* doc = QCPixDocument::newInstance();
+ CpixDocument* doc = CpixDocument::newInstance();
QVERIFY( doc != NULL );
delete doc;
}
-void QCPixDocumentTester::testGetSetName_data()
+void CpixDocumentTester::testGetSetName_data()
{
QTest::addColumn<QString>( "baseAppClass" );
QTest::newRow("root") << "root";
QTest::newRow("root contact") << "root contact";
}
-void QCPixDocumentTester::testGetSetName()
+void CpixDocumentTester::testGetSetName()
{
QFETCH( QString, baseAppClass );
iDoc->setBaseAppClass( baseAppClass );
QVERIFY( iDoc->baseAppClass() == baseAppClass );
}
-void QCPixDocumentTester::testGetSetDocId_data()
+void CpixDocumentTester::testGetSetDocId_data()
{
QTest::addColumn<QString>( "docId" );
QTest::newRow("C:\\some\\doc\\id") << "C:\\some\\doc\\id";
}
-void QCPixDocumentTester::testGetSetDocId()
+void CpixDocumentTester::testGetSetDocId()
{
QFETCH( QString, docId );
iDoc->setDocId( docId );
QVERIFY( iDoc->docId() == docId );
}
-void QCPixDocumentTester::testGetSetExcerpt_data()
+void CpixDocumentTester::testGetSetExcerpt_data()
{
QTest::addColumn< QString >( "excerpt" );
QTest::newRow("this is a sample excerpt") << "this is a sample excerpt";
}
-void QCPixDocumentTester::testGetSetExcerpt()
+void CpixDocumentTester::testGetSetExcerpt()
{
QFETCH( QString, excerpt );
iDoc->setExcerpt( excerpt );
QVERIFY( iDoc->excerpt() == excerpt );
}
-void QCPixDocumentTester::testGetFieldCount()
+void CpixDocumentTester::testGetFieldCount()
{
iDoc->addField("testName", "testValue", 10);
iDoc->addField("testName2", "testValue2", 12);
QVERIFY( iDoc->fieldCount() == 2 );
}
-void QCPixDocumentTester::testAddGetField()
+void CpixDocumentTester::testAddGetField()
{
iDoc->addField("testName", "testValue", 10);
iDoc->addField("testName2", "testValue2", 12);
- const QCPixDocumentField& field1 = iDoc->field( 0 );
+ const CpixDocumentField& field1 = iDoc->field( 0 );
QVERIFY( field1.name() == "testName" && field1.value() == "testValue" && field1.config() == 10 );
- const QCPixDocumentField& field2 = iDoc->field( 1 );
+ const CpixDocumentField& field2 = iDoc->field( 1 );
QVERIFY( field2.name() == "testName2" && field2.value() == "testValue2" && field2.config() == 12 );
}
-void QCPixDocumentTester::init()
+void CpixDocumentTester::init()
{
- iDoc = QCPixDocument::newInstance();
+ iDoc = CpixDocument::newInstance();
}
-void QCPixDocumentTester::cleanup()
+void CpixDocumentTester::cleanup()
{
delete iDoc;
}
-QTTESTUTIL_REGISTER_TEST( QCPixDocumentTester );
+QTTESTUTIL_REGISTER_TEST( CpixDocumentTester );
--- a/qcpix/tsrc/qtcpixunittests/src/ut_qtcpixdocumentfield.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/src/ut_qtcpixdocumentfield.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -18,15 +18,15 @@
#include "ut_qtcpixdocumentfield.h"
#include "../../QtTestUtil/QtTestUtil.h"
-#include <qcpixdocumentfield.h>
+#include <cpixdocumentfield.h>
-void QCPixDocumentFieldTester::testNewInstance()
+void CpixDocumentFieldTester::testNewInstance()
{
- QCPixDocumentField* field = QCPixDocumentField::newInstance( QString(), QString(), 0 );
+ CpixDocumentField* field = CpixDocumentField::newInstance( QString(), QString(), 0 );
QVERIFY( field != NULL );
}
-void QCPixDocumentFieldTester::testGetSetName_data()
+void CpixDocumentFieldTester::testGetSetName_data()
{
QTest::addColumn< QString >( "name" );
@@ -34,14 +34,14 @@
QTest::newRow("testName2") << "testName2" ;
}
-void QCPixDocumentFieldTester::testGetSetName()
+void CpixDocumentFieldTester::testGetSetName()
{
QFETCH( QString, name );
iField->setName( name );
QVERIFY( iField->name() == name );
}
-void QCPixDocumentFieldTester::testGetSetValue_data()
+void CpixDocumentFieldTester::testGetSetValue_data()
{
QTest::addColumn< QString >( "value" );
@@ -49,14 +49,14 @@
QTest::newRow("testVlaue2") << "testValue2" ;
}
-void QCPixDocumentFieldTester::testGetSetValue()
+void CpixDocumentFieldTester::testGetSetValue()
{
QFETCH( QString, value );
iField->setValue( value );
QVERIFY( iField->value() == value );
}
-void QCPixDocumentFieldTester::testGetSetConfig_data()
+void CpixDocumentFieldTester::testGetSetConfig_data()
{
QTest::addColumn< int >( "config" );
@@ -64,22 +64,22 @@
QTest::newRow("20") << 20 ;
}
-void QCPixDocumentFieldTester::testGetSetConfig()
+void CpixDocumentFieldTester::testGetSetConfig()
{
QFETCH( int, config );
iField->setConfig( config );
QVERIFY( iField->config() == config );
}
-void QCPixDocumentFieldTester::init()
+void CpixDocumentFieldTester::init()
{
- iField = QCPixDocumentField::newInstance( "testName", "testValue", 100 );
+ iField = CpixDocumentField::newInstance( "testName", "testValue", 100 );
QVERIFY( iField!=NULL && iField->name()=="testName" && iField->value()=="testValue" && iField->config()==100 );
}
-void QCPixDocumentFieldTester::cleanup()
+void CpixDocumentFieldTester::cleanup()
{
delete iField;
}
-QTTESTUTIL_REGISTER_TEST( QCPixDocumentFieldTester );
+QTTESTUTIL_REGISTER_TEST( CpixDocumentFieldTester );
--- a/qcpix/tsrc/qtcpixunittests/src/ut_qtcpixsearcher.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/qtcpixunittests/src/ut_qtcpixsearcher.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -19,8 +19,8 @@
#include <QtCore>
#include <QCoreApplication>
-#include <qcpixsearcher.h>
-#include <qcpixdocument.h>
+#include <cpixsearcher.h>
+#include <cpixdocument.h>
#include <QtTest/QtTest>
#include "../../QtTestUtil/QtTestUtil.h"
@@ -46,50 +46,51 @@
#define TEST_GET_DATA_FETCH \
QFETCH(QString, baseAppClass);
-void TestQCPixSearcher::testNewInstance()
+void TestCpixSearcher::testNewInstance()
{
- QCPixSearcher* searcher = QCPixSearcher::newInstance();
+ CpixSearcher* searcher = CpixSearcher::newInstance();
QVERIFY( searcher != NULL );
delete searcher;
}
-void TestQCPixSearcher::init()
+void TestCpixSearcher::init()
{
- iSearcher = QCPixSearcher::newInstance("root", "_aggregate");//default to root searcher.
+ iSearcher = CpixSearcher::newInstance("root", "_aggregate");//default to root searcher.
QVERIFY( iSearcher!=NULL );
}
-void TestQCPixSearcher::cleanup()
+void TestCpixSearcher::cleanup()
{
delete iSearcher;
}
-void TestQCPixSearcher::testSetDatabase_data()
+void TestCpixSearcher::testSetDatabase_data()
{
TEST_GET_DATA;
}
-void TestQCPixSearcher::testSetDatabase()
+void TestCpixSearcher::testSetDatabase()
{
TEST_GET_DATA_FETCH;
+ Q_ASSERT( iSearcher );
iSearcher->setDatabase( baseAppClass );//no way to verify this :(
}
-void TestQCPixSearcher::HandleDatabaseSet(int aError)
+void TestCpixSearcher::HandleDatabaseSet(int aError)
{
iHandleSetDatabaseComplete = true;
iError = aError;
}
-void TestQCPixSearcher::testSetDatabaseAsync_data()
+void TestCpixSearcher::testSetDatabaseAsync_data()
{
TEST_GET_DATA;
}
-void TestQCPixSearcher::testSetDatabaseAsync()
+void TestCpixSearcher::testSetDatabaseAsync()
{
TEST_GET_DATA_FETCH;
-
+ Q_ASSERT( iSearcher );
iHandleSetDatabaseComplete = false;
iError = -2 /*General: Something non-specific*/;
connect( iSearcher, SIGNAL(handleDatabaseSet(int)), this, SLOT(HandleDatabaseSet(int)) );
@@ -98,32 +99,33 @@
QVERIFY( iError == 0/*No error*/ );
}
-void TestQCPixSearcher::testSearch_data()
+void TestCpixSearcher::testSearch_data()
{
TEST_SEARCH_DATA;
}
-void TestQCPixSearcher::testSearch()
+void TestCpixSearcher::testSearch()
{
TEST_SEARCH_DATA_FETCH;
+ Q_ASSERT( iSearcher );
QVERIFY( iSearcher->search( searchString ) == estimatedResultCount );
}
-void TestQCPixSearcher::HandleSearchResults(int aError, int aEstimatedCount)
+void TestCpixSearcher::HandleSearchResults(int aError, int aEstimatedCount)
{
if( aError == 0/*None*/ ) iHandleSearchResultsComplete = aEstimatedCount;
else iHandleSearchResultsComplete = 0;
}
-void TestQCPixSearcher::testSearchAsync_data()
+void TestCpixSearcher::testSearchAsync_data()
{
TEST_SEARCH_DATA;
}
-void TestQCPixSearcher::testSearchAsync()
+void TestCpixSearcher::testSearchAsync()
{
TEST_SEARCH_DATA_FETCH;
-
+ Q_ASSERT( iSearcher );
iHandleSearchResultsComplete = -1;
//Do Search
@@ -136,39 +138,41 @@
QVERIFY( iHandleSearchResultsComplete == estimatedResultCount );
}
-void TestQCPixSearcher::testGetDocument_data()
+void TestCpixSearcher::testGetDocument_data()
{
TEST_SEARCH_DATA;
}
-void TestQCPixSearcher::testGetDocument()
+void TestCpixSearcher::testGetDocument()
{
TEST_SEARCH_DATA_FETCH;
+ Q_ASSERT( iSearcher );
QVERIFY( iSearcher->search( searchString ) == estimatedResultCount );
//Check only baseAppClass for now. Not sure about the order of docs returned.
//Hence check that we are getting "Robert" from contacts.
if( estimatedResultCount>0 ){
- QCPixDocument* doc = iSearcher->getDocument( 0 );
+ CpixDocument* doc = iSearcher->document( 0 );
QVERIFY( doc->baseAppClass() == "root contact" );
}
else return;
}
-void TestQCPixSearcher::HandleDocument(int /*aError*/, QCPixDocument* aDoc)
+void TestCpixSearcher::HandleDocument(int /*aError*/, CpixDocument* aDoc)
{
iHandleGetDocumentComplete = true;
iDoc = aDoc;
}
-void TestQCPixSearcher::testGetDocumentAsync_data()
+void TestCpixSearcher::testGetDocumentAsync_data()
{
TEST_SEARCH_DATA;
}
-void TestQCPixSearcher::testGetDocumentAsync()
+void TestCpixSearcher::testGetDocumentAsync()
{
TEST_SEARCH_DATA_FETCH;
+ Q_ASSERT( iSearcher );
iHandleGetDocumentComplete = false;
iHandleSearchResultsComplete = -1;
@@ -179,9 +183,9 @@
QVERIFY( iHandleSearchResultsComplete == estimatedResultCount );
//Get Document
- connect( iSearcher, SIGNAL(handleDocument(int,QCPixDocument*)), this, SLOT(HandleDocument(int,QCPixDocument*)) );
+ connect( iSearcher, SIGNAL(handleDocument(int,CpixDocument*)), this, SLOT(HandleDocument(int,CpixDocument*)) );
if( iHandleSearchResultsComplete>0 )
- iSearcher->getDocumentAsync( 0 );
+ iSearcher->documentAsync( 0 );
else
return;
@@ -190,4 +194,4 @@
QVERIFY( iDoc->baseAppClass() == "root contact" );
}
-QTTESTUTIL_REGISTER_TEST( TestQCPixSearcher );
+QTTESTUTIL_REGISTER_TEST( TestCpixSearcher );
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/copying Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2008 Remko Tronçon
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/qttestutil.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2008 Remko Troncon
+ * Licensed under the MIT license.
+ * See COPYING for license details.
+ */
+
+#ifndef QtTestUtil_H
+#define QtTestUtil_H
+
+#include "QtTestUtil/TestRegistration.h"
+
+/**
+ * A macro to register a test class.
+ *
+ * This macro will create a static variable which registers the
+ * testclass with the TestRegistry, and creates an instance of the
+ * test class.
+ *
+ * Execute this macro in the body of your unit test's .cpp file, e.g.
+ * class MyTest {
+ * ...
+ * };
+ *
+ * QTTESTUTIL_REGISTER_TEST(MyTest)
+ */
+#define QTTESTUTIL_REGISTER_TEST(TestClass) \
+ static QtTestUtil::TestRegistration<TestClass> TestClass##Registration
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/qttestutil.pri Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,5 @@
+INCLUDEPATH *= $$PWD/..
+DEPAENDPATH *= $$PWD/..
+
+SOURCES += \
+ $$PWD/TestRegistry.cpp
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/readme Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,8 @@
+QtTestUtil
+----------
+
+Convenience classes for unit testing using QtTest.
+See Example/ for examples on using these classes.
+
+Remko Tronçon
+http://el-tramo.be
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/simplechecker.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,17 @@
+/*
+ * Copyright (C) 2008 Remko Troncon
+ * Licensed under the MIT license.
+ * See COPYING for license details.
+ */
+
+#include <QCoreApplication>
+
+#include "QtTestUtil/TestRegistry.h"
+
+/**
+ * Runs all tests registered with the QtTestUtil registry.
+ */
+int main(int argc, char* argv[]) {
+ QCoreApplication application(argc, argv);
+ return QtTestUtil::TestRegistry::getInstance()->runTests(argc, argv);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/testregistration.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2008 Remko Troncon
+ * Licensed under the MIT license.
+ * See COPYING for license details.
+ */
+
+#ifndef QtTestUtil_TestRegistration_H
+#define QtTestUtil_TestRegistration_H
+
+#include "QtTestUtil/TestRegistry.h"
+
+namespace QtTestUtil {
+
+ /**
+ * A wrapper class around a test to manage registration and static
+ * creation of an instance of the test class.
+ * This class is used by QTTESTUTIL_REGISTER_TEST(), and you should not
+ * use this class directly.
+ */
+ template<typename TestClass>
+ class TestRegistration {
+ public:
+ TestRegistration() {
+ test_ = new TestClass();
+ TestRegistry::getInstance()->registerTest(test_);
+ }
+
+ ~TestRegistration() {
+ delete test_;
+ }
+
+ private:
+ TestClass* test_;
+ };
+
+}
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/testregistry.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2008 Remko Troncon
+ * Licensed under the MIT license.
+ * See COPYING for license details.
+ */
+
+#include "QtTestUtil/TestRegistry.h"
+
+#include <QtTest/QtTest>
+
+namespace QtTestUtil {
+
+TestRegistry* TestRegistry::getInstance() {
+ static TestRegistry registry;
+ return ®istry;
+}
+
+void TestRegistry::registerTest(QObject* test) {
+ tests_ += test;
+}
+
+int TestRegistry::runTests(int argc, char* argv[]) {
+ int result = 0;
+ foreach(QObject* test, tests_) {
+ result |= QTest::qExec(test, argc, argv);
+ }
+ return result;
+}
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/testregistry.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2008 Remko Troncon
+ * Licensed under the MIT license.
+ * See COPYING for license details.
+ */
+
+#ifndef QtTestUtil_TestRegistry_H
+#define QtTestUtil_TestRegistry_H
+
+#include <QList>
+
+class QObject;
+
+namespace QtTestUtil {
+
+ /**
+ * A registry of QtTest test classes.
+ * All test classes registered with QTTESTUTIL_REGISTER_TEST add
+ * themselves to this registry. All registered tests can then be run at
+ * once using runTests().
+ */
+ class TestRegistry {
+ public:
+ /**
+ * Retrieve the single instance of the registry.
+ */
+ static TestRegistry* getInstance();
+
+ /**
+ * Register a QtTest test.
+ * This method is called by QTTESTUTIL_REGISTER_TEST, and you should
+ * not use this method directly.
+ */
+ void registerTest(QObject*);
+
+ /**
+ * Run all registered tests using QTest::qExec()
+ */
+ int runTests(int argc, char* argv[]);
+
+ private:
+ TestRegistry() {}
+
+ private:
+ QList<QObject*> tests_;
+ };
+}
+
+#endif
--- a/qcpix/tsrc/samplesearch/samplesearch.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/samplesearch/samplesearch.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -17,7 +17,7 @@
#include "SampleSearch.h"
#include "searchhandler.h"
-#include <QCPixDocument.h>
+#include <cpixdocument.h>
#include <xqservicerequest.h>
SampleSearch::SampleSearch(QWidget */*parent*/)
@@ -98,7 +98,7 @@
connect(btnSearchAsync, SIGNAL(clicked()),this, SLOT(doSearchAsync()));
connect(iSearchHandler, SIGNAL(handleSearchResult(int,int)),this, SLOT(onSearchComplete(int,int)));
connect(iSearchHandler, SIGNAL(handleAsyncSearchResult(int,int)),this, SLOT(onAsyncSearchComplete(int,int)));
- connect(iSearchHandler, SIGNAL(handleDocument(int,QCPixDocument*)),this, SLOT(onGetDocumentComplete(int,QCPixDocument*)));
+ connect(iSearchHandler, SIGNAL(handleDocument(int,CpixDocument*)),this, SLOT(onGetDocumentComplete(int,CpixDocument*)));
}
SampleSearch::~SampleSearch()
@@ -142,7 +142,7 @@
iSearchHandler->getDocumentAsyncAtIndex( nextDocumentIndex++ );
}
-void SampleSearch::onGetDocumentComplete(int aError, QCPixDocument* aDoc)
+void SampleSearch::onGetDocumentComplete(int aError, CpixDocument* aDoc)
{
if( aDoc == NULL ) return;
addDocumentToResultsPage( aDoc, currentRow++ );
@@ -293,7 +293,7 @@
{
if(rowCount<noOfItemsPerPage)
{
- QCPixDocument* aSearchDoc = iSearchHandler->getDocumentAtIndex(i);
+ CpixDocument* aSearchDoc = iSearchHandler->getDocumentAtIndex(i);
addDocumentToResultsPage( aSearchDoc, rowCount );
rowCount++;
}
@@ -312,7 +312,7 @@
QString docId;
};
-void SampleSearch::addDocumentToResultsPage( QCPixDocument* aSearchDoc, int rowCount )
+void SampleSearch::addDocumentToResultsPage( CpixDocument* aSearchDoc, int rowCount )
{
QTableWidgetItem *appClassCol = new QTableWidgetItem("Col1");
appClassCol->setFlags(Qt::ItemIsEnabled);
--- a/qcpix/tsrc/samplesearch/samplesearch.h Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/samplesearch/samplesearch.h Wed Aug 18 10:53:26 2010 +0300
@@ -32,7 +32,7 @@
#include <QVector>
class CSearchHandler;
-class QCPixDocument;
+class CpixDocument;
class DocLaunchInfo;
class SampleSearch : public QWidget
@@ -75,7 +75,7 @@
void createSearchResultTableAndAddContents();
void searchCompleteHelper(int aError, int aResultCount);
void setSearchResultsHeader();
- void addDocumentToResultsPage( QCPixDocument* aSearchDoc, int rowCount );
+ void addDocumentToResultsPage( CpixDocument* aSearchDoc, int rowCount );
void openMessaging( int aMessagingId );
void doLaunchDoc(DocLaunchInfo& info);
@@ -85,7 +85,7 @@
void doSearchAsync();
void onSearchComplete(int aError, int aResultCount);
void onAsyncSearchComplete(int aError, int aResultCount);
- void onGetDocumentComplete(int aError, QCPixDocument* aDoc);
+ void onGetDocumentComplete(int aError, CpixDocument* aDoc);
void displayNextPage();
void displayPrevPage();
};
--- a/qcpix/tsrc/samplesearch/samplesearch.pro Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/samplesearch/samplesearch.pro Wed Aug 18 10:53:26 2010 +0300
@@ -20,7 +20,7 @@
QT += core
QT += gui
CONFIG += qtestlib
-LIBS += -lqcpixsearchclient
+LIBS += -lcpixsearch
HEADERS += SampleSearch.h \
searchHandler.h
--- a/qcpix/tsrc/samplesearch/searchhandler.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/samplesearch/searchhandler.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -16,14 +16,14 @@
*/
#include "searchhandler.h"
-#include <qcpixsearcher.h>
-#include <qcpixdocument.h>
+#include <cpixsearcher.h>
+#include <cpixdocument.h>
CSearchHandler::CSearchHandler()
{
- iSearchInterface = QCPixSearcher::newInstance("root","_aggregate");
+ iSearchInterface = CpixSearcher::newInstance("root","_aggregate");
iSearchInterface->connect(iSearchInterface, SIGNAL(handleSearchResults(int,int)), this, SLOT(__handleSearchResult(int,int)));
- iSearchInterface->connect(iSearchInterface, SIGNAL(handleDocument(int,QCPixDocument*)), this, SLOT(__getDocumentAsync(int,QCPixDocument*)));
+ iSearchInterface->connect(iSearchInterface, SIGNAL(handleDocument(int,CpixDocument*)), this, SLOT(__getDocumentAsync(int,CpixDocument*)));
}
void CSearchHandler::__handleSearchResult(int aError, int estimatedResultCount)
@@ -33,14 +33,14 @@
emit handleAsyncSearchResult(aError, estimatedResultCount);
}
-void CSearchHandler::__getDocumentAsync(int aError, QCPixDocument* aDocument )
+void CSearchHandler::__getDocumentAsync(int aError, CpixDocument* aDocument )
{
emit handleDocument( aError, aDocument );
}
-QCPixDocument* CSearchHandler::getDocumentAtIndex(int aIndex)
+CpixDocument* CSearchHandler::getDocumentAtIndex(int aIndex)
{
- return iSearchInterface->getDocument( aIndex );
+ return iSearchInterface->document( aIndex );
}
void CSearchHandler::search(QString aSearchString)
@@ -63,7 +63,7 @@
void CSearchHandler::getDocumentAsyncAtIndex( int aIndex )
{
- iSearchInterface->getDocumentAsync( aIndex );
+ iSearchInterface->documentAsync( aIndex );
}
void CSearchHandler::searchAsync(QString aSearchString)
--- a/qcpix/tsrc/samplesearch/searchhandler.h Tue Jul 06 15:30:04 2010 +0300
+++ b/qcpix/tsrc/samplesearch/searchhandler.h Wed Aug 18 10:53:26 2010 +0300
@@ -20,8 +20,8 @@
#include <QDebug>
#include <QTest>
-class QCPixSearcher;
-class QCPixDocument;
+class CpixSearcher;
+class CpixDocument;
class CSearchHandler: public QObject
{
@@ -32,15 +32,15 @@
signals:
void handleSearchResult(int, int);
void handleAsyncSearchResult(int, int);
- void handleDocument(int aError, QCPixDocument* aDoc);
+ void handleDocument(int aError, CpixDocument* aDoc);
private slots:
void __handleSearchResult(int aError, int estimatedResultCount);
- void __getDocumentAsync(int aError, QCPixDocument* aDocument );
+ void __getDocumentAsync(int aError, CpixDocument* aDocument );
public:
~CSearchHandler();
- QCPixDocument* getDocumentAtIndex(int aIndex);
+ CpixDocument* getDocumentAtIndex(int aIndex);
void getDocumentAsyncAtIndex(int aIndex);
void search(QString aSearchString);
void searchAsync(QString aSearchString);
@@ -48,7 +48,7 @@
int getSearchResultCount();
private:
- QCPixSearcher *iSearchInterface;
+ CpixSearcher *iSearchInterface;
QList<QVariantMap> searchResults;
int iSearchresultCount;
};
--- a/rom/cpix_mw.iby Tue Jul 06 15:30:04 2010 +0300
+++ b/rom/cpix_mw.iby Wed Aug 18 10:53:26 2010 +0300
@@ -44,7 +44,7 @@
//data=DATAZ_\RESOURCE_FILES_DIR\plugins\npCPixPlugin.rsc RESOURCE_FILES_DIR\plugins\npCPixPlugin.rsc
//CPIX QT
-file=ABI_DIR\BUILD_DIR\qcpixsearchclient.dll SHARED_LIB_DIR\qcpixsearchclient.dll
+file=ABI_DIR\BUILD_DIR\cpixsearch.dll SHARED_LIB_DIR\cpixsearch.dll
//CPiX Watchdog
file=ABI_DIR\BUILD_DIR\cpixwatchdog.exe SHARED_LIB_DIR\cpixwatchdog.exe
--- a/searchengine/cpix/cpix/inc/private/cpixhits.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/inc/private/cpixhits.h Wed Aug 18 10:53:26 2010 +0300
@@ -70,6 +70,8 @@
* having the worst match.
*/
virtual Document * getDocument(int32_t index) = 0;
+
+ virtual int resetDocumentCache(int32_t index, int32_t count) = 0;
/**
* Returns the amount of hits
@@ -110,7 +112,7 @@
typedef std::map<int32_t, Document*> WrapperMap;
WrapperMap wrappers_;
- void destroyWrappers();
+ void destroyWrappers(int32_t index);
/**
@@ -134,6 +136,8 @@
Document * getDocument(int32_t index);
+
+ int resetDocumentCache(int32_t index, int32_t count);
/**
--- a/searchengine/cpix/cpix/inc/public/appclass-hierarchy.txt Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/inc/public/appclass-hierarchy.txt Wed Aug 18 10:53:26 2010 +0300
@@ -23,13 +23,27 @@
| [ _mimetype (opt) ] {EStoreYes | EIndexNo}
|
+-- msg
- | [ To ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes, if present}
- | [ From ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes, if present}
- | [ Body ] {EStoreYes | EIndexTokenized } {ExcerptYes}
- | [ Folder ] {EStoreYes | EIndexNo} {ExcerptNA}
- | [ Subject ] {EStoreYes | EIndexTokenized} {ExcperptNo}
- | [ Attachment ] {EStoreYes | EIndexTokenized} {ExcperptNo}
- |
+ | |
+ | |
+ | +--smsmms
+ | | [ To ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes, if present}
+ | | [ From ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptYes, if present}
+ | | [ Body ] {EStoreYes | EIndexTokenized } {ExcerptYes}
+ | | [ Folder ] {EStoreYes | EIndexNo} {ExcerptNA}
+ | | [ Subject ] {EStoreYes | EIndexTokenized} {ExcperptNo}
+ | | [ Attachment ] {EStoreYes | EIndexTokenized} {ExcperptNo}
+ | |
+ | +--email
+ | | [ Sender ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcperptNo}
+ | | [ Subject ] {EStoreYes | EIndexTokenized } {ExcerptYes}
+ | | [ Recipients] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcperptNo}
+ | | [ Body ] {EStoreYes | EIndexTokenized } {ExcerptYes}
+ | | [ MailBoxId ] {EStoreYes | EIndexUnTokenized | EAggregateNo} {ExcerptNA}
+ | | [ FolderId ] {EStoreYes | EIndexUnTokenized | EAggregateNo} {ExcerptNA}
+ | | [ Attachment ] {EStoreYes | EIndexTokenized , if present} {ExcperptNo}
+ | | [ MailBoxName ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcperptNo}
+ | | [ SentTime ] {EStoreYes | EIndexTokenized } {ExcperptNo}
+ | |
+-- file
| |
| |
@@ -42,6 +56,7 @@
| +-- folder
| [ Name ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptNo}
| [ Extension ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptNo}
+ | [ IsFolder ] {EStoreYes | EIndexTokenized | EIndexFreeText} {ExcerptNo}
|
|
+-- media
--- a/searchengine/cpix/cpix/inc/public/cpix_async.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/inc/public/cpix_async.h Wed Aug 18 10:53:26 2010 +0300
@@ -486,9 +486,10 @@
*/
cpix_JobId cpix_Hits_asyncDoc(cpix_Hits * thisHits,
int32_t index,
- cpix_Document * target,
+ cpix_Document ** target,
void * cookie,
- cpix_AsyncCallback * callback);
+ cpix_AsyncCallback * callback,
+ int32_t count);
/**
--- a/searchengine/cpix/cpix/inc/public/cpixerror.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/inc/public/cpixerror.h Wed Aug 18 10:53:26 2010 +0300
@@ -106,9 +106,16 @@
* Clears the error state of cpixObj.
*/
#define cpix_ClearError(cpixObj) ((cpixObj)->err_ = cpix_Error_destroy((cpixObj)->err_))
-
-
-
+ /*
+ * Determines to what extent the cpix_hits_docs() is able to fetch available hits
+ * Previously a check on cpix_Failed/Suceeded(hits) suffices, but with the batch_get_doc
+ * implementation a request for N results may results in X fetches where (X <= N) To
+ * correctly determine how many actual results are fetched a check on _err is not enough
+ * and _ptr too have to cheked for NULL
+ */
+#define doc_Fetch_Succeeded(docObj) ((docObj)->ptr_ != NULL)
+#define doc_Fetch_Failed(docObj) ((docObj)->ptr_ == NULL)
+
/**
* Any "static" calls will give the result back via this
* structure.
--- a/searchengine/cpix/cpix/inc/public/cpixsearch.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/inc/public/cpixsearch.h Wed Aug 18 10:53:26 2010 +0300
@@ -296,7 +296,8 @@
*/
void cpix_Hits_doc(cpix_Hits * thisHits,
int32_t index,
- cpix_Document * target);
+ cpix_Document ** target,
+ int32_t count);
--- a/searchengine/cpix/cpix/src/common/gpssort.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/src/common/gpssort.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -422,19 +422,19 @@
for (int32_t i = 0; i < count; ++i)
{
- cpix_Document
- cpixDoc;
+ cpix_Document* cpixDoc = new cpix_Document;
cpix_Hits_doc(unsortedHits,
i,
- &cpixDoc);
+ &cpixDoc,
+ 1);
float
gpsLat,
gpsLong;
auto_ptr<lucene::document::Document>
- clone(cloneAndGetGps(&Cast2Native<cpix_Document>(&cpixDoc)->native(),
+ clone(cloneAndGetGps(&Cast2Native<cpix_Document>(cpixDoc)->native(),
&gpsLat,
&gpsLong));
GpsDistance
@@ -447,6 +447,8 @@
clone.release();
locations.push_back(gdp);
+
+ delete cpixDoc;
}
}
}
--- a/searchengine/cpix/cpix/src/cpix_async.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/src/cpix_async.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -1107,7 +1107,8 @@
//
cpix_Hits * hits_;
int32_t index_;
- cpix_Document * target_;
+ cpix_Document ** target_;
+ int32_t count_;
public:
@@ -1116,16 +1117,18 @@
//
static cpix_JobId CreateJob(cpix_Hits * hits,
int32_t index,
- cpix_Document * target,
+ cpix_Document ** target,
void * cookie,
- cpix_AsyncCallback * callback)
+ cpix_AsyncCallback * callback,
+ int32_t count)
{
std::auto_ptr<AsyncJob>
job(new AsyncHitsDocJob(hits,
index,
target,
cookie,
- callback));
+ callback,
+ count ));
cpix_JobId
rv = job->id();
@@ -1167,15 +1170,17 @@
//
AsyncHitsDocJob(cpix_Hits * hits,
int32_t index,
- cpix_Document * target,
+ cpix_Document ** target,
void * cookie,
- cpix_AsyncCallback * callback)
+ cpix_AsyncCallback * callback,
+ int32_t count)
: AsyncJob(IdxDbHndl(), // default value for handlers
cookie,
callback),
hits_(NULL),
index_(index),
- target_(target)
+ target_(target),
+ count_(count)
{
// We must make sure that these native objects live even
// if the client calls cancel in the middle of operation
@@ -1217,7 +1222,8 @@
cpix_Hits_doc(&hits,
index_,
- target_);
+ target_,
+ count_);
return hits.err_;
}
@@ -1841,9 +1847,10 @@
cpix_JobId cpix_Hits_asyncDoc(cpix_Hits * thisHits,
int32_t index,
- cpix_Document * target,
+ cpix_Document ** target,
void * cookie,
- cpix_AsyncCallback * callback)
+ cpix_AsyncCallback * callback,
+ int32_t count)
{
return XlateExc(thisHits,
CallFreeFunc(&AsyncHitsDocJob::CreateJob,
@@ -1851,7 +1858,8 @@
index,
target,
cookie,
- callback));
+ callback,
+ count));
}
--- a/searchengine/cpix/cpix/src/cpixhits.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/src/cpixhits.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -36,18 +36,27 @@
}
- void HitsBase::destroyWrappers()
+ void HitsBase::destroyWrappers(int32_t index)
{
WrapperMap::iterator
- i = wrappers_.begin(),
- end = wrappers_.end();
+ i = wrappers_.begin();
- for (; i != end; ++i)
+ if (index == -1) {
+ for (; i != wrappers_.end(); ++i)
{
delete i->second;
+ wrappers_.clear();
}
+ } else {
+ for (; i != wrappers_.find(index); ++i)
+ {
+ delete i->second;
+
+ }
+ wrappers_.erase(wrappers_.begin(),wrappers_.find(index));
+ }
- wrappers_.clear();
+
}
@@ -61,16 +70,26 @@
void HitsBase::wrapDocument(int32_t index,
lucene::document::Document * doc)
{
- if (wrappers_.find(index) != wrappers_.end())
+// if (wrappers_.find(index) != wrappers_.end())
+// {
+// delete wrappers_[index];
+// wrappers_[index] = NULL;
+// }
+//
+// Cpix::Document
+// * cpixDoc = new Cpix::Document(doc,
+// docsOwnedByClucene_);
+// wrappers_[index] = cpixDoc;
+
+ if (wrappers_.find(index) == wrappers_.end())
{
- delete wrappers_[index];
- wrappers_[index] = NULL;
+ Cpix::Document
+ * cpixDoc = new Cpix::Document(doc,
+ docsOwnedByClucene_);
+ wrappers_[index] = cpixDoc;
}
- Cpix::Document
- * cpixDoc = new Cpix::Document(doc,
- docsOwnedByClucene_);
- wrappers_[index] = cpixDoc;
+
}
@@ -89,7 +108,19 @@
return rv;
}
-
+ int HitsBase::resetDocumentCache(int32_t index, int32_t count)
+ {
+ int32_t reqCount = index + count;
+ int rv = 0;
+ int i = (wrappers_.begin()->first)+ (int32_t) wrappers_.size();
+ if ((i < reqCount) || (index < wrappers_.begin()->first))
+ {
+ getDocument_(index);
+
+ }
+ rv = (int32_t) wrappers_.size();
+ return rv;
+ }
/**
* Class ClhDocumentConsumer
@@ -144,7 +175,8 @@
clHits_.length());
}
- beginIndex_ = index - (index % pageSize_);
+ //beginIndex_ = index - (index % pageSize_);
+ beginIndex_ = index;
endIndex_ = beginIndex_ + pageSize_;
endIndex_ = std::min(clHits_.length(),
@@ -234,7 +266,7 @@
delete hits_;
hits_ = 0;
- destroyWrappers();
+ destroyWrappers(0);
delete docConsumer_;
@@ -245,7 +277,7 @@
void LuceneHits::getDocument_(int32_t index)
{
// check if we have tried to fetch it before and failed
- docConsumer_->throwIfFailedDocIndex(index);
+ //docConsumer_->throwIfFailedDocIndex(index);
// common usage pattern is to enumerate hits, never to access
// them at true random manner. That means that we never need
@@ -253,7 +285,7 @@
// fetch the next page we can discard all other wrapped
// documents. Merely an memory consumption optimization
// measure, can be commented out.
- destroyWrappers();
+ destroyWrappers(index);
// if we get here, then it means we don't have the page of hit
// docs we need, but it may still throw if the hits is an
@@ -304,12 +336,12 @@
HitDocumentList::~HitDocumentList()
{
- destroyWrappers();
+ destroyWrappers(0);
for (std::vector<lucene::document::Document*>::iterator i = documents_.begin();
i != documents_.end();
i++)
{
- _CLDELETE(*i);
+ _CLDELETE(*i);
}
}
--- a/searchengine/cpix/cpix/src/cpixsearch.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/src/cpixsearch.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -235,25 +235,36 @@
void cpix_Hits_doc(cpix_Hits * thisHits,
int32_t index,
- cpix_Document * target)
+ cpix_Document ** target,
+ int32_t count )
{
- Cpix::Document
- * pDoc = XlateExc(thisHits,
+
+ int result = XlateExc(thisHits,
Caller(thisHits,
- &Cpix::IHits::getDocument,
- index));
- if (cpix_Succeeded(thisHits))
- {
- target->ptr_ = pDoc;
- target->err_ = NULL;
-
- // TEMP (?) post-condition code
- if (target->ptr_ == NULL)
- {
- thisHits->err_
- = CreateError(ET_CPIX_EXC,
- L"PANIC PANIC PANIC - NULL doc returned without any error message!");
- }
+ &Cpix::IHits::resetDocumentCache,
+ index,
+ count));
+
+ for (int32_t i = 0; i < count && i < result ; i++) {
+ Cpix::Document
+ * pDoc = XlateExc(thisHits,
+ Caller(thisHits,
+ &Cpix::IHits::getDocument,
+ index++));
+ if (cpix_Succeeded(thisHits))
+ {
+ target[i]->ptr_ = pDoc;
+ target[i]->err_ = NULL;
+
+ // TEMP (?) post-condition code
+ if (target[i]->ptr_ == NULL)
+ {
+ thisHits->err_
+ = CreateError(ET_CPIX_EXC,
+ L"PANIC PANIC PANIC - NULL doc returned without any error message!");
+ }
+ //target ++;
+ }
}
}
--- a/searchengine/cpix/cpix/src/fileparser/fileparser.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/src/fileparser/fileparser.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -180,7 +180,7 @@
newField.reset(new Field(LEXTENSION_FIELD,
wExtension.c_str(),
- cpix_STORE_NO
+ cpix_STORE_YES
| cpix_INDEX_TOKENIZED
| cpix_AGGREGATE_YES
| cpix_FREE_TEXT));
--- a/searchengine/cpix/cpix/src/prefixqueryparser.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/cpix/src/prefixqueryparser.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -65,8 +65,8 @@
if ( q_.get() ) {
auto_ptr<BooleanQuery> bq( new BooleanQuery() );
bq_ = bq.get();
- bq_->add( q_.release(), true, true, false );
- bq_->add( q.release(), true, true, false );
+ bq_->add( q_.release(), true, false, false );
+ bq_->add( q.release(), true, false, false );
q_.reset( bq.release() );
} else {
q_ = q;
--- a/searchengine/cpix/tsrc/cpixsample/group/cpixsample.mmp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixsample/group/cpixsample.mmp Wed Aug 18 10:53:26 2010 +0300
@@ -50,11 +50,9 @@
STATICLIBRARY libcpix.lib
STATICLIBRARY libclucene.lib
STATICLIBRARY libstemmer.lib
-//STATICLIBRARY libitk.lib
STATICLIBRARY libcpixtools.lib
-//STATICLIBRARY libcpixxf.lib
-//STATICLIBRARY libexif.lib
-//STATICLIBRARY libid3.lib
+STATICLIBRARY libanalysis.lib
+
LIBRARY libpthread.lib
LIBRARY libz.lib // for libid3
--- a/searchengine/cpix/tsrc/cpixsample/src/cpixsample.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixsample/src/cpixsample.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -75,7 +75,7 @@
*idxDb_ = cpix_IdxDb_openDb(&result,
TEST_DOCUMENT_QBASEAPPCLASS,
- cpix_IDX_CREATE);
+ cpix_IDX_OPEN);
if (cpix_Failed(&result))
{
printf("Failed to open indexDb\n");
@@ -187,17 +187,42 @@
}
cout << "Number of hits: " << hitCount << endl;
-
+ while (1)
+ {
+ int fromDoc;
+ int docCount;
+ printf("\nFrom: ");
+ scanf("%d",&fromDoc);
+ printf("\nHow many doc: ");
+ scanf("%d",&docCount);
+
cpix_Document
- doc;
-
- for (int32_t i = 0; i < hitCount; ++i)
+ **doc;
+
+ doc = (cpix_Document **) malloc (sizeof(cpix_Document *) * docCount);
+ for(int j = 0 ; j < docCount; j++)
{
+ doc[j] = (cpix_Document *) malloc (sizeof(cpix_Document));
+ doc[j]->ptr_ = NULL;
+ }
+
cpix_Hits_doc(hits,
- i,
- &doc);
+ fromDoc,
+ doc,
+ docCount);
+
+ for(int j = 0 ; docCount>j && doc[j]->ptr_ != NULL; j++)
+ {
+ printf("%d \n", j);
+ printHit(doc[j]);
+ }
+
+ for(int j = 0 ; j < docCount; j++)
+ free(doc[j]);
- printHit(&doc);
+
+ free(doc);
+
}
logDbgMsg("Shankar Ha hahah");
}
@@ -212,11 +237,14 @@
cpix_IdxDb * idxDb_ = NULL;
cpix_Hits * hits_;
- printf("Press a character to exit!\n");
+
- testInit(&analyzer_,&idxDb_);
+ testInit(&analyzer_,&idxDb_);
+ for(int j = 0; j < 10; j++)
+ {
createDocument(LDOCUID1,DOC1CONTENT, &analyzer_,&idxDb_);
createDocument(LDOCUID2,DOC2CONTENT, &analyzer_,&idxDb_);
+ }
queryParser_ = cpix_QueryParser_create(&result,
--- a/searchengine/cpix/tsrc/cpixunittest/inc/suggestion.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/inc/suggestion.h Wed Aug 18 10:53:26 2010 +0300
@@ -34,7 +34,7 @@
const Suggestion & right);
public:
- Suggestion(cpix_Document & doc,
+ Suggestion(cpix_Document * doc,
Itk::TestMgr * testMgr);
--- a/searchengine/cpix/tsrc/cpixunittest/inc/testutils.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/inc/testutils.h Wed Aug 18 10:53:26 2010 +0300
@@ -210,5 +210,11 @@
extern const Volume Volumes[];
+#define ALLOC_DOC(DOC, COUNT) DOC = (cpix_Document**)malloc (sizeof(cpix_Document*)* COUNT); \
+ for (int i = 0; i < COUNT; i++) { \
+ (DOC[i]) = (cpix_Document*)malloc (sizeof(cpix_Document)); \
+ DOC[i]->ptr_ = NULL; \
+ }
+#define FREE_DOC(DOC, COUNT) for (int i=0; i< COUNT; i++) free(DOC[i]); free (DOC);
#endif // CPIXUNITTEST_TESTUTILS_H_
--- a/searchengine/cpix/tsrc/cpixunittest/src/asynctests.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/asynctests.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -36,7 +36,7 @@
#include "testutils.h"
#include "testcorpus.h"
#include "setupsentry.h"
-
+#include "testutils.h"
#include "std_log_result.h"
// TODO PROPER, EXAMPLARY error clearing (cpix_ClearError())
@@ -587,7 +587,7 @@
bool call(cpix_Hits * hits,
int32_t index,
- cpix_Document * target,
+ cpix_Document ** target,
Itk::TestMgr * testMgr,
bool cancel)
{
@@ -605,7 +605,8 @@
index,
target,
this,
- &callback);
+ &callback,
+ 1);
}
ITK_ASSERT(testMgr,
@@ -725,7 +726,7 @@
SyncedDoc syncedDoc_;
- cpix_Document targetDoc_;
+ cpix_Document **targetDoc_;
Cpt::Mutex & cpixMutex_;
@@ -736,9 +737,13 @@
syncedDoc_(cpixMutex),
cpixMutex_(cpixMutex)
{
- ;
+ ALLOC_DOC(targetDoc_, 1);
}
-
+
+ ~SyncedSearch() {
+ FREE_DOC(targetDoc_, 1);
+ }
+
void call(cpix_IdxSearcher * searcher,
cpix_Query * query,
Itk::TestMgr * testMgr,
@@ -905,7 +910,7 @@
bool
succeeded = syncedDoc_.call(hits,
i,
- &targetDoc_,
+ targetDoc_,
testMgr,
(i%4) == 1); // cancel or not
@@ -914,7 +919,7 @@
Cpt::SyncRegion
sr(cpixMutex_);
- PrintHit(&targetDoc_,
+ PrintHit(targetDoc_[0],
testMgr);
}
}
--- a/searchengine/cpix/tsrc/cpixunittest/src/destructivetests.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/destructivetests.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -216,47 +216,59 @@
printf("Accessing hits after closing... \n");
cpix_Document
- doc;
-
+ **doc;
+ ALLOC_DOC(doc, 1);
+
printf("doc #0: ");
cpix_Hits_doc(hits,
0,
- &doc);
+ doc,
+ 1);
+ if (doc[0]->ptr_ != NULL) {
ITK_EXPECT( testMgr,
- cpix_Succeeded( hits ),
- "Accessing hit(0) should succeeded for closed database (hits still holds a reference to its originator)." );
+ cpix_Succeeded( hits ),
+ "Accessing hit(0) should succeeded for closed database (hits still holds a reference to its originator)." );
if (cpix_Failed(hits))
{
- wchar_t
- buf[256];
- cpix_Error_report(hits->err_,
- buf,
- sizeof(buf) / sizeof(wchar_t));
- printf("%S\n", buf);
- cpix_ClearError(hits);
-
+ wchar_t
+ buf[256];
+ cpix_Error_report(hits->err_,
+ buf,
+ sizeof(buf) / sizeof(wchar_t));
+ printf("%S\n", buf);
+ cpix_ClearError(hits);
+
}
+ }
+ FREE_DOC(doc, 1);
+
+ ALLOC_DOC(doc, 1)
printf("\ndoc #20: ");
cpix_Hits_doc(hits,
20,
- &doc);
+ doc,
+ 1);
+ if (doc[0]->ptr_ != NULL) {
ITK_EXPECT( testMgr,
- cpix_Failed( hits ),
- "Accessing hit(20) should NOT succeeded for closed database (hits still holds a reference to its originator)." );
+ cpix_Failed( hits ),
+ "Accessing hit(20) should NOT succeeded for closed database (hits still holds a reference to its originator)." );
if (cpix_Failed(hits))
{
- wchar_t
- buf[256];
- cpix_Error_report(hits->err_,
- buf,
- sizeof(buf) / sizeof(wchar_t));
- printf("%S\n", buf);
- cpix_ClearError(hits);
- assert_failed = 1;
+ wchar_t
+ buf[256];
+ cpix_Error_report(hits->err_,
+ buf,
+ sizeof(buf) / sizeof(wchar_t));
+ printf("%S\n", buf);
+ cpix_ClearError(hits);
+ assert_failed = 1;
}
+ }
+
+ FREE_DOC(doc, 1)
testResultXml(xml_file);
cpix_Hits_destroy( hits );
cpix_Query_destroy( query );
--- a/searchengine/cpix/tsrc/cpixunittest/src/documenttest.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/documenttest.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -375,53 +375,68 @@
// EXPECTED result is that doc2 first, doc1 second.
cpix_Document
- returnedDoc1;
+ **returnedDoc1;
- cpix_Hits_doc(hits_, 0, &returnedDoc1);
+ ALLOC_DOC(returnedDoc1, 1);
+ cpix_Hits_doc(hits_, 0, returnedDoc1, 1);
+ if (returnedDoc1[0]->ptr_ != NULL) {
- const wchar_t* id = cpix_Document_getFieldValue(&returnedDoc1,
- LCPIX_DOCUID_FIELD);
+ const wchar_t* id = cpix_Document_getFieldValue(returnedDoc1[0],
+ LCPIX_DOCUID_FIELD);
if (id)
- {
- std::wstring str(id);
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str(id);
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID2) == 0,
"wrong document");
- if(str.compare(LDOCUID2) != 0)
- {
- assert_failed = 1;
- }
+ if(str.compare(LDOCUID2) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
+ else
+ {
+ assert_failed = 1;
+ ITK_PANIC("failed to get _docuid");
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
+ assert_failed = 1;
}
- else
- {
- assert_failed = 1;
- ITK_PANIC("failed to get _docuid");
- }
+ FREE_DOC(returnedDoc1, 1);
+
+ cpix_Document
+ **returnedDoc2;
+ ALLOC_DOC(returnedDoc2, 1)
+
+ cpix_Hits_doc(hits_, 1, returnedDoc2, 1);
+ if (returnedDoc2[0]->ptr_ != NULL) {
+ const wchar_t* id = NULL;
- cpix_Document
- returnedDoc2;
-
- cpix_Hits_doc(hits_, 1, &returnedDoc2);
- id = NULL;
-
- id = cpix_Document_getFieldValue(&returnedDoc2, LCPIX_DOCUID_FIELD);
+ id = cpix_Document_getFieldValue(returnedDoc2[0], LCPIX_DOCUID_FIELD);
if (id)
- {
- std::wstring str(id);
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str(id);
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID1) == 0,
"wrong document");
- if(str.compare(LDOCUID1) != 0)
- {
- assert_failed = 1;
- }
- }
+ if(str.compare(LDOCUID1) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
else
- {
+ {
assert_failed = 1;
- ITK_PANIC("failed to get _docuid");
+ ITK_PANIC("failed to get _docuid");
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
+ assert_failed = 1;
}
+ FREE_DOC(returnedDoc2, 1);
testResultXml(xml_file);
+
}
@@ -455,52 +470,66 @@
// EXPECTED result is that doc1 first, doc2 second.
cpix_Document
- returnedDoc1;
+ **returnedDoc1;
+ ALLOC_DOC(returnedDoc1, 1)
- cpix_Hits_doc(hits_, 0, &returnedDoc1);
+ cpix_Hits_doc(hits_, 0, returnedDoc1, 1);
+ if (returnedDoc1[0]->ptr_ != NULL) {
- const wchar_t* id = cpix_Document_getFieldValue(&returnedDoc1,
- LCPIX_DOCUID_FIELD);
+ const wchar_t* id = cpix_Document_getFieldValue(returnedDoc1[0],
+ LCPIX_DOCUID_FIELD);
if ( id )
- {
- std::wstring str( id );
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str( id );
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID1) == 0,
"wrong document");
- if(str.compare(LDOCUID1) != 0)
- {
- assert_failed = 1;
- }
- }
+ if(str.compare(LDOCUID1) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
else
- {
- ITK_PANIC("failed to get _docuid");
+ {
+ ITK_PANIC("failed to get _docuid");
+ assert_failed = 1;
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
assert_failed = 1;
}
+ FREE_DOC(returnedDoc1, 1);
cpix_Document
- returnedDoc2;
-
- cpix_Hits_doc(hits_, 1, &returnedDoc2);
- id = NULL;
+ **returnedDoc2;
+ ALLOC_DOC(returnedDoc2, 1);
- id = cpix_Document_getFieldValue(&returnedDoc2, LCPIX_DOCUID_FIELD );
+ cpix_Hits_doc(hits_, 1, returnedDoc2, 1);
+ if (returnedDoc2[0]->ptr_ != NULL) {
+ const wchar_t* id = NULL;
+
+ id = cpix_Document_getFieldValue(returnedDoc2[0], LCPIX_DOCUID_FIELD );
if ( id )
- {
- std::wstring str( id );
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str( id );
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID2) == 0,
"wrong document");
- if(str.compare(LDOCUID2) != 0)
- {
- assert_failed = 1;
- }
- }
+ if(str.compare(LDOCUID2) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
else
- {
- ITK_PANIC("failed to get _docuid");
+ {
+ ITK_PANIC("failed to get _docuid");
+ assert_failed = 1;
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
assert_failed = 1;
}
+ FREE_DOC(returnedDoc2, 1);
testResultXml(xml_file);
}
@@ -532,52 +561,66 @@
// EXPECTED result is that doc1 first, doc2 second.
cpix_Document
- returnedDoc1;
+ **returnedDoc1;
+ ALLOC_DOC(returnedDoc1, 1);
- cpix_Hits_doc(hits_, 0, &returnedDoc1);
+ cpix_Hits_doc(hits_, 0, returnedDoc1, 1);
+ if (returnedDoc1[0]->ptr_ != NULL) {
- const wchar_t* id = cpix_Document_getFieldValue(&returnedDoc1,
- LCPIX_DOCUID_FIELD);
+ const wchar_t* id = cpix_Document_getFieldValue(returnedDoc1[0],
+ LCPIX_DOCUID_FIELD);
if (id)
- {
- std::wstring str(id);
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str(id);
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID1) == 0,
"wrong document");
- if(str.compare(LDOCUID1) != 0)
- {
- assert_failed = 1;
- }
- }
+ if(str.compare(LDOCUID1) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
else
- {
- ITK_PANIC("failed to get _docuid");
+ {
+ ITK_PANIC("failed to get _docuid");
+ assert_failed = 1;
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
assert_failed = 1;
}
+ FREE_DOC(returnedDoc1, 1);
cpix_Document
- returnedDoc2;
-
- cpix_Hits_doc(hits_, 1, &returnedDoc2);
- id = NULL;
+ **returnedDoc2;
+ ALLOC_DOC(returnedDoc2, 1);
- id = cpix_Document_getFieldValue(&returnedDoc2, LCPIX_DOCUID_FIELD);
+ cpix_Hits_doc(hits_, 1, returnedDoc2, 1);
+ if (returnedDoc2[0]->ptr_ != NULL) {
+ const wchar_t* id = NULL;
+
+ id = cpix_Document_getFieldValue(returnedDoc2[0], LCPIX_DOCUID_FIELD);
if (id)
- {
- std::wstring str(id);
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str(id);
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID2) == 0,
"wrong document");
- if(str.compare(LDOCUID2) != 0)
- {
- assert_failed = 1;
- }
- }
+ if(str.compare(LDOCUID2) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
else
- {
- ITK_PANIC("failed to get _docuid");
+ {
+ ITK_PANIC("failed to get _docuid");
+ assert_failed = 1;
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
assert_failed = 1;
}
+ FREE_DOC(returnedDoc2, 1);
testResultXml(xml_file);
}
@@ -625,52 +668,66 @@
// EXPECTED result is that doc2 first.
cpix_Document
- returnedDoc1;
+ **returnedDoc1;
+ ALLOC_DOC(returnedDoc1, 1);
- cpix_Hits_doc(hits_, 0, &returnedDoc1);
+ cpix_Hits_doc(hits_, 0, returnedDoc1, 1);
+ if (returnedDoc1[0]->ptr_ != NULL) {
- const wchar_t* id = cpix_Document_getFieldValue(&returnedDoc1,
- LCPIX_DOCUID_FIELD);
+ const wchar_t* id = cpix_Document_getFieldValue(returnedDoc1[0],
+ LCPIX_DOCUID_FIELD);
if (id)
- {
- std::wstring str(id);
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str(id);
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID1) == 0,
"wrong document");
- if(str.compare(LDOCUID2) != 0)
- {
- assert_failed = 1;
- }
- }
+ if(str.compare(LDOCUID2) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
else
- {
- ITK_PANIC("failed to get _docuid");
+ {
+ ITK_PANIC("failed to get _docuid");
+ assert_failed = 1;
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
assert_failed = 1;
}
+ FREE_DOC(returnedDoc1, 1);
cpix_Document
- returnedDoc2;
-
- cpix_Hits_doc(hits_, 1, &returnedDoc2);
- id = NULL;
+ **returnedDoc2;
+ ALLOC_DOC(returnedDoc2, 1);
- id = cpix_Document_getFieldValue(&returnedDoc2, LCPIX_DOCUID_FIELD);
+ cpix_Hits_doc(hits_, 1, returnedDoc2, 1);
+ if (returnedDoc2[0]->ptr_ != NULL) {
+ const wchar_t* id = NULL;
+
+ id = cpix_Document_getFieldValue(returnedDoc2[0], LCPIX_DOCUID_FIELD);
if (id)
- {
- std::wstring str(id);
- ITK_ASSERT(testMgr,
+ {
+ std::wstring str(id);
+ ITK_ASSERT(testMgr,
str.compare(LDOCUID2) == 0,
"wrong document");
- if(str.compare(LDOCUID2) != 0)
- {
- assert_failed = 1;
- }
- }
+ if(str.compare(LDOCUID2) != 0)
+ {
+ assert_failed = 1;
+ }
+ }
else
- {
- ITK_PANIC("failed to get _docuid");
+ {
+ ITK_PANIC("failed to get _docuid");
+ assert_failed = 1;
+ }
+ } else {
+ ITK_PANIC("could not fetch requested doc");
assert_failed = 1;
}
+ FREE_DOC(returnedDoc2, 1);
testResultXml(xml_file);
}
};
--- a/searchengine/cpix/tsrc/cpixunittest/src/randomtest.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/randomtest.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -20,6 +20,7 @@
#include <sstream>
#include <time.h>
#include "std_log_result.h"
+#include "testutils.h"
using namespace std;
using namespace Itk;
@@ -456,10 +457,11 @@
bool found = false;
for ( int i = 0; i < cpix_Hits_length( hits ); i++ )
{
- cpix_Document doc;
- cpix_Hits_doc( hits, i, &doc );
-
- const wchar_t* id = cpix_Document_getFieldValue( &doc, LCPIX_DOCUID_FIELD );
+ cpix_Document **doc;
+ ALLOC_DOC (doc, 1);
+ cpix_Hits_doc( hits, i, doc, 1 );
+ if (doc[0]->ptr_ != NULL) {
+ const wchar_t* id = cpix_Document_getFieldValue( doc[0], LCPIX_DOCUID_FIELD );
if ( id )
{
@@ -470,6 +472,8 @@
break;
}
}
+ }
+ FREE_DOC(doc, 1);
}
if ( !found )
{
@@ -538,27 +542,33 @@
if ( hits )
{
- for ( int i = 0; i < cpix_Hits_length( hits ); i++ )
- {
- cpix_Document doc;
- cpix_Hits_doc( hits, i, &doc );
+ for ( int i = 0; i < cpix_Hits_length( hits ); i++ ) {
+
+ cpix_Document **doc;
+ ALLOC_DOC(doc, 1);
+ cpix_Hits_doc( hits, i, doc, 1 );
- const wchar_t* id = cpix_Document_getFieldValue( &doc, LCPIX_DOCUID_FIELD );
+ if (doc[0]->ptr_ != NULL) {
+
+ const wchar_t* id = cpix_Document_getFieldValue(doc[0],
+ LCPIX_DOCUID_FIELD);
- if ( id )
- {
- wstring str( id );
- size_t index = GetItemIndex( str.c_str() );
- wstring content( testCorpus_.item( index ) );
+ if (id)
+ {
+ wstring str(id);
+ size_t index = GetItemIndex(str.c_str());
+ wstring content(testCorpus_.item(index));
- // TODO expect instead of
- // assert otherwise cpix_Hits
- // instance leaks
- ITK_ASSERT( testMgr,
- containsTerm( content, term ),
- "False positive? Term %S not found in %S", term.c_str(), content.c_str() );
- matches++;
- }
+ // TODO expect instead of
+ // assert otherwise cpix_Hits
+ // instance leaks
+ ITK_ASSERT( testMgr,
+ containsTerm( content, term ),
+ "False positive? Term %S not found in %S", term.c_str(), content.c_str() );
+ matches++;
+ }
+ }
+ FREE_DOC(doc, 1);
}
cpix_Hits_destroy( hits );
}
--- a/searchengine/cpix/tsrc/cpixunittest/src/suggestion.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/suggestion.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -22,16 +22,17 @@
#include "suggestion.h"
#include "config.h"
+#include "testutils.h"
-Suggestion::Suggestion(cpix_Document & doc,
+Suggestion::Suggestion(cpix_Document * doc,
Itk::TestMgr * testMgr)
{
const wchar_t
- * value = cpix_Document_getFieldValue(&doc,
+ * value = cpix_Document_getFieldValue(doc,
LTERM_TEXT_FIELD);
- if (cpix_Failed(&doc))
+ if (cpix_Failed(doc))
{
ITK_EXPECT(testMgr,
false,
@@ -43,9 +44,9 @@
term_ = value;
}
- value = cpix_Document_getFieldValue(&doc,
+ value = cpix_Document_getFieldValue(doc,
LTERM_DOCFREQ_FIELD);
- if (cpix_Failed(&doc))
+ if (cpix_Failed(doc))
{
ITK_EXPECT(testMgr,
false,
@@ -128,23 +129,28 @@
for (int32_t i = 0; i < hitCount; ++i)
{
cpix_Document
- doc;
+ **doc;
+ ALLOC_DOC(doc, 1);
cpix_Hits_doc(hits,
i,
- &doc);
+ doc,
+ 1);
+ if (doc[0]->ptr_ != NULL) {
if (cpix_Failed(hits))
{
- ITK_EXPECT(testMgr,
- false,
- "Failed to get doc %d",
- i);
- cpix_ClearError(hits);
- goOn = false;
- break;
+ ITK_EXPECT(testMgr,
+ false,
+ "Failed to get doc %d",
+ i);
+ cpix_ClearError(hits);
+ goOn = false;
+ break;
}
- suggestions.push_back(Suggestion(doc,
- testMgr));
+ suggestions.push_back(Suggestion(doc[0],
+ testMgr));
+ }
+ FREE_DOC(doc, 1);
}
if (goOn)
--- a/searchengine/cpix/tsrc/cpixunittest/src/testutils.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/testutils.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -151,15 +151,17 @@
cout << "Number of hits: " << hitCount << endl;
cpix_Document
- doc;
+ **doc;
+ ALLOC_DOC(doc, 1);
for (int32_t i = 0; i < hitCount; ++i)
{
cpix_Hits_doc(hits,
i,
- &doc);
+ doc,
+ 1);
- if (cpix_Failed(hits))
+ if (cpix_Failed(hits) || (doc_Fetch_Failed(doc[0])))
{
ITK_EXPECT(testMgr,
false,
@@ -169,9 +171,11 @@
break;
}
// OBS PrintHit(&doc,
- printHitFunc(&doc,
+ printHitFunc(doc[0],
testMgr);
}
+
+ FREE_DOC(doc, 1);
}
@@ -329,15 +333,17 @@
cout << "Number of hits: " << hitCount << endl;
cpix_Document
- doc;
+ **doc;
+ ALLOC_DOC(doc, 1);
for (int32_t i = 0; i < hitCount; ++i)
{
cpix_Hits_doc(hits,
i,
- &doc);
+ doc,
+ 1);
- if (cpix_Failed(hits))
+ if (cpix_Failed(hits) || (doc_Fetch_Failed(doc[0])))
{
if (allowFailure)
{
@@ -355,9 +361,10 @@
cpix_ClearError(hits);
break;
}
- printHit(&doc,
+ printHit(doc[0],
testMgr);
}
+ FREE_DOC(doc, 1);
}
--- a/searchengine/cpix/tsrc/cpixunittest/src/whiteboxtests.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/cpix/tsrc/cpixunittest/src/whiteboxtests.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -514,13 +514,15 @@
for (int32_t hitDocIdx = from; hitDocIdx < to; ++hitDocIdx)
{
cpix_Document
- doc;
+ **doc;
+ ALLOC_DOC(doc, 1);
cpix_Hits_doc(hits,
hitDocIdx,
- &doc);
+ doc,
+ 1);
- if (cpix_Failed(hits))
+ if (cpix_Failed(hits) || (doc_Fetch_Failed(doc[0])))
{
wchar_t
buf[92];
@@ -534,8 +536,9 @@
break;
}
- util_->printHit(&doc,
+ util_->printHit(doc[0],
mgr);
+ FREE_DOC(doc, 1);
}
}
--- a/searchengine/oss/cl/clucene/group/clucene.mmp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/group/clucene.mmp Wed Aug 18 10:53:26 2010 +0300
@@ -165,6 +165,7 @@
SOURCE StringIntern.cpp
SOURCE ThreadLocal.cpp
+//MACRO USE_HIGHLIGHTER
// highlighter
SOURCEPATH ../src/CLucene/highlighter
SOURCE Encoder.cpp
--- a/searchengine/oss/cl/clucene/src/clucene/analysis/standard/standardtokenizer.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/analysis/standard/standardtokenizer.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -65,7 +65,7 @@
/* otherMatches is a condition (possibly compound) under which a character
** that's not an ALNUM or UNDERSCORE can be considered not to break the
** span. Callers should pass false if only ALNUM/UNDERSCORE are acceptable. */
- #define CONSUME_WORD _CONSUME_AS_LONG_AS(ALNUM || UNDERSCORE)
+ #define CONSUME_WORD _CONSUME_AS_LONG_AS(ALNUM /*|| UNDERSCORE*/)
/*
** Consume CJK characters
@@ -148,7 +148,7 @@
// CHANGED
} else if (SPACE) {
continue;
- } else if (ALPHA || UNDERSCORE) {
+ } else if (ALPHA) {
tokenStart = rdPos;
return ReadAlphaNum(ch,t);
} else if (DIGIT || NEGATIVE_SIGN_ || DECIMAL) {
@@ -241,8 +241,8 @@
TCHAR rightmost = RIGHTMOST(str);
/* Don't including a trailing decimal point. */
if(ALPHA){
- return ReadAlphaNum(prev,t);
- }
+ CONSUME_WORD;
+ }
if (rightmost == '.') {
SHAVE_RIGHTMOST(str);
unReadChar();
--- a/searchengine/oss/cl/clucene/src/clucene/highlighter/SimpleHTMLFormatter.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/highlighter/SimpleHTMLFormatter.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -13,8 +13,8 @@
SimpleHTMLFormatter::SimpleHTMLFormatter()
{
- _preTag = stringDuplicate(_T("<B>"));
- _postTag = stringDuplicate(_T("</B>"));
+ _preTag = stringDuplicate(_T("<U>"));
+ _postTag = stringDuplicate(_T("</U>"));
}
SimpleHTMLFormatter::~SimpleHTMLFormatter()
--- a/searchengine/oss/cl/clucene/src/clucene/search/hits.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/search/hits.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -11,6 +11,13 @@
#include "clucene/index/indexreader.h"
#include "filter.h"
#include "clucene/search/searchheader.h"
+//#ifdef USE_HIGHLIGHTER
+//#include "CLucene/highlighter/QueryTermExtractor.h"
+//#include "CLucene/highlighter/QueryScorer.h"
+//#include "CLucene/highlighter/Highlighter.h"
+//#include "CLucene/highlighter/SimpleHTMLFormatter.h"
+//#include "CLucene/analysis/standard/StandardAnalyzer.h"
+//#endif
CL_NS_USE(document)
CL_NS_USE(util)
@@ -42,6 +49,9 @@
Hits::Hits(Searcher* s, Query* q, Filter* f, const Sort* _sort):
query(q), searcher(s), filter(f), sort(_sort)
+//#ifdef USE_HIGHLIGHTER
+// , hl_frag(20)
+//#endif
{
//Func - Constructor
//Pre - s contains a valid reference to a searcher s
@@ -83,6 +93,42 @@
if (hitDoc->doc == NULL){
hitDoc->doc = _CLNEW Document;
searcher->doc(hitDoc->id, hitDoc->doc); // cache miss: read document
+//#ifdef USE_HIGHLIGHTER
+// CL_NS(document)::Document* document = hitDoc->doc;
+//
+// const TCHAR* text = document->get(LCPIX_EXCERPT_FIELD);
+//
+// if(text)
+// {
+// Query* rwquery = searcher->getrewritten(hitDoc->id, query);
+//
+// TCHAR * str = rwquery->toString();
+//
+// CL_NS2(search,highlight)::QueryScorer hl_scorer(rwquery);
+//
+// CL_NS2(search,highlight)::Highlighter highlighter(&hl_formatter, &hl_scorer);
+//
+// highlighter.setTextFragmenter(&hl_frag);
+//
+// wstring hlText;
+//
+// StringReader strreader(text);
+//
+// lucene::analysis::TokenStream * tokenStream = hl_analyzer.tokenStream(LCPIX_EXCERPT_FIELD, &strreader);
+//
+// TCHAR* result = highlighter.getBestFragments(tokenStream, text, 2,L"...");
+//
+// if (result != NULL)
+// {
+// hlText.append(result);
+//
+// document->removeField( LCPIX_EXCERPT_FIELD );
+//
+// document->add(*_CLNEW Field(LCPIX_EXCERPT_FIELD,
+// hlText.c_str(), lucene::document::Field::STORE_YES | lucene::document::Field::INDEX_NO));
+// }
+// }
+//#endif
}
return *hitDoc->doc;
--- a/searchengine/oss/cl/clucene/src/clucene/search/indexsearcher.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/search/indexsearcher.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -16,7 +16,14 @@
#include "clucene/index/term.h"
#include "clucene/util/bitset.h"
#include "fieldsortedhitqueue.h"
-
+//#ifdef USE_HIGHLIGHTER
+//#include "CLucene/highlighter/QueryTermExtractor.h"
+//#include "CLucene/highlighter/QueryScorer.h"
+//#include "CLucene/highlighter/Highlighter.h"
+//#include "CLucene/highlighter/SimpleHTMLFormatter.h"
+//#include "CLucene/analysis/standard/StandardAnalyzer.h"
+//#include "CLucene/queryParser/QueryParser.h"
+//#endif
CL_NS_USE(index)
CL_NS_USE(util)
CL_NS_USE(document)
@@ -112,6 +119,10 @@
reader = IndexReader::open(path);
readerOwner = true;
+//#ifdef USE_HIGHLIGHTER
+// rewrittenQuery = NULL;
+//#endif
+
}
IndexSearcher::IndexSearcher(CL_NS(store)::Directory* directory){
@@ -124,6 +135,10 @@
reader = IndexReader::open(directory);
readerOwner = true;
+//#ifdef USE_HIGHLIGHTER
+// rewrittenQuery = NULL;
+//#endif
+
}
IndexSearcher::IndexSearcher(IndexReader* r){
@@ -134,6 +149,9 @@
reader = r;
readerOwner = false;
+//#ifdef USE_HIGHLIGHTER
+// rewrittenQuery = NULL;
+//#endif
}
IndexSearcher::~IndexSearcher(){
@@ -200,7 +218,13 @@
//Func -
//Pre - reader != NULL
//Post -
-
+//#ifdef USE_HIGHLIGHTER
+// if(!rewrittenQuery)
+// {
+// rewrittenQuery = query->rewrite(reader);
+// }
+//#endif
+
CND_PRECONDITION(reader != NULL, "reader is NULL");
CND_PRECONDITION(query != NULL, "query is NULL");
@@ -247,7 +271,12 @@
// inherit javadoc
TopFieldDocs* IndexSearcher::_search(Query* query, Filter* filter, const int32_t nDocs,
const Sort* sort) {
-
+//#ifdef USE_HIGHLIGHTER
+// if(!rewrittenQuery)
+// {
+// rewrittenQuery = query->rewrite(reader);
+// }
+//#endif
CND_PRECONDITION(reader != NULL, "reader is NULL");
CND_PRECONDITION(query != NULL, "query is NULL");
@@ -295,7 +324,12 @@
// filter may or may not be NULL
// results is a valid reference to a HitCollector and used to store the results
//Post - filter if non-NULL, a bitset used to eliminate some documents
-
+//#ifdef USE_HIGHLIGHTER
+// if(!rewrittenQuery)
+// {
+// rewrittenQuery = query->rewrite(reader);
+// }
+//#endif
CND_PRECONDITION(reader != NULL, "reader is NULL");
CND_PRECONDITION(query != NULL, "query is NULL");
@@ -338,7 +372,16 @@
}
return query;
}
-
+//#ifdef USE_HIGHLIGHTER
+//Query* IndexSearcher::getrewritten(int32_t n, Query* original)
+// {
+// if(!rewrittenQuery)
+// {
+// rewrittenQuery = original->rewrite(reader);
+// }
+// return rewrittenQuery;
+// }
+//#endif
void IndexSearcher::explain(Query* query, int32_t doc, Explanation* ret){
Weight* weight = query->weight(this);
weight->explain(reader, doc, ret);
--- a/searchengine/oss/cl/clucene/src/clucene/search/indexsearcher.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/search/indexsearcher.h Wed Aug 18 10:53:26 2010 +0300
@@ -29,7 +29,9 @@
class IndexSearcher:public Searcher{
CL_NS(index)::IndexReader* reader;
bool readerOwner;
-
+//#ifdef USE_HIGHLIGHTER
+// Query *rewrittenQuery;
+//#endif
public:
/// Creates a searcher searching the index in the named directory.
IndexSearcher(const char* path);
@@ -62,6 +64,9 @@
}
Query* rewrite(Query* original);
+///#ifdef USE_HIGHLIGHTER
+// Query* getrewritten(int32_t n, Query* original);
+//#endif
void explain(Query* query, int32_t doc, Explanation* ret);
};
CL_NS_END
--- a/searchengine/oss/cl/clucene/src/clucene/search/multisearcher.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/search/multisearcher.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -62,6 +62,14 @@
int32_t i = subSearcher(n); // find searcher index
return searchables[i]->doc(n - starts[i], d); // dispatch to searcher
}
+
+//#ifdef USE_HIGHLIGHTER
+// Query* MultiSearcher::getrewritten(int32_t n, Query* original) {
+// int32_t i = subSearcher(n); // find searcher index
+// // changed to get already rewritten query
+// return searchables[i]->getrewritten(n, original);
+// }
+//#endif
int32_t MultiSearcher::searcherIndex(int32_t n) const{
return subSearcher(n);
--- a/searchengine/oss/cl/clucene/src/clucene/search/multisearcher.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/search/multisearcher.h Wed Aug 18 10:53:26 2010 +0300
@@ -88,6 +88,9 @@
void _search(Query* query, Filter* filter, HitCollector* results);
Query* rewrite(Query* original);
+//#ifdef USE_HIGHLIGHTER
+// Query* getrewritten(int32_t n, Query* original);
+//#endif
void explain(Query* query, int32_t doc, Explanation* ret);
};
--- a/searchengine/oss/cl/clucene/src/clucene/search/searchheader.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/clucene/src/clucene/search/searchheader.h Wed Aug 18 10:53:26 2010 +0300
@@ -20,6 +20,14 @@
#include "clucene/search/explanation.h"
#include "clucene/search/similarity.h"
+//#ifdef USE_HIGHLIGHTER
+//#include "CLucene/highlighter/SimpleFragmenter.h"
+//#include "CLucene/highlighter/SimpleHTMLFormatter.h"
+//#include "CLucene/analysis/standard/StandardAnalyzer.h"
+//
+//#define LCPIX_EXCERPT_FIELD L"_excerpt"
+//#endif
+
CL_NS_DEF(search)
//predefine classes
@@ -159,7 +167,13 @@
HitDoc* last; // tail of LRU cache
int32_t numDocs; // number cached
int32_t maxDocs; // max to cache
-
+//#ifdef USE_HIGHLIGHTER
+// CL_NS2(search,highlight)::SimpleHTMLFormatter hl_formatter;
+//
+// CL_NS2(search,highlight)::SimpleFragmenter hl_frag;
+//
+// CL_NS2(analysis,standard)::StandardAnalyzer hl_analyzer;
+//#endif
public:
Hits(Searcher* s, Query* q, Filter* f, const Sort* sort=NULL);
~Hits();
@@ -277,6 +291,9 @@
* Searcher#search(Query,Filter,Sort)} instead.
*/
virtual TopFieldDocs* _search(Query* query, Filter* filter, const int32_t n, const Sort* sort) = 0;
+//#ifdef USE_HIGHLIGHTER
+// virtual Query* getrewritten(int32_t n, Query* original)= 0;
+//#endif
};
--- a/searchengine/oss/cl/group/bld.inf Tue Jul 06 15:30:04 2010 +0300
+++ b/searchengine/oss/cl/group/bld.inf Wed Aug 18 10:53:26 2010 +0300
@@ -1,5 +1,5 @@
#include "../clucene/group/bld.inf"
PRJ_TESTMMPFILES
-#include "../tsrc/clucene_unittest/group/bld.inf"
+//#include "../tsrc/clucene_unittest/group/bld.inf"
#include "../tsrc/clucene_extraunittest/group/bld.inf"
\ No newline at end of file
--- a/searcher/group/bld.inf Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/group/bld.inf Wed Aug 18 10:53:26 2010 +0300
@@ -22,5 +22,5 @@
#include "../tsrc/RobustnessTest/group/bld.inf"
#include "../tsrc/LogPlayer/group/bld.inf"
-#include "../tsrc/SymbianOsUnit/group/s60_3rd/bld.inf"
-//#include "../tsrc/cpixsearchertest/group/bld.inf"
\ No newline at end of file
+//#include "../tsrc/SymbianOsUnit/group/s60_3rd/bld.inf"
+#include "../tsrc/cpixsearchertest/group/bld.inf"
\ No newline at end of file
--- a/searcher/searchclient/bwins/cpixsearchclientu.def Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/bwins/cpixsearchclientu.def Wed Aug 18 10:53:26 2010 +0300
@@ -1,97 +1,102 @@
EXPORTS
- ??0RSearchServerSession@@QAE@XZ @ 1 NONAME ; RSearchServerSession::RSearchServerSession(void)
- ??1CCPixIndexer@@UAE@XZ @ 2 NONAME ; CCPixIndexer::~CCPixIndexer(void)
- ??1CCPixSearcher@@UAE@XZ @ 3 NONAME ; CCPixSearcher::~CCPixSearcher(void)
- ??1CDocumentField@@UAE@XZ @ 4 NONAME ; CDocumentField::~CDocumentField(void)
- ??1CSearchDocument@@UAE@XZ @ 5 NONAME ; CSearchDocument::~CSearchDocument(void)
- ?Add@RSearchServerSubSession@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 6 NONAME ; void RSearchServerSubSession::Add(class TDesC8 const &, class TRequestStatus &)
- ?AddExcerptL@CSearchDocument@@QAEXABVTDesC16@@@Z @ 7 NONAME ; void CSearchDocument::AddExcerptL(class TDesC16 const &)
- ?AddFieldL@CSearchDocument@@QAEAAVCDocumentField@@ABVTDesC16@@0H@Z @ 8 NONAME ; class CDocumentField & CSearchDocument::AddFieldL(class TDesC16 const &, class TDesC16 const &, int)
- ?AddL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@ABVCSearchDocument@@@Z @ 9 NONAME ; void CCPixIndexer::AddL(class MCPixIndexingRequestObserver &, class CSearchDocument const &)
- ?AddL@CCPixIndexer@@QAEXABVCSearchDocument@@@Z @ 10 NONAME ; void CCPixIndexer::AddL(class CSearchDocument const &)
- ?AddL@RSearchServerSubSession@@QAEXABVTDesC8@@@Z @ 11 NONAME ; void RSearchServerSubSession::AddL(class TDesC8 const &)
- ?AppClass@CSearchDocument@@QBEABVTDesC16@@XZ @ 12 NONAME ; class TDesC16 const & CSearchDocument::AppClass(void) const
- ?Boost@CDocumentField@@QBEMXZ @ 13 NONAME ; float CDocumentField::Boost(void) const
- ?Boost@CSearchDocument@@QBEMXZ @ 14 NONAME ; float CSearchDocument::Boost(void) const
- ?CancelAll@RSearchServerSubSession@@QBEXXZ @ 15 NONAME ; void RSearchServerSubSession::CancelAll(void) const
- ?Close@RSearchServerSession@@QAEXXZ @ 16 NONAME ; void RSearchServerSession::Close(void)
- ?Config@CDocumentField@@QBEHXZ @ 17 NONAME ; int CDocumentField::Config(void) const
- ?Connect@RSearchServerSession@@QAEHXZ @ 18 NONAME ; int RSearchServerSession::Connect(void)
- ?DefineVolume@RSearchServerSession@@QAEHABVTDesC16@@0@Z @ 19 NONAME ; int RSearchServerSession::DefineVolume(class TDesC16 const &, class TDesC16 const &)
- ?Delete@RSearchServerSubSession@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 20 NONAME ; void RSearchServerSubSession::Delete(class TDesC16 const &, class TRequestStatus &)
- ?DeleteL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@ABVTDesC16@@@Z @ 21 NONAME ; void CCPixIndexer::DeleteL(class MCPixIndexingRequestObserver &, class TDesC16 const &)
- ?DeleteL@CCPixIndexer@@QAEXABVTDesC16@@@Z @ 22 NONAME ; void CCPixIndexer::DeleteL(class TDesC16 const &)
- ?DeleteL@RSearchServerSubSession@@QAEXABVTDesC16@@@Z @ 23 NONAME ; void RSearchServerSubSession::DeleteL(class TDesC16 const &)
- ?Excerpt@CSearchDocument@@QBEABVTDesC16@@XZ @ 24 NONAME ; class TDesC16 const & CSearchDocument::Excerpt(void) const
- ?ExternalizeL@CDocumentField@@QBEXAAVRWriteStream@@@Z @ 25 NONAME ; void CDocumentField::ExternalizeL(class RWriteStream &) const
- ?ExternalizeL@CSearchDocument@@QBEXAAVRWriteStream@@@Z @ 26 NONAME ; void CSearchDocument::ExternalizeL(class RWriteStream &) const
- ?Field@CSearchDocument@@QBEABVCDocumentField@@H@Z @ 27 NONAME ; class CDocumentField const & CSearchDocument::Field(int) const
- ?Field@CSearchDocument@@QBEPBVCDocumentField@@ABVTDesC16@@@Z @ 28 NONAME ; class CDocumentField const * CSearchDocument::Field(class TDesC16 const &) const
- ?FieldCount@CSearchDocument@@QBEHXZ @ 29 NONAME ; int CSearchDocument::FieldCount(void) const
- ?Flush@RSearchServerSubSession@@QAEXAAVTRequestStatus@@@Z @ 30 NONAME ; void RSearchServerSubSession::Flush(class TRequestStatus &)
- ?FlushL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@@Z @ 31 NONAME ; void CCPixIndexer::FlushL(class MCPixIndexingRequestObserver &)
- ?FlushL@CCPixIndexer@@QAEXXZ @ 32 NONAME ; void CCPixIndexer::FlushL(void)
- ?FlushL@RSearchServerSubSession@@QAEXXZ @ 33 NONAME ; void RSearchServerSubSession::FlushL(void)
- ?GetBaseAppClass@CCPixIndexer@@QBEABVTDesC16@@XZ @ 34 NONAME ; class TDesC16 const & CCPixIndexer::GetBaseAppClass(void) const
- ?GetBaseAppClass@CCPixSearcher@@QBEABVTDesC16@@XZ @ 35 NONAME ; class TDesC16 const & CCPixSearcher::GetBaseAppClass(void) const
- ?GetDocument@RSearchServerSubSession@@QAEXHAAVTRequestStatus@@@Z @ 36 NONAME ; void RSearchServerSubSession::GetDocument(int, class TRequestStatus &)
- ?GetDocumentL@CCPixSearcher@@QAEPAVCSearchDocument@@H@Z @ 37 NONAME ; class CSearchDocument * CCPixSearcher::GetDocumentL(int)
- ?GetDocumentL@CCPixSearcher@@QAEXHAAVMCPixNextDocumentRequestObserver@@@Z @ 38 NONAME ; void CCPixSearcher::GetDocumentL(int, class MCPixNextDocumentRequestObserver &)
- ?GetDocumentL@RSearchServerSubSession@@QAEPAVCSearchDocument@@H@Z @ 39 NONAME ; class CSearchDocument * RSearchServerSubSession::GetDocumentL(int)
- ?GetDocumentObjectL@RSearchServerSubSession@@QAEPAVCSearchDocument@@XZ @ 40 NONAME ; class CSearchDocument * RSearchServerSubSession::GetDocumentObjectL(void)
- ?Id@CSearchDocument@@QBEABVTDesC16@@XZ @ 41 NONAME ; class TDesC16 const & CSearchDocument::Id(void) const
- ?InternalizeL@CDocumentField@@QAEXAAVRReadStream@@@Z @ 42 NONAME ; void CDocumentField::InternalizeL(class RReadStream &)
- ?InternalizeL@CSearchDocument@@QAEXAAVRReadStream@@@Z @ 43 NONAME ; void CSearchDocument::InternalizeL(class RReadStream &)
- ?IsDatabaseOpen@CCPixIndexer@@QBEHXZ @ 44 NONAME ; int CCPixIndexer::IsDatabaseOpen(void) const
- ?IsDatabaseOpen@CCPixSearcher@@QBEHXZ @ 45 NONAME ; int CCPixSearcher::IsDatabaseOpen(void) const
- ?Name@CDocumentField@@QBEABVTDesC16@@XZ @ 46 NONAME ; class TDesC16 const & CDocumentField::Name(void) const
- ?NewL@CCPixIndexer@@SAPAV1@AAVRSearchServerSession@@@Z @ 47 NONAME ; class CCPixIndexer * CCPixIndexer::NewL(class RSearchServerSession &)
- ?NewL@CCPixSearcher@@SAPAV1@AAVRSearchServerSession@@ABVTDesC16@@@Z @ 48 NONAME ; class CCPixSearcher * CCPixSearcher::NewL(class RSearchServerSession &, class TDesC16 const &)
- ?NewL@CDocumentField@@SAPAV1@AAVRReadStream@@@Z @ 49 NONAME ; class CDocumentField * CDocumentField::NewL(class RReadStream &)
- ?NewL@CDocumentField@@SAPAV1@ABVTDesC16@@0H@Z @ 50 NONAME ; class CDocumentField * CDocumentField::NewL(class TDesC16 const &, class TDesC16 const &, int)
- ?NewL@CSearchDocument@@SAPAV1@AAVRReadStream@@@Z @ 51 NONAME ; class CSearchDocument * CSearchDocument::NewL(class RReadStream &)
- ?NewL@CSearchDocument@@SAPAV1@ABVTDesC16@@00W4TFilterId@1@@Z @ 52 NONAME ; class CSearchDocument * CSearchDocument::NewL(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &, enum CSearchDocument::TFilterId)
- ?NewLC@CCPixIndexer@@SAPAV1@AAVRSearchServerSession@@@Z @ 53 NONAME ; class CCPixIndexer * CCPixIndexer::NewLC(class RSearchServerSession &)
- ?NewLC@CCPixSearcher@@SAPAV1@AAVRSearchServerSession@@ABVTDesC16@@@Z @ 54 NONAME ; class CCPixSearcher * CCPixSearcher::NewLC(class RSearchServerSession &, class TDesC16 const &)
- ?NewLC@CDocumentField@@SAPAV1@AAVRReadStream@@@Z @ 55 NONAME ; class CDocumentField * CDocumentField::NewLC(class RReadStream &)
- ?NewLC@CDocumentField@@SAPAV1@ABVTDesC16@@0H@Z @ 56 NONAME ; class CDocumentField * CDocumentField::NewLC(class TDesC16 const &, class TDesC16 const &, int)
- ?NewLC@CSearchDocument@@SAPAV1@AAVRReadStream@@@Z @ 57 NONAME ; class CSearchDocument * CSearchDocument::NewLC(class RReadStream &)
- ?NewLC@CSearchDocument@@SAPAV1@ABVTDesC16@@00W4TFilterId@1@@Z @ 58 NONAME ; class CSearchDocument * CSearchDocument::NewLC(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &, enum CSearchDocument::TFilterId)
- ?OpenDatabaseL@CCPixIndexer@@QAEXAAVMCPixOpenDatabaseRequestObserver@@ABVTDesC16@@@Z @ 59 NONAME ; void CCPixIndexer::OpenDatabaseL(class MCPixOpenDatabaseRequestObserver &, class TDesC16 const &)
- ?OpenDatabaseL@CCPixIndexer@@QAEXABVTDesC16@@@Z @ 60 NONAME ; void CCPixIndexer::OpenDatabaseL(class TDesC16 const &)
- ?OpenDatabaseL@CCPixSearcher@@QAEXAAVMCPixOpenDatabaseRequestObserver@@ABVTDesC16@@@Z @ 61 NONAME ; void CCPixSearcher::OpenDatabaseL(class MCPixOpenDatabaseRequestObserver &, class TDesC16 const &)
- ?OpenDatabaseL@CCPixSearcher@@QAEXABVTDesC16@@@Z @ 62 NONAME ; void CCPixSearcher::OpenDatabaseL(class TDesC16 const &)
- ?RemoveField@CSearchDocument@@QAEHABVTDesC16@@@Z @ 63 NONAME ; int CSearchDocument::RemoveField(class TDesC16 const &)
- ?Reset@RSearchServerSubSession@@QAEXAAVTRequestStatus@@@Z @ 64 NONAME ; void RSearchServerSubSession::Reset(class TRequestStatus &)
- ?ResetL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@@Z @ 65 NONAME ; void CCPixIndexer::ResetL(class MCPixIndexingRequestObserver &)
- ?ResetL@CCPixIndexer@@QAEXXZ @ 66 NONAME ; void CCPixIndexer::ResetL(void)
- ?ResetL@RSearchServerSubSession@@QAEXXZ @ 67 NONAME ; void RSearchServerSubSession::ResetL(void)
- ?Search@RSearchServerSubSession@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 68 NONAME ; void RSearchServerSubSession::Search(class TDesC16 const &, class TRequestStatus &)
- ?SearchL@CCPixSearcher@@QAEHABVTDesC16@@0@Z @ 69 NONAME ; int CCPixSearcher::SearchL(class TDesC16 const &, class TDesC16 const &)
- ?SearchL@CCPixSearcher@@QAEXAAVMCPixSearchRequestObserver@@ABVTDesC16@@1@Z @ 70 NONAME ; void CCPixSearcher::SearchL(class MCPixSearchRequestObserver &, class TDesC16 const &, class TDesC16 const &)
- ?SearchL@RSearchServerSubSession@@QAEXABVTDesC16@@@Z @ 71 NONAME ; void RSearchServerSubSession::SearchL(class TDesC16 const &)
- ?SetAnalyzer@RSearchServerSubSession@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 72 NONAME ; void RSearchServerSubSession::SetAnalyzer(class TDesC16 const &, class TRequestStatus &)
- ?SetAnalyzerL@CCPixIndexer@@QAEXAAVMCPixSetAnalyzerRequestObserver@@ABVTDesC16@@@Z @ 73 NONAME ; void CCPixIndexer::SetAnalyzerL(class MCPixSetAnalyzerRequestObserver &, class TDesC16 const &)
- ?SetAnalyzerL@CCPixIndexer@@QAEXABVTDesC16@@@Z @ 74 NONAME ; void CCPixIndexer::SetAnalyzerL(class TDesC16 const &)
- ?SetAnalyzerL@CCPixSearcher@@QAEXAAVMCPixSetAnalyzerRequestObserver@@ABVTDesC16@@@Z @ 75 NONAME ; void CCPixSearcher::SetAnalyzerL(class MCPixSetAnalyzerRequestObserver &, class TDesC16 const &)
- ?SetAnalyzerL@CCPixSearcher@@QAEXABVTDesC16@@@Z @ 76 NONAME ; void CCPixSearcher::SetAnalyzerL(class TDesC16 const &)
- ?SetAnalyzerL@RSearchServerSubSession@@QAEXABVTDesC16@@@Z @ 77 NONAME ; void RSearchServerSubSession::SetAnalyzerL(class TDesC16 const &)
- ?SetBoost@CDocumentField@@QAEXM@Z @ 78 NONAME ; void CDocumentField::SetBoost(float)
- ?SetBoost@CSearchDocument@@QAEXM@Z @ 79 NONAME ; void CSearchDocument::SetBoost(float)
- ?Size@CDocumentField@@QBEHXZ @ 80 NONAME ; int CDocumentField::Size(void) const
- ?Size@CSearchDocument@@QBEHXZ @ 81 NONAME ; int CSearchDocument::Size(void) const
- ?UnDefineVolume@RSearchServerSession@@QAEHABVTDesC16@@@Z @ 82 NONAME ; int RSearchServerSession::UnDefineVolume(class TDesC16 const &)
- ?Update@RSearchServerSubSession@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 83 NONAME ; void RSearchServerSubSession::Update(class TDesC8 const &, class TRequestStatus &)
- ?UpdateL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@ABVCSearchDocument@@@Z @ 84 NONAME ; void CCPixIndexer::UpdateL(class MCPixIndexingRequestObserver &, class CSearchDocument const &)
- ?UpdateL@CCPixIndexer@@QAEXABVCSearchDocument@@@Z @ 85 NONAME ; void CCPixIndexer::UpdateL(class CSearchDocument const &)
- ?UpdateL@RSearchServerSubSession@@QAEXABVTDesC8@@@Z @ 86 NONAME ; void RSearchServerSubSession::UpdateL(class TDesC8 const &)
- ?Value@CDocumentField@@QBEABVTDesC16@@XZ @ 87 NONAME ; class TDesC16 const & CDocumentField::Value(void) const
- ?Version@RSearchServerSession@@QBE?AVTVersion@@XZ @ 88 NONAME ; class TVersion RSearchServerSession::Version(void) const
- ?ContinueHouseKeeping@RSearchServerSession@@QAEHXZ @ 89 NONAME ; int RSearchServerSession::ContinueHouseKeeping(void)
- ?ForceHouseKeeping@RSearchServerSession@@QAEHXZ @ 90 NONAME ; int RSearchServerSession::ForceHouseKeeping(void)
- ?StopHouseKeeping@RSearchServerSession@@QAEHXZ @ 91 NONAME ; int RSearchServerSession::StopHouseKeeping(void)
- ?SetQueryParserL@RSearchServerSubSession@@QAEXH@Z @ 92 NONAME ; void RSearchServerSubSession::SetQueryParserL(int)
- ?SetQueryParserL@CCPixSearcher@@QAEXW4TQueryParser@1@@Z @ 93 NONAME ; void CCPixSearcher::SetQueryParserL(enum CCPixSearcher::TQueryParser)
- ?SetQueryParserL@CCPixSearcher@@QAEXAAVMCPixSetQueryParserRequestObserver@@W4TQueryParser@1@@Z @ 94 NONAME ; void CCPixSearcher::SetQueryParserL(class MCPixSetQueryParserRequestObserver &, enum CCPixSearcher::TQueryParser)
- ?SetQueryParser@RSearchServerSubSession@@QAEXHAAVTRequestStatus@@@Z @ 95 NONAME ; void RSearchServerSubSession::SetQueryParser(int, class TRequestStatus &)
+ ?OpenDatabaseL@CCPixSearcher@@QAEXAAVMCPixOpenDatabaseRequestObserver@@ABVTDesC16@@@Z @ 1 NONAME ; void CCPixSearcher::OpenDatabaseL(class MCPixOpenDatabaseRequestObserver &, class TDesC16 const &)
+ ?NewL@CSearchDocument@@SAPAV1@ABVTDesC16@@00W4TFilterId@1@@Z @ 2 NONAME ; class CSearchDocument * CSearchDocument::NewL(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &, enum CSearchDocument::TFilterId)
+ ?DeleteL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@ABVTDesC16@@@Z @ 3 NONAME ; void CCPixIndexer::DeleteL(class MCPixIndexingRequestObserver &, class TDesC16 const &)
+ ?SetAnalyzerL@RSearchServerSubSession@@QAEXABVTDesC16@@@Z @ 4 NONAME ; void RSearchServerSubSession::SetAnalyzerL(class TDesC16 const &)
+ ?GetDocument@RSearchServerSubSession@@QAEXHAAVTRequestStatus@@@Z @ 5 NONAME ; void RSearchServerSubSession::GetDocument(int, class TRequestStatus &)
+ ?SetAnalyzerL@CCPixIndexer@@QAEXAAVMCPixSetAnalyzerRequestObserver@@ABVTDesC16@@@Z @ 6 NONAME ; void CCPixIndexer::SetAnalyzerL(class MCPixSetAnalyzerRequestObserver &, class TDesC16 const &)
+ ?SearchL@CCPixSearcher@@QAEHABVTDesC16@@0@Z @ 7 NONAME ; int CCPixSearcher::SearchL(class TDesC16 const &, class TDesC16 const &)
+ ?Update@RSearchServerSubSession@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 8 NONAME ; void RSearchServerSubSession::Update(class TDesC8 const &, class TRequestStatus &)
+ ?OpenDatabaseL@CCPixSearcher@@QAEXABVTDesC16@@@Z @ 9 NONAME ; void CCPixSearcher::OpenDatabaseL(class TDesC16 const &)
+ ?GetBatchDocumentL@RSearchServerSubSession@@QAEPAPAVCSearchDocument@@HAAHH@Z @ 10 NONAME ; class CSearchDocument * * RSearchServerSubSession::GetBatchDocumentL(int, int &, int)
+ ?Delete@RSearchServerSubSession@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 11 NONAME ; void RSearchServerSubSession::Delete(class TDesC16 const &, class TRequestStatus &)
+ ?SetAnalyzerL@CCPixSearcher@@QAEXABVTDesC16@@@Z @ 12 NONAME ; void CCPixSearcher::SetAnalyzerL(class TDesC16 const &)
+ ?SetAnalyzer@RSearchServerSubSession@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 13 NONAME ; void RSearchServerSubSession::SetAnalyzer(class TDesC16 const &, class TRequestStatus &)
+ ?Size@CSearchDocument@@QBEHXZ @ 14 NONAME ; int CSearchDocument::Size(void) const
+ ?AppClass@CSearchDocument@@QBEABVTDesC16@@XZ @ 15 NONAME ; class TDesC16 const & CSearchDocument::AppClass(void) const
+ ?NewL@CCPixSearcher@@SAPAV1@AAVRSearchServerSession@@ABVTDesC16@@@Z @ 16 NONAME ; class CCPixSearcher * CCPixSearcher::NewL(class RSearchServerSession &, class TDesC16 const &)
+ ?ForceHouseKeeping@RSearchServerSession@@QAEHXZ @ 17 NONAME ; int RSearchServerSession::ForceHouseKeeping(void)
+ ?DeleteL@RSearchServerSubSession@@QAEXABVTDesC16@@@Z @ 18 NONAME ; void RSearchServerSubSession::DeleteL(class TDesC16 const &)
+ ?GetDocumentL@CCPixSearcher@@QAEPAVCSearchDocument@@H@Z @ 19 NONAME ; class CSearchDocument * CCPixSearcher::GetDocumentL(int)
+ ?SetQueryParserL@RSearchServerSubSession@@QAEXH@Z @ 20 NONAME ; void RSearchServerSubSession::SetQueryParserL(int)
+ ?GetBatchDocument@RSearchServerSubSession@@QAEXHAAVTRequestStatus@@H@Z @ 21 NONAME ; void RSearchServerSubSession::GetBatchDocument(int, class TRequestStatus &, int)
+ ??1CDocumentField@@UAE@XZ @ 22 NONAME ; CDocumentField::~CDocumentField(void)
+ ??1CSearchDocument@@UAE@XZ @ 23 NONAME ; CSearchDocument::~CSearchDocument(void)
+ ?Value@CDocumentField@@QBEABVTDesC16@@XZ @ 24 NONAME ; class TDesC16 const & CDocumentField::Value(void) const
+ ?UpdateL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@ABVCSearchDocument@@@Z @ 25 NONAME ; void CCPixIndexer::UpdateL(class MCPixIndexingRequestObserver &, class CSearchDocument const &)
+ ?ResetL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@@Z @ 26 NONAME ; void CCPixIndexer::ResetL(class MCPixIndexingRequestObserver &)
+ ?NewLC@CDocumentField@@SAPAV1@AAVRReadStream@@@Z @ 27 NONAME ; class CDocumentField * CDocumentField::NewLC(class RReadStream &)
+ ?Connect@RSearchServerSession@@QAEHXZ @ 28 NONAME ; int RSearchServerSession::Connect(void)
+ ?IsDatabaseOpen@CCPixSearcher@@QBEHXZ @ 29 NONAME ; int CCPixSearcher::IsDatabaseOpen(void) const
+ ?AddL@CCPixIndexer@@QAEXABVCSearchDocument@@@Z @ 30 NONAME ; void CCPixIndexer::AddL(class CSearchDocument const &)
+ ?CancelAll@RSearchServerSubSession@@QBEXXZ @ 31 NONAME ; void RSearchServerSubSession::CancelAll(void) const
+ ?SetQueryParserL@CCPixSearcher@@QAEXW4TQueryParser@1@@Z @ 32 NONAME ; void CCPixSearcher::SetQueryParserL(enum CCPixSearcher::TQueryParser)
+ ?SearchL@CCPixSearcher@@QAEXAAVMCPixSearchRequestObserver@@ABVTDesC16@@1@Z @ 33 NONAME ; void CCPixSearcher::SearchL(class MCPixSearchRequestObserver &, class TDesC16 const &, class TDesC16 const &)
+ ?Close@RSearchServerSession@@QAEXXZ @ 34 NONAME ; void RSearchServerSession::Close(void)
+ ?Id@CSearchDocument@@QBEABVTDesC16@@XZ @ 35 NONAME ; class TDesC16 const & CSearchDocument::Id(void) const
+ ?GetDocumentObjectL@RSearchServerSubSession@@QAEPAVCSearchDocument@@XZ @ 36 NONAME ; class CSearchDocument * RSearchServerSubSession::GetDocumentObjectL(void)
+ ?UpdateL@CCPixIndexer@@QAEXABVCSearchDocument@@@Z @ 37 NONAME ; void CCPixIndexer::UpdateL(class CSearchDocument const &)
+ ?GetBaseAppClass@CCPixSearcher@@QBEABVTDesC16@@XZ @ 38 NONAME ; class TDesC16 const & CCPixSearcher::GetBaseAppClass(void) const
+ ?OpenDatabaseL@CCPixIndexer@@QAEXAAVMCPixOpenDatabaseRequestObserver@@ABVTDesC16@@@Z @ 39 NONAME ; void CCPixIndexer::OpenDatabaseL(class MCPixOpenDatabaseRequestObserver &, class TDesC16 const &)
+ ?InternalizeL@CDocumentField@@QAEXAAVRReadStream@@@Z @ 40 NONAME ; void CDocumentField::InternalizeL(class RReadStream &)
+ ??0RSearchServerSession@@QAE@XZ @ 41 NONAME ; RSearchServerSession::RSearchServerSession(void)
+ ?NewL@CCPixIndexer@@SAPAV1@AAVRSearchServerSession@@@Z @ 42 NONAME ; class CCPixIndexer * CCPixIndexer::NewL(class RSearchServerSession &)
+ ?GetBatchDocumentL@CCPixSearcher@@QAEXHAAVMCPixNextDocumentRequestObserver@@H@Z @ 43 NONAME ; void CCPixSearcher::GetBatchDocumentL(int, class MCPixNextDocumentRequestObserver &, int)
+ ?Version@RSearchServerSession@@QBE?AVTVersion@@XZ @ 44 NONAME ; class TVersion RSearchServerSession::Version(void) const
+ ?AddExcerptL@CSearchDocument@@QAEXABVTDesC16@@@Z @ 45 NONAME ; void CSearchDocument::AddExcerptL(class TDesC16 const &)
+ ?Config@CDocumentField@@QBEHXZ @ 46 NONAME ; int CDocumentField::Config(void) const
+ ?Boost@CDocumentField@@QBEMXZ @ 47 NONAME ; float CDocumentField::Boost(void) const
+ ?GetDocumentL@RSearchServerSubSession@@QAEPAVCSearchDocument@@H@Z @ 48 NONAME ; class CSearchDocument * RSearchServerSubSession::GetDocumentL(int)
+ ?FlushL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@@Z @ 49 NONAME ; void CCPixIndexer::FlushL(class MCPixIndexingRequestObserver &)
+ ?FlushL@RSearchServerSubSession@@QAEXXZ @ 50 NONAME ; void RSearchServerSubSession::FlushL(void)
+ ?ResetL@CCPixIndexer@@QAEXXZ @ 51 NONAME ; void CCPixIndexer::ResetL(void)
+ ?ExternalizeL@CSearchDocument@@QBEXAAVRWriteStream@@@Z @ 52 NONAME ; void CSearchDocument::ExternalizeL(class RWriteStream &) const
+ ?Search@RSearchServerSubSession@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 53 NONAME ; void RSearchServerSubSession::Search(class TDesC16 const &, class TRequestStatus &)
+ ?Size@CDocumentField@@QBEHXZ @ 54 NONAME ; int CDocumentField::Size(void) const
+ ?NewL@CDocumentField@@SAPAV1@AAVRReadStream@@@Z @ 55 NONAME ; class CDocumentField * CDocumentField::NewL(class RReadStream &)
+ ?NewLC@CSearchDocument@@SAPAV1@ABVTDesC16@@00W4TFilterId@1@@Z @ 56 NONAME ; class CSearchDocument * CSearchDocument::NewLC(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &, enum CSearchDocument::TFilterId)
+ ?DeleteL@CCPixIndexer@@QAEXABVTDesC16@@@Z @ 57 NONAME ; void CCPixIndexer::DeleteL(class TDesC16 const &)
+ ?NewLC@CDocumentField@@SAPAV1@ABVTDesC16@@0H@Z @ 58 NONAME ; class CDocumentField * CDocumentField::NewLC(class TDesC16 const &, class TDesC16 const &, int)
+ ?GetBatchDocumentObjectL@RSearchServerSubSession@@QAEPAPAVCSearchDocument@@AAH@Z @ 59 NONAME ; class CSearchDocument * * RSearchServerSubSession::GetBatchDocumentObjectL(int &)
+ ??1CCPixSearcher@@UAE@XZ @ 60 NONAME ; CCPixSearcher::~CCPixSearcher(void)
+ ?SetBoost@CSearchDocument@@QAEXM@Z @ 61 NONAME ; void CSearchDocument::SetBoost(float)
+ ?IsDatabaseOpen@CCPixIndexer@@QBEHXZ @ 62 NONAME ; int CCPixIndexer::IsDatabaseOpen(void) const
+ ?NewL@CDocumentField@@SAPAV1@ABVTDesC16@@0H@Z @ 63 NONAME ; class CDocumentField * CDocumentField::NewL(class TDesC16 const &, class TDesC16 const &, int)
+ ?Flush@RSearchServerSubSession@@QAEXAAVTRequestStatus@@@Z @ 64 NONAME ; void RSearchServerSubSession::Flush(class TRequestStatus &)
+ ?Field@CSearchDocument@@QBEPBVCDocumentField@@ABVTDesC16@@@Z @ 65 NONAME ; class CDocumentField const * CSearchDocument::Field(class TDesC16 const &) const
+ ?NewLC@CSearchDocument@@SAPAV1@AAVRReadStream@@@Z @ 66 NONAME ; class CSearchDocument * CSearchDocument::NewLC(class RReadStream &)
+ ?StopHouseKeeping@RSearchServerSession@@QAEHXZ @ 67 NONAME ; int RSearchServerSession::StopHouseKeeping(void)
+ ?AddFieldL@CSearchDocument@@QAEAAVCDocumentField@@ABVTDesC16@@0H@Z @ 68 NONAME ; class CDocumentField & CSearchDocument::AddFieldL(class TDesC16 const &, class TDesC16 const &, int)
+ ?Field@CSearchDocument@@QBEABVCDocumentField@@H@Z @ 69 NONAME ; class CDocumentField const & CSearchDocument::Field(int) const
+ ?SetAnalyzerL@CCPixIndexer@@QAEXABVTDesC16@@@Z @ 70 NONAME ; void CCPixIndexer::SetAnalyzerL(class TDesC16 const &)
+ ?ResetL@RSearchServerSubSession@@QAEXXZ @ 71 NONAME ; void RSearchServerSubSession::ResetL(void)
+ ?FieldCount@CSearchDocument@@QBEHXZ @ 72 NONAME ; int CSearchDocument::FieldCount(void) const
+ ?NewLC@CCPixSearcher@@SAPAV1@AAVRSearchServerSession@@ABVTDesC16@@@Z @ 73 NONAME ; class CCPixSearcher * CCPixSearcher::NewLC(class RSearchServerSession &, class TDesC16 const &)
+ ?Excerpt@CSearchDocument@@QBEABVTDesC16@@XZ @ 74 NONAME ; class TDesC16 const & CSearchDocument::Excerpt(void) const
+ ?GetBaseAppClass@CCPixIndexer@@QBEABVTDesC16@@XZ @ 75 NONAME ; class TDesC16 const & CCPixIndexer::GetBaseAppClass(void) const
+ ?OpenDatabaseL@CCPixIndexer@@QAEXABVTDesC16@@@Z @ 76 NONAME ; void CCPixIndexer::OpenDatabaseL(class TDesC16 const &)
+ ?SetAnalyzerL@CCPixSearcher@@QAEXAAVMCPixSetAnalyzerRequestObserver@@ABVTDesC16@@@Z @ 77 NONAME ; void CCPixSearcher::SetAnalyzerL(class MCPixSetAnalyzerRequestObserver &, class TDesC16 const &)
+ ?Boost@CSearchDocument@@QBEMXZ @ 78 NONAME ; float CSearchDocument::Boost(void) const
+ ?SearchL@RSearchServerSubSession@@QAEXABVTDesC16@@@Z @ 79 NONAME ; void RSearchServerSubSession::SearchL(class TDesC16 const &)
+ ?DefineVolume@RSearchServerSession@@QAEHABVTDesC16@@0@Z @ 80 NONAME ; int RSearchServerSession::DefineVolume(class TDesC16 const &, class TDesC16 const &)
+ ?InternalizeL@CSearchDocument@@QAEXAAVRReadStream@@@Z @ 81 NONAME ; void CSearchDocument::InternalizeL(class RReadStream &)
+ ?Name@CDocumentField@@QBEABVTDesC16@@XZ @ 82 NONAME ; class TDesC16 const & CDocumentField::Name(void) const
+ ?Reset@RSearchServerSubSession@@QAEXAAVTRequestStatus@@@Z @ 83 NONAME ; void RSearchServerSubSession::Reset(class TRequestStatus &)
+ ?AddL@CCPixIndexer@@QAEXAAVMCPixIndexingRequestObserver@@ABVCSearchDocument@@@Z @ 84 NONAME ; void CCPixIndexer::AddL(class MCPixIndexingRequestObserver &, class CSearchDocument const &)
+ ?SetQueryParserL@CCPixSearcher@@QAEXAAVMCPixSetQueryParserRequestObserver@@W4TQueryParser@1@@Z @ 85 NONAME ; void CCPixSearcher::SetQueryParserL(class MCPixSetQueryParserRequestObserver &, enum CCPixSearcher::TQueryParser)
+ ?RemoveField@CSearchDocument@@QAEHABVTDesC16@@@Z @ 86 NONAME ; int CSearchDocument::RemoveField(class TDesC16 const &)
+ ?Add@RSearchServerSubSession@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 87 NONAME ; void RSearchServerSubSession::Add(class TDesC8 const &, class TRequestStatus &)
+ ?SetQueryParser@RSearchServerSubSession@@QAEXHAAVTRequestStatus@@@Z @ 88 NONAME ; void RSearchServerSubSession::SetQueryParser(int, class TRequestStatus &)
+ ?FlushL@CCPixIndexer@@QAEXXZ @ 89 NONAME ; void CCPixIndexer::FlushL(void)
+ ?ContinueHouseKeeping@RSearchServerSession@@QAEHXZ @ 90 NONAME ; int RSearchServerSession::ContinueHouseKeeping(void)
+ ?GetDocumentL@CCPixSearcher@@QAEXHAAVMCPixNextDocumentRequestObserver@@@Z @ 91 NONAME ; void CCPixSearcher::GetDocumentL(int, class MCPixNextDocumentRequestObserver &)
+ ?NewLC@CCPixIndexer@@SAPAV1@AAVRSearchServerSession@@@Z @ 92 NONAME ; class CCPixIndexer * CCPixIndexer::NewLC(class RSearchServerSession &)
+ ?SetBoost@CDocumentField@@QAEXM@Z @ 93 NONAME ; void CDocumentField::SetBoost(float)
+ ??1CCPixIndexer@@UAE@XZ @ 94 NONAME ; CCPixIndexer::~CCPixIndexer(void)
+ ?GetBatchDocumentL@CCPixSearcher@@QAEPAPAVCSearchDocument@@HAAHH@Z @ 95 NONAME ; class CSearchDocument * * CCPixSearcher::GetBatchDocumentL(int, int &, int)
+ ?NewL@CSearchDocument@@SAPAV1@AAVRReadStream@@@Z @ 96 NONAME ; class CSearchDocument * CSearchDocument::NewL(class RReadStream &)
+ ?UpdateL@RSearchServerSubSession@@QAEXABVTDesC8@@@Z @ 97 NONAME ; void RSearchServerSubSession::UpdateL(class TDesC8 const &)
+ ?UnDefineVolume@RSearchServerSession@@QAEHABVTDesC16@@@Z @ 98 NONAME ; int RSearchServerSession::UnDefineVolume(class TDesC16 const &)
+ ?ExternalizeL@CDocumentField@@QBEXAAVRWriteStream@@@Z @ 99 NONAME ; void CDocumentField::ExternalizeL(class RWriteStream &) const
+ ?AddL@RSearchServerSubSession@@QAEXABVTDesC8@@@Z @ 100 NONAME ; void RSearchServerSubSession::AddL(class TDesC8 const &)
--- a/searcher/searchclient/eabi/cpixsearchclientu.def Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/eabi/cpixsearchclientu.def Wed Aug 18 10:53:26 2010 +0300
@@ -24,91 +24,96 @@
_ZN13CCPixSearcher12SetAnalyzerLERK7TDesC16 @ 23 NONAME
_ZN13CCPixSearcher13OpenDatabaseLER32MCPixOpenDatabaseRequestObserverRK7TDesC16 @ 24 NONAME
_ZN13CCPixSearcher13OpenDatabaseLERK7TDesC16 @ 25 NONAME
- _ZN13CCPixSearcher4NewLER20RSearchServerSessionRK7TDesC16 @ 26 NONAME
- _ZN13CCPixSearcher5NewLCER20RSearchServerSessionRK7TDesC16 @ 27 NONAME
- _ZN13CCPixSearcher7SearchLER26MCPixSearchRequestObserverRK7TDesC16S4_ @ 28 NONAME
- _ZN13CCPixSearcher7SearchLERK7TDesC16S2_ @ 29 NONAME
- _ZN13CCPixSearcherD0Ev @ 30 NONAME
- _ZN13CCPixSearcherD1Ev @ 31 NONAME
- _ZN13CCPixSearcherD2Ev @ 32 NONAME
- _ZN14CDocumentField12InternalizeLER11RReadStream @ 33 NONAME
- _ZN14CDocumentField4NewLER11RReadStream @ 34 NONAME
- _ZN14CDocumentField4NewLERK7TDesC16S2_i @ 35 NONAME
- _ZN14CDocumentField5NewLCER11RReadStream @ 36 NONAME
- _ZN14CDocumentField5NewLCERK7TDesC16S2_i @ 37 NONAME
- _ZN14CDocumentField8SetBoostEf @ 38 NONAME
- _ZN14CDocumentFieldD0Ev @ 39 NONAME
- _ZN14CDocumentFieldD1Ev @ 40 NONAME
- _ZN14CDocumentFieldD2Ev @ 41 NONAME
- _ZN15CSearchDocument11AddExcerptLERK7TDesC16 @ 42 NONAME
- _ZN15CSearchDocument11RemoveFieldERK7TDesC16 @ 43 NONAME
- _ZN15CSearchDocument12InternalizeLER11RReadStream @ 44 NONAME
- _ZN15CSearchDocument4NewLER11RReadStream @ 45 NONAME
- _ZN15CSearchDocument4NewLERK7TDesC16S2_S2_NS_9TFilterIdE @ 46 NONAME
- _ZN15CSearchDocument5NewLCER11RReadStream @ 47 NONAME
- _ZN15CSearchDocument5NewLCERK7TDesC16S2_S2_NS_9TFilterIdE @ 48 NONAME
- _ZN15CSearchDocument8SetBoostEf @ 49 NONAME
- _ZN15CSearchDocument9AddFieldLERK7TDesC16S2_i @ 50 NONAME
- _ZN15CSearchDocumentD0Ev @ 51 NONAME
- _ZN15CSearchDocumentD1Ev @ 52 NONAME
- _ZN15CSearchDocumentD2Ev @ 53 NONAME
- _ZN20RSearchServerSession12DefineVolumeERK7TDesC16S2_ @ 54 NONAME
- _ZN20RSearchServerSession14UnDefineVolumeERK7TDesC16 @ 55 NONAME
- _ZN20RSearchServerSession5CloseEv @ 56 NONAME
- _ZN20RSearchServerSession7ConnectEv @ 57 NONAME
- _ZN20RSearchServerSessionC1Ev @ 58 NONAME
- _ZN20RSearchServerSessionC2Ev @ 59 NONAME
- _ZN23RSearchServerSubSession11GetDocumentEiR14TRequestStatus @ 60 NONAME
- _ZN23RSearchServerSubSession11SetAnalyzerERK7TDesC16R14TRequestStatus @ 61 NONAME
- _ZN23RSearchServerSubSession12GetDocumentLEi @ 62 NONAME
- _ZN23RSearchServerSubSession12SetAnalyzerLERK7TDesC16 @ 63 NONAME
- _ZN23RSearchServerSubSession18GetDocumentObjectLEv @ 64 NONAME
- _ZN23RSearchServerSubSession3AddERK6TDesC8R14TRequestStatus @ 65 NONAME
- _ZN23RSearchServerSubSession4AddLERK6TDesC8 @ 66 NONAME
- _ZN23RSearchServerSubSession5FlushER14TRequestStatus @ 67 NONAME
- _ZN23RSearchServerSubSession5ResetER14TRequestStatus @ 68 NONAME
- _ZN23RSearchServerSubSession6DeleteERK7TDesC16R14TRequestStatus @ 69 NONAME
- _ZN23RSearchServerSubSession6FlushLEv @ 70 NONAME
- _ZN23RSearchServerSubSession6ResetLEv @ 71 NONAME
- _ZN23RSearchServerSubSession6SearchERK7TDesC16R14TRequestStatus @ 72 NONAME
- _ZN23RSearchServerSubSession6UpdateERK6TDesC8R14TRequestStatus @ 73 NONAME
- _ZN23RSearchServerSubSession7DeleteLERK7TDesC16 @ 74 NONAME
- _ZN23RSearchServerSubSession7SearchLERK7TDesC16 @ 75 NONAME
- _ZN23RSearchServerSubSession7UpdateLERK6TDesC8 @ 76 NONAME
- _ZNK12CCPixIndexer14IsDatabaseOpenEv @ 77 NONAME
- _ZNK12CCPixIndexer15GetBaseAppClassEv @ 78 NONAME
- _ZNK13CCPixSearcher14IsDatabaseOpenEv @ 79 NONAME
- _ZNK13CCPixSearcher15GetBaseAppClassEv @ 80 NONAME
- _ZNK14CDocumentField12ExternalizeLER12RWriteStream @ 81 NONAME
- _ZNK14CDocumentField4NameEv @ 82 NONAME
- _ZNK14CDocumentField4SizeEv @ 83 NONAME
- _ZNK14CDocumentField5BoostEv @ 84 NONAME
- _ZNK14CDocumentField5ValueEv @ 85 NONAME
- _ZNK14CDocumentField6ConfigEv @ 86 NONAME
- _ZNK15CSearchDocument10FieldCountEv @ 87 NONAME
- _ZNK15CSearchDocument12ExternalizeLER12RWriteStream @ 88 NONAME
- _ZNK15CSearchDocument2IdEv @ 89 NONAME
- _ZNK15CSearchDocument4SizeEv @ 90 NONAME
- _ZNK15CSearchDocument5BoostEv @ 91 NONAME
- _ZNK15CSearchDocument5FieldERK7TDesC16 @ 92 NONAME
- _ZNK15CSearchDocument5FieldEi @ 93 NONAME
- _ZNK15CSearchDocument7ExcerptEv @ 94 NONAME
- _ZNK15CSearchDocument8AppClassEv @ 95 NONAME
- _ZNK20RSearchServerSession7VersionEv @ 96 NONAME
- _ZNK23RSearchServerSubSession9CancelAllEv @ 97 NONAME
- _ZTI12CCPixIndexer @ 98 NONAME ; #<TI>#
- _ZTI13CCPixSearcher @ 99 NONAME ; #<TI>#
- _ZTI14CDocumentField @ 100 NONAME ; #<TI>#
- _ZTI15CSearchDocument @ 101 NONAME ; #<TI>#
- _ZTV12CCPixIndexer @ 102 NONAME ; #<VT>#
- _ZTV13CCPixSearcher @ 103 NONAME ; #<VT>#
- _ZTV14CDocumentField @ 104 NONAME ; #<VT>#
- _ZTV15CSearchDocument @ 105 NONAME ; #<VT>#
- _ZN20RSearchServerSession16StopHouseKeepingEv @ 106 NONAME
- _ZN20RSearchServerSession17ForceHouseKeepingEv @ 107 NONAME
- _ZN20RSearchServerSession20ContinueHouseKeepingEv @ 108 NONAME
- _ZN13CCPixSearcher15SetQueryParserLENS_12TQueryParserE @ 109 NONAME
- _ZN13CCPixSearcher15SetQueryParserLER34MCPixSetQueryParserRequestObserverNS_12TQueryParserE @ 110 NONAME
- _ZN23RSearchServerSubSession14SetQueryParserEiR14TRequestStatus @ 111 NONAME
- _ZN23RSearchServerSubSession15SetQueryParserLEi @ 112 NONAME
+ _ZN13CCPixSearcher15SetQueryParserLENS_12TQueryParserE @ 26 NONAME
+ _ZN13CCPixSearcher15SetQueryParserLER34MCPixSetQueryParserRequestObserverNS_12TQueryParserE @ 27 NONAME
+ _ZN13CCPixSearcher17GetBatchDocumentLEiR32MCPixNextDocumentRequestObserveri @ 28 NONAME
+ _ZN13CCPixSearcher17GetBatchDocumentLEiRii @ 29 NONAME
+ _ZN13CCPixSearcher4NewLER20RSearchServerSessionRK7TDesC16 @ 30 NONAME
+ _ZN13CCPixSearcher5NewLCER20RSearchServerSessionRK7TDesC16 @ 31 NONAME
+ _ZN13CCPixSearcher7SearchLER26MCPixSearchRequestObserverRK7TDesC16S4_ @ 32 NONAME
+ _ZN13CCPixSearcher7SearchLERK7TDesC16S2_ @ 33 NONAME
+ _ZN13CCPixSearcherD0Ev @ 34 NONAME
+ _ZN13CCPixSearcherD1Ev @ 35 NONAME
+ _ZN13CCPixSearcherD2Ev @ 36 NONAME
+ _ZN14CDocumentField12InternalizeLER11RReadStream @ 37 NONAME
+ _ZN14CDocumentField4NewLER11RReadStream @ 38 NONAME
+ _ZN14CDocumentField4NewLERK7TDesC16S2_i @ 39 NONAME
+ _ZN14CDocumentField5NewLCER11RReadStream @ 40 NONAME
+ _ZN14CDocumentField5NewLCERK7TDesC16S2_i @ 41 NONAME
+ _ZN14CDocumentField8SetBoostEf @ 42 NONAME
+ _ZN14CDocumentFieldD0Ev @ 43 NONAME
+ _ZN14CDocumentFieldD1Ev @ 44 NONAME
+ _ZN14CDocumentFieldD2Ev @ 45 NONAME
+ _ZN15CSearchDocument11AddExcerptLERK7TDesC16 @ 46 NONAME
+ _ZN15CSearchDocument11RemoveFieldERK7TDesC16 @ 47 NONAME
+ _ZN15CSearchDocument12InternalizeLER11RReadStream @ 48 NONAME
+ _ZN15CSearchDocument4NewLER11RReadStream @ 49 NONAME
+ _ZN15CSearchDocument4NewLERK7TDesC16S2_S2_NS_9TFilterIdE @ 50 NONAME
+ _ZN15CSearchDocument5NewLCER11RReadStream @ 51 NONAME
+ _ZN15CSearchDocument5NewLCERK7TDesC16S2_S2_NS_9TFilterIdE @ 52 NONAME
+ _ZN15CSearchDocument8SetBoostEf @ 53 NONAME
+ _ZN15CSearchDocument9AddFieldLERK7TDesC16S2_i @ 54 NONAME
+ _ZN15CSearchDocumentD0Ev @ 55 NONAME
+ _ZN15CSearchDocumentD1Ev @ 56 NONAME
+ _ZN15CSearchDocumentD2Ev @ 57 NONAME
+ _ZN20RSearchServerSession12DefineVolumeERK7TDesC16S2_ @ 58 NONAME
+ _ZN20RSearchServerSession14UnDefineVolumeERK7TDesC16 @ 59 NONAME
+ _ZN20RSearchServerSession16StopHouseKeepingEv @ 60 NONAME
+ _ZN20RSearchServerSession17ForceHouseKeepingEv @ 61 NONAME
+ _ZN20RSearchServerSession20ContinueHouseKeepingEv @ 62 NONAME
+ _ZN20RSearchServerSession5CloseEv @ 63 NONAME
+ _ZN20RSearchServerSession7ConnectEv @ 64 NONAME
+ _ZN20RSearchServerSessionC1Ev @ 65 NONAME
+ _ZN20RSearchServerSessionC2Ev @ 66 NONAME
+ _ZN23RSearchServerSubSession11GetDocumentEiR14TRequestStatus @ 67 NONAME
+ _ZN23RSearchServerSubSession11SetAnalyzerERK7TDesC16R14TRequestStatus @ 68 NONAME
+ _ZN23RSearchServerSubSession12GetDocumentLEi @ 69 NONAME
+ _ZN23RSearchServerSubSession12SetAnalyzerLERK7TDesC16 @ 70 NONAME
+ _ZN23RSearchServerSubSession14SetQueryParserEiR14TRequestStatus @ 71 NONAME
+ _ZN23RSearchServerSubSession15SetQueryParserLEi @ 72 NONAME
+ _ZN23RSearchServerSubSession16GetBatchDocumentEiR14TRequestStatusi @ 73 NONAME
+ _ZN23RSearchServerSubSession17GetBatchDocumentLEiRii @ 74 NONAME
+ _ZN23RSearchServerSubSession18GetDocumentObjectLEv @ 75 NONAME
+ _ZN23RSearchServerSubSession23GetBatchDocumentObjectLERi @ 76 NONAME
+ _ZN23RSearchServerSubSession3AddERK6TDesC8R14TRequestStatus @ 77 NONAME
+ _ZN23RSearchServerSubSession4AddLERK6TDesC8 @ 78 NONAME
+ _ZN23RSearchServerSubSession5FlushER14TRequestStatus @ 79 NONAME
+ _ZN23RSearchServerSubSession5ResetER14TRequestStatus @ 80 NONAME
+ _ZN23RSearchServerSubSession6DeleteERK7TDesC16R14TRequestStatus @ 81 NONAME
+ _ZN23RSearchServerSubSession6FlushLEv @ 82 NONAME
+ _ZN23RSearchServerSubSession6ResetLEv @ 83 NONAME
+ _ZN23RSearchServerSubSession6SearchERK7TDesC16R14TRequestStatus @ 84 NONAME
+ _ZN23RSearchServerSubSession6UpdateERK6TDesC8R14TRequestStatus @ 85 NONAME
+ _ZN23RSearchServerSubSession7DeleteLERK7TDesC16 @ 86 NONAME
+ _ZN23RSearchServerSubSession7SearchLERK7TDesC16 @ 87 NONAME
+ _ZN23RSearchServerSubSession7UpdateLERK6TDesC8 @ 88 NONAME
+ _ZNK12CCPixIndexer14IsDatabaseOpenEv @ 89 NONAME
+ _ZNK12CCPixIndexer15GetBaseAppClassEv @ 90 NONAME
+ _ZNK13CCPixSearcher14IsDatabaseOpenEv @ 91 NONAME
+ _ZNK13CCPixSearcher15GetBaseAppClassEv @ 92 NONAME
+ _ZNK14CDocumentField12ExternalizeLER12RWriteStream @ 93 NONAME
+ _ZNK14CDocumentField4NameEv @ 94 NONAME
+ _ZNK14CDocumentField4SizeEv @ 95 NONAME
+ _ZNK14CDocumentField5BoostEv @ 96 NONAME
+ _ZNK14CDocumentField5ValueEv @ 97 NONAME
+ _ZNK14CDocumentField6ConfigEv @ 98 NONAME
+ _ZNK15CSearchDocument10FieldCountEv @ 99 NONAME
+ _ZNK15CSearchDocument12ExternalizeLER12RWriteStream @ 100 NONAME
+ _ZNK15CSearchDocument2IdEv @ 101 NONAME
+ _ZNK15CSearchDocument4SizeEv @ 102 NONAME
+ _ZNK15CSearchDocument5BoostEv @ 103 NONAME
+ _ZNK15CSearchDocument5FieldERK7TDesC16 @ 104 NONAME
+ _ZNK15CSearchDocument5FieldEi @ 105 NONAME
+ _ZNK15CSearchDocument7ExcerptEv @ 106 NONAME
+ _ZNK15CSearchDocument8AppClassEv @ 107 NONAME
+ _ZNK20RSearchServerSession7VersionEv @ 108 NONAME
+ _ZNK23RSearchServerSubSession9CancelAllEv @ 109 NONAME
+ _ZTI12CCPixIndexer @ 110 NONAME
+ _ZTI13CCPixSearcher @ 111 NONAME
+ _ZTI14CDocumentField @ 112 NONAME
+ _ZTI15CSearchDocument @ 113 NONAME
+ _ZTV12CCPixIndexer @ 114 NONAME
+ _ZTV13CCPixSearcher @ 115 NONAME
+ _ZTV14CDocumentField @ 116 NONAME
+ _ZTV15CSearchDocument @ 117 NONAME
--- a/searcher/searchclient/group/searchclient.mmp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/group/searchclient.mmp Wed Aug 18 10:53:26 2010 +0300
@@ -41,6 +41,6 @@
LIBRARY flogger.lib
-CAPABILITY CAP_GENERAL_DLL -DRM
+CAPABILITY CAP_GENERAL_DLL
// End of File
--- a/searcher/searchclient/inc/searchservercommon.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/inc/searchservercommon.h Wed Aug 18 10:53:26 2010 +0300
@@ -62,6 +62,8 @@
ESearchServerSearch,
ESearchServerGetDocument,
ESearchServerGetDocumentObject,
+ ESearchServerGetBatchDocument,
+ ESearchServerGetBatchDocumentObject,
ESearchServerAdd,
ESearchServerUpdate,
ESearchServerDelete,
--- a/searcher/searchclient/src/ccpixsearcher.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/src/ccpixsearcher.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -279,6 +279,37 @@
SetActive();
}
+EXPORT_C CSearchDocument** CCPixSearcher::GetBatchDocumentL(TInt aIndex, TInt& aReturnDoc, TInt aCount)
+ {
+ PERFORMANCE_LOG_START("CCPixSearcher::GetBatchDocumentL");
+
+ if ( !iIsDatabaseOpen ) User::Leave( KErrNotReady );
+ if ( IsActive() )
+ {
+ User::Leave(KErrInUse);
+ }
+
+ return iSubSession.GetBatchDocumentL(aIndex,aReturnDoc, aCount);
+ }
+
+EXPORT_C void CCPixSearcher::GetBatchDocumentL(TInt aIndex, MCPixNextDocumentRequestObserver& aObserver, TInt aCount)
+ {
+ PERFORMANCE_LOG_START("CCPixSearcher::GetBatchDocumentL");
+
+ if ( !iIsDatabaseOpen ) User::Leave( KErrNotReady );
+ if ( IsActive() )
+ {
+ User::Leave(KErrInUse); // Need ::RunError to handle this
+ }
+
+ iObserver.iNextDocument = &aObserver;
+
+ iState = EStateGetBatchDocument;
+ iSubSession.GetBatchDocument(aIndex, iStatus, aCount);
+ SetActive();
+ }
+
+
// CCPixSearcher::RunL()
// Invoked to handle responses from the server.
void CCPixSearcher::RunL()
@@ -341,6 +372,27 @@
}
}
break;
+
+ case EStateGetBatchDocument:
+ {
+ // Fetch search results and call back at the observer
+ CSearchDocument** document = 0;
+ TInt retCount = 0;
+ TRAPD( err, document = iSubSession.GetBatchDocumentObjectL( retCount ) );
+ if ( observer.iNextDocument )
+ {
+ if ( err == KErrNone )
+ {
+ observer.iNextDocument->HandleBatchDocumentL(iStatus.Int(),retCount, document);
+ }
+ else
+ {
+ observer.iNextDocument->HandleBatchDocumentL(err, retCount, document);
+ }
+ }
+ }
+ break;
+
case EStateNone:
// Do nothing, dont panic.
--- a/searcher/searchclient/src/rsearchserversession.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/src/rsearchserversession.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -153,6 +153,11 @@
void RSearchServerSubSession::Close()
{
+ if (iSizeList)
+ {
+ delete iSizeList;
+ iSizeList = NULL;
+ }
RSubSessionBase::CloseSubSession(ESearchServerCloseSubSession);
}
@@ -310,6 +315,94 @@
return document;
}
+ // RSearchServerSubSession::GetBatchDocumentL()
+EXPORT_C CSearchDocument** RSearchServerSubSession::GetBatchDocumentL(TInt aIndex, TInt& aReturnDoc, TInt aCount)
+ {
+ PERFORMANCE_LOG_START("RSearchServerSubSession::GetBatchDocumentL");
+
+ if (!aCount) return NULL;
+
+ iDocumentSize = 0;
+ iReqCount = aCount;
+
+ if (iSizeList)
+ {
+ delete iSizeList;
+ iSizeList = NULL;
+ }
+ iSizeList = STATIC_CAST(TInt *, User::AllocZL(iReqCount * sizeof(TInt)));
+ TPtr8 blob((TUint8*)iSizeList, iReqCount * sizeof(TInt));
+ // Message arguments for the server
+ TIpcArgs args(aIndex, iReqCount, &blob);
+ iDocSizeArray.Reset();
+ User::LeaveIfError( SendReceive(ESearchServerGetBatchDocument, args ) );
+
+ return GetBatchDocumentObjectL( aReturnDoc );
+ }
+
+EXPORT_C void RSearchServerSubSession::GetBatchDocument(TInt aIndex, TRequestStatus& aStatus, TInt aCount)
+ {
+ PERFORMANCE_LOG_START("RSearchServerSubSession::GetBatchDocument");
+
+ iDocumentSize = 0;
+ iReqCount = aCount;
+
+ if (iSizeList)
+ {
+ delete iSizeList;
+ iSizeList = NULL;
+ }
+ iSizeList = STATIC_CAST(TInt *, User::AllocZL(iReqCount * sizeof(TInt)));
+ //iDocSizeArray
+ TPtr8 blob((TUint8*)iSizeList, iReqCount * sizeof(TInt));
+
+ // Message arguments for the server
+ TIpcArgs args(aIndex, aCount, &blob);
+
+ SendReceive(ESearchServerGetBatchDocument, args, aStatus );
+ }
+
+EXPORT_C CSearchDocument** RSearchServerSubSession::GetBatchDocumentObjectL( TInt& aRetCount )
+ {
+ PERFORMANCE_LOG_START("CCPixSearcher::GetBatchDocumentObjectL");
+ CSearchDocument** document = NULL;
+ TInt i ,totalsize = 0;
+ for ( i = 0; i< iReqCount; i++ )
+ {
+ if( *(iSizeList+i) )
+ {
+ totalsize += *(iSizeList+i);
+ }
+ else break;
+ }
+ aRetCount = i;
+
+ if ( aRetCount> 0 && totalsize )
+ {
+ //document = (CSearchDocument**)malloc ( sizeof(CSearchDocument*) * (i-1));
+ document = STATIC_CAST(CSearchDocument**, User::AllocL( aRetCount * sizeof(CSearchDocument*)));
+ HBufC8* buf = HBufC8::NewLC(totalsize +2 );
+ TPtr8 ptr = buf->Des();
+ User::LeaveIfError(SendReceive(ESearchServerGetBatchDocumentObject, TIpcArgs(&ptr)));
+ TInt startpos = 0;
+ TInt endpos = 0;
+ for ( TInt arrCount= 0; arrCount < aRetCount ; arrCount++)
+ {
+ endpos = *(iSizeList + arrCount) -4;
+ //endpos = startpos + iDocSizeArray[arrCount];
+ TPtrC8 tempptr = ptr.Mid( startpos , endpos );
+ startpos += endpos;
+ RDesReadStream stream;
+ stream.Open(tempptr);
+ stream.PushL();
+ document[arrCount] = CSearchDocument::NewL(stream);
+ CleanupStack::PopAndDestroy(&stream);
+ }
+ CleanupStack::PopAndDestroy(buf);
+ }
+ return document;
+ }
+
// RSearchServerSubSession::CancelSearch()
// Cancels outstanding search from server
EXPORT_C void RSearchServerSubSession::CancelAll() const
--- a/searcher/searchclient/traces/CCPixSearcherTraces.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/traces/CCPixSearcherTraces.h Wed Aug 18 10:53:26 2010 +0300
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
// DO NOT EDIT, CHANGES WILL BE LOST
#ifndef __CCPIXSEARCHERTRACES_H__
--- a/searcher/searchclient/traces/RSearchServerSessionTraces.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchclient/traces/RSearchServerSessionTraces.h Wed Aug 18 10:53:26 2010 +0300
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
// DO NOT EDIT, CHANGES WILL BE LOST
#ifndef __RSEARCHSERVERSESSIONTRACES_H__
--- a/searcher/searchserver/inc/CCPixAbstractSearcher.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/inc/CCPixAbstractSearcher.h Wed Aug 18 10:53:26 2010 +0300
@@ -68,6 +68,20 @@
* @return Document. Ownership is transferred to the caller of this function.
*/
virtual CSearchDocument* GetDocumentCompleteL() = 0;
+
+ /**
+ * Gets list of documents from the current search results.
+ * @param aObserver Observing object for this asyncronous call
+ * @param aMessage The requesting message
+ * @parma aIndex index of the requested document
+ */
+ virtual void GetBatchDocumentL(TInt aIndex, MCPixAsyncronizerObserver* aObserver, const RMessage2& aMessage, TInt count) = 0;
+
+ /**
+ * Complete the previous GetBatchDocumentL
+ * @return array of Documents. Ownership is transferred to the caller of this function.
+ */
+ virtual RPointerArray<CSearchDocument> GetBatchDocumentCompleteL() = 0;
/**
* Creates new database (and destroys existing) if path is given. Otherwise, opens existing database.
@@ -95,7 +109,11 @@
public:
- static CSearchDocument* ConvertDocumentL( cpix_Document* aDocument );
+ static CSearchDocument* ConvertDocumentL( cpix_Document* aDocument );
+
+ static RPointerArray<CSearchDocument> ConvertBatchDocumentL( cpix_Document** aDocument, TInt count );
+
+ static RArray<TInt> docSizeArray;
};
--- a/searcher/searchserver/inc/ccpixasyncronizer.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/inc/ccpixasyncronizer.h Wed Aug 18 10:53:26 2010 +0300
@@ -22,6 +22,7 @@
{
ECPixTaskTypeSearch = 0,
ECPixTaskTypeGetDocument,
+ ECPixTaskTypeGetBatchDocument,
ECPixTaskTypeAdd,
ECPixTaskTypeUpdate,
ECPixTaskTypeDelete,
--- a/searcher/searchserver/inc/ccpixsearch.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/inc/ccpixsearch.h Wed Aug 18 10:53:26 2010 +0300
@@ -101,6 +101,20 @@
* @return Document. Ownership is transferred to the caller of this function.
*/
CSearchDocument* GetDocumentCompleteL();
+
+ /**
+ * Gets list of documents from the current search results.
+ * @param aObserver Observing object for this asyncronous call
+ * @param aMessage The requesting message
+ * @parma aIndex index of the requested document
+ */
+ void GetBatchDocumentL(TInt aIndex, MCPixAsyncronizerObserver* aObserver, const RMessage2& aMessage, TInt aCount);
+
+ /**
+ * Complete the previous GetBatchDocumentL
+ * @return array of Document. Ownership is transferred to the caller of this function.
+ */
+ RPointerArray<CSearchDocument> GetBatchDocumentCompleteL();
/**
* Creates new database (and destroys existing) if path is given. Otherwise, opens existing database.
@@ -207,11 +221,18 @@
CCPixAsyncronizer* iAsyncronizer;
cpix_JobId iPendingJobId;
TPendingTask iPendingTask;
-
+ /**
+ * stores the requested batch document
+ */
+ cpix_Document** ibatchDocuments;
+ /**
+ * Requested batch document count
+ */
+ TInt ibatchDocCount;
/**
* Needed until the cpix is changed so that the docResults gives out the document
*/
- cpix_Document iCurrentCpixDocument;
+ cpix_Document* iCurrentCpixDocument;
};
--- a/searcher/searchserver/inc/csearchserversubsession.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/inc/csearchserversubsession.h Wed Aug 18 10:53:26 2010 +0300
@@ -100,6 +100,26 @@
* @param aMessage Message from client.
*/
void GetDocumentObjectL(const RMessage2& aMessage);
+
+ /**
+ * GetBatchDocumentL.
+ * Client gets the list of documents (result) when SearchL has completed
+ * @param aMessage Message from client.
+ */
+ void GetBatchDocumentL(const RMessage2& aMessage);
+
+ /**
+ * GetBatchDocumentCompleteL.
+ * Completes an previous call to GetBatchDocumentL
+ */
+ void GetBatchDocumentCompleteL(const RMessage2& aMessage);
+
+ /**
+ * GetBatchDocumentObjectL.
+ * Client gets the object after GetBatchDocumentL() has completed
+ * @param aMessage Message from client.
+ */
+ void GetBatchDocumentObjectL(const RMessage2& aMessage);
/**
* AddL.
@@ -176,10 +196,12 @@
void LimitExcerptToMaxLengthL(CSearchDocument* aSearchDocument);
private:
+ TInt count;
CCPixIdxDb* iIndexDb;
CCPixAbstractSearcher* iSearchDb;
CSearchDocument* iNextDocument;
CSearchServerSession* iSession;
+ RPointerArray<CSearchDocument> idocList;
};
#endif /* CSEARCHSERVERSUBSESSION_H_ */
--- a/searcher/searchserver/src/CCPixAbstractSearcher.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/src/CCPixAbstractSearcher.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -10,7 +10,11 @@
#include "SearchServerHelper.h"
#include "CSearchDocument.h"
-CCPixAbstractSearcher::~CCPixAbstractSearcher() {}
+RArray<TInt> CCPixAbstractSearcher::docSizeArray;
+
+CCPixAbstractSearcher::~CCPixAbstractSearcher() {
+docSizeArray.Close();
+}
namespace {
@@ -93,9 +97,98 @@
document->AddFieldL(namePtr, stringvalue);
}
- CleanupStack::PopAndDestroy(docFieldEnum);
-
+ CleanupStack::PopAndDestroy(docFieldEnum);
CleanupStack::Pop(document);
-
+ delete aDocument;
return document;
}
+
+RPointerArray<CSearchDocument> CCPixAbstractSearcher::ConvertBatchDocumentL( cpix_Document** aDocument, TInt aCount )
+ {
+ // Read first the system fields that are passed as constructor parameters
+ //
+ RPointerArray<CSearchDocument> docArray;
+ docSizeArray.Reset();
+ //docArray.Reset(); // delete each element
+
+ for( TInt i= 0;i< aCount;i++ )
+ {
+ cpix_Document* nextDocument = aDocument[i];
+
+ if( nextDocument->ptr_ )
+ {
+ const wchar_t* documentId = cpix_Document_getFieldValue( nextDocument, LCPIX_DOCUID_FIELD);
+ SearchServerHelper::CheckCpixErrorL(nextDocument, KErrDatabaseQueryFailed);
+
+ TPtrC documentIdPtr(KNullDesC);
+ if (documentId)
+ documentIdPtr.Set(reinterpret_cast<const TUint16*>(documentId));
+
+ const wchar_t* documentAppClass = cpix_Document_getFieldValue(nextDocument, LCPIX_APPCLASS_FIELD);
+ SearchServerHelper::CheckCpixErrorL(nextDocument, KErrDatabaseQueryFailed);
+
+ TPtrC documentAppClassPtr(KNullDesC);
+ if (documentAppClass)
+ documentAppClassPtr.Set(reinterpret_cast<const TUint16*>(documentAppClass));
+
+ const wchar_t* documentExcerpt = cpix_Document_getFieldValue(nextDocument, LCPIX_EXCERPT_FIELD);
+ SearchServerHelper::CheckCpixErrorL(nextDocument, KErrDatabaseQueryFailed);
+
+ TPtrC documentExcerptPtr(KNullDesC);
+ if (documentExcerpt)
+ documentExcerptPtr.Set(reinterpret_cast<const TUint16*>(documentExcerpt));
+
+ // Setup the document
+ //
+
+ CSearchDocument* document = CSearchDocument::NewLC(documentIdPtr, documentAppClassPtr, documentExcerptPtr);
+
+ // Enumerate the field of cpix_Document and add each of them
+ // into the CSearchDocument object.
+ //
+
+ cpix_DocFieldEnum* docFieldEnum = cpix_Document_fields(nextDocument);
+ SearchServerHelper::CheckCpixErrorL(nextDocument, KErrDocumentAccessFailed);
+
+ CleanupStack::PushL( TCleanupItem(CpixDocFieldEnumDestroyer, docFieldEnum) );
+
+ cpix_Field field;
+ while (cpix_DocFieldEnum_hasMore(docFieldEnum))
+ {
+ cpix_DocFieldEnum_next(docFieldEnum, &field);
+ SearchServerHelper::CheckCpixErrorL(docFieldEnum, KErrDatabaseQueryFailed);
+
+ const wchar_t* name = cpix_Field_name(&field);
+ SearchServerHelper::CheckCpixErrorL(&field, KErrDatabaseQueryFailed);
+
+ TPtrC namePtr( reinterpret_cast<const TUint16*>( name ) );
+ if ( namePtr == TPtrC( (TUint16*)LCPIX_DOCUID_FIELD )
+ || namePtr == TPtrC( (TUint16*)LCPIX_APPCLASS_FIELD )
+ || namePtr == TPtrC( (TUint16*)LCPIX_EXCERPT_FIELD ) )
+ {
+ continue; // These fields have already been added
+ }
+
+ const wchar_t* value = cpix_Field_stringValue(&field);
+ SearchServerHelper::CheckCpixErrorL(&field, KErrDatabaseQueryFailed);
+
+ TPtrC stringvalue( reinterpret_cast<const TUint16*>( value ) );
+
+ // NOTE: Also system fields will be iterated. Because
+ // the field name is not checked, all _appclass,
+ // _excerpt etc. fields will be overwritten.
+ document->AddFieldL(namePtr, stringvalue);
+ }
+ CleanupStack::PopAndDestroy(docFieldEnum);
+ CleanupStack::Pop(document);
+ docSizeArray.AppendL( document->Size());
+ docArray.AppendL( document );
+ delete nextDocument;
+ nextDocument = NULL;
+ }
+ else break;
+ }
+ delete aDocument;
+ aDocument = NULL;
+ return docArray;
+ }
--- a/searcher/searchserver/src/ccpixsearch.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/src/ccpixsearch.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -61,7 +61,7 @@
delete iBaseAppClass;
delete iDefaultSearchFieldZ;
-
+ delete ibatchDocuments;
cpix_Query_destroy(iQuery);
cpix_QueryParser_destroy(iQueryParser);
cpix_Analyzer_destroy(iAnalyzer);
@@ -208,7 +208,10 @@
}
iPendingTask = EPendingTaskDocument;
- iPendingJobId = cpix_Hits_asyncDoc(iHits, aIndex, &iCurrentCpixDocument, (void*)this, &CompletionCallback);
+
+ iCurrentCpixDocument = new cpix_Document;
+ iCurrentCpixDocument->ptr_ = NULL;
+ iPendingJobId = cpix_Hits_asyncDoc(iHits, aIndex, &iCurrentCpixDocument, (void*)this, &CompletionCallback,1);
if ( cpix_Failed(iHits) )
{
SearchServerHelper::LogErrorL(*(iHits->err_));
@@ -218,6 +221,37 @@
iAsyncronizer->Start(ECPixTaskTypeGetDocument, aObserver, aMessage);
OstTraceFunctionExit0( CCPIXSEARCH_GETDOCUMENTL_EXIT );
}
+
+void CCPixSearch::GetBatchDocumentL(TInt aIndex, MCPixAsyncronizerObserver* aObserver, const RMessage2& aMessage, TInt aCount)
+ {
+ PERFORMANCE_LOG_START("CCPixSearch::GetBatchDocumentL");
+
+ if (iPendingTask != EPendingTaskNone)
+ User::Leave(KErrInUse);
+
+ if (aIndex<0 || aIndex >= iDocumentCount )
+ {
+ User::Leave(KErrDocumentAccessFailed);
+ }
+
+ ibatchDocCount = aCount;
+ ibatchDocuments = STATIC_CAST(cpix_Document**, User::AllocZL(aCount * sizeof(cpix_Document*)));
+ for (int i =0; i< aCount; i++)
+ {
+ ibatchDocuments[i] = new cpix_Document;
+ ibatchDocuments[i]->ptr_ = NULL;
+ }
+
+ iPendingTask = EPendingTaskDocument;
+ iPendingJobId = cpix_Hits_asyncDoc(iHits, aIndex, ibatchDocuments, (void*)this, &CompletionCallback, aCount);
+ if ( cpix_Failed(iHits) )
+ {
+ SearchServerHelper::LogErrorL(*(iHits->err_));
+ cpix_ClearError(iHits);
+ User::Leave(KErrDocumentAccessFailed);
+ }
+ iAsyncronizer->Start(ECPixTaskTypeGetBatchDocument, aObserver, aMessage);
+ }
CSearchDocument* CCPixSearch::GetDocumentCompleteL()
{
@@ -230,7 +264,7 @@
cpix_Hits_asyncDocResults(iHits, iPendingJobId);
SearchServerHelper::CheckCpixErrorL(iHits, KErrDocumentAccessFailed);
- return ConvertDocumentL( &iCurrentCpixDocument );
+ return ConvertDocumentL( iCurrentCpixDocument );
#if 0 // TODO XXX TIM
const wchar_t* documentId = cpix_Document_getFieldValue(&iCurrentCpixDocument, LCPIX_DOCUID_FIELD);
SearchServerHelper::CheckCpixErrorL(&iCurrentCpixDocument, KErrDatabaseQueryFailed);
@@ -295,6 +329,19 @@
return document;
#endif // 0
}
+
+RPointerArray<CSearchDocument> CCPixSearch::GetBatchDocumentCompleteL()
+ {
+ PERFORMANCE_LOG_START("CCPixSearch::GetBatchDocumentCompleteL");
+
+ // Request is no more pending
+ iPendingTask = EPendingTaskNone;
+
+ cpix_Hits_asyncDocResults(iHits, iPendingJobId);
+ SearchServerHelper::CheckCpixErrorL(iHits, KErrDocumentAccessFailed);
+
+ return ConvertBatchDocumentL( ibatchDocuments, ibatchDocCount );
+ }
void CCPixSearch::SetAnalyzerL(const TDesC& aAnalyzer)
{
@@ -388,4 +435,4 @@
{
return (iIdxDb != NULL);
}
-
+// End of File
--- a/searcher/searchserver/src/csearchserver.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/src/csearchserver.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -104,7 +104,7 @@
//
CSearchServer* CSearchServer::NewLC()
{
- CSearchServer* searchServer = new ( ELeave ) CSearchServer( EPriorityNormal );
+ CSearchServer* searchServer = new ( ELeave ) CSearchServer( CActive::EPriorityStandard );
CleanupStack::PushL(searchServer);
searchServer->ConstructL();
return searchServer;
@@ -120,7 +120,9 @@
OstTraceFunctionEntry0( CSEARCHSERVER_CONSTRUCTL_ENTRY );
CPIXLOGSTRING("Creating search server");
-
+ RProcess process;
+ process.SetPriority( EPriorityBackground );
+ process.Close();
// Create new container index
iContainerIndex = CObjectConIx::NewL();
--- a/searcher/searchserver/src/csearchserversession.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/src/csearchserversession.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -230,6 +230,18 @@
subsession->GetDocumentObjectL(aMessage);
RECORDED_EXECUTION_END("getDocumentObject")
break;
+
+ case ESearchServerGetBatchDocument:
+ RECORDED_EXECUTION_BEGIN
+ subsession->GetBatchDocumentL(aMessage);
+ RECORDED_EXECUTION_END("getDocument")
+ break;
+
+ case ESearchServerGetBatchDocumentObject:
+ RECORDED_EXECUTION_BEGIN
+ subsession->GetBatchDocumentObjectL(aMessage);
+ RECORDED_EXECUTION_END("getDocumentObject")
+ break;
case ESearchServerCancelAll:
RECORDED_EXECUTION_BEGIN
--- a/searcher/searchserver/src/csearchserversubsession.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/src/csearchserversubsession.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -72,10 +72,13 @@
delete iIndexDb;
delete iSearchDb;
delete iNextDocument;
+ idocList.ResetAndDestroy();
+ idocList.Close();
}
void CSearchServerSubSession::ConstructL()
{
+ count = 0;
iIndexDb = CCPixIdxDb::NewL();
iSearchDb = CCPixSearch::NewL();
}
@@ -259,6 +262,32 @@
OstTraceFunctionExit0( DUP1_CSEARCHSERVERSUBSESSION_GETDOCUMENTL_EXIT );
}
+void CSearchServerSubSession::GetBatchDocumentL(const RMessage2& aMessage)
+ {
+ PERFORMANCE_LOG_START("CSearchServerSubSession::GetBatchDocumentL");
+
+ // Sanity check
+ if (!iSearchDb->IsOpen())
+ {
+ iSession->PanicClient(aMessage, EDatabaseNotOpen);
+ return;
+ }
+
+ // buf for the search terms
+ TInt index = aMessage.Int0();
+ count = aMessage.Int1();
+
+ for (int i =0; i < idocList.Count(); i++)
+ {
+ delete idocList[i];
+ idocList[i] = NULL;
+ }
+ idocList.Reset();
+ LOG_PLAYER_RECORD( CLogPlayerRecorder::LogGetDocumentL( reinterpret_cast<TUint>( this ), index ) );
+
+ iSearchDb->GetBatchDocumentL(index, this, aMessage, count);
+ }
+
void CSearchServerSubSession::GetDocumentCompleteL(const RMessage2& aMessage)
{
OstTraceFunctionEntry0( CSEARCHSERVERSUBSESSION_GETDOCUMENTCOMPLETEL_ENTRY );
@@ -270,6 +299,14 @@
OstTraceFunctionExit0( CSEARCHSERVERSUBSESSION_GETDOCUMENTCOMPLETEL_EXIT );
}
+void CSearchServerSubSession::GetBatchDocumentCompleteL(const RMessage2& aMessage)
+ {
+ PERFORMANCE_LOG_START("CSearchServerSubSession::GetBatchDocumentCompleteL");
+ idocList = iSearchDb->GetBatchDocumentCompleteL();
+ const TPtrC8 ptr((const TUint8*)&(iSearchDb->docSizeArray[0]), sizeof(TInt) * iSearchDb->docSizeArray.Count());
+ aMessage.WriteL(2, ptr);
+ }
+
// CSearchServerSession::GetDocumentObjectL()
// Client gets the object after GetDocumentL() has completed
void CSearchServerSubSession::GetDocumentObjectL(const RMessage2& aMessage)
@@ -319,6 +356,53 @@
aMessage.Complete(KErrNone);
OstTraceFunctionExit0( DUP1_CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_EXIT );
}
+
+// CSearchServerSession::GetBatchDocumentObjectL()
+// Client gets the object after GetBatchDocumentL() has completed
+void CSearchServerSubSession::GetBatchDocumentObjectL(const RMessage2& aMessage)
+ {
+ PERFORMANCE_LOG_START("CSearchServerSubSession::GetBatchDocumentObjectL");
+
+ // Sanity check
+ if ( !iSearchDb || !iSearchDb->IsOpen() )
+ {
+ iSession->PanicClient(aMessage, EDatabaseNotOpen);
+ return;
+ }
+ TInt totalSize = 0;
+ for ( TInt i= 0; i < iSearchDb->docSizeArray.Count(); i++)
+ totalSize += iSearchDb->docSizeArray[i];
+
+ // Create long enough descriptor for serialized hits
+ HBufC8* buf = HBufC8::NewLC(totalSize +1);
+ TPtr8 ptr = buf->Des();
+ // Initialize a new stream
+ RDesWriteStream stream;
+ stream.Open(ptr);
+ stream.PushL();
+
+ for(TInt i= 0; i < idocList.Count(); i++)
+ {
+ if ( idocList[i] )
+ {
+ // Externalize hits to the stream//
+ idocList[i]->ExternalizeL(stream);
+ }
+ }
+ // Commit and destroy the stream
+ stream.CommitL();
+ TInt len2 = ptr.Length();
+ CleanupStack::PopAndDestroy(&stream);
+
+ // write the serialized hits in to the message
+ aMessage.WriteL(0, ptr);
+
+ // Delete descriptor
+ CleanupStack::PopAndDestroy(buf);
+
+ // Complete the request
+ aMessage.Complete(KErrNone);
+ }
void CSearchServerSubSession::AddL(const RMessage2& aMessage)
{
@@ -360,7 +444,11 @@
void CSearchServerSubSession::LimitExcerptToMaxLengthL(CSearchDocument* aSearchDocument)
{
+ //This is commented because HIGHLIGHTER uses full expcerpt field,
+ //no need to limit excerpt
//check if excerpt is more then maximum allowed
+#ifdef USE_HIGHLIGHTER
+#else
if(aSearchDocument->Excerpt().Length() > MAX_EXCERPT_LENGTH)
{
OstTraceExt1( TRACE_NORMAL, CSEARCHSERVERSUBSESSION_LIMITEXCERPTTOMAXLENGTHL, "CSearchServerSubSession::LimitExcerptToMaxLengthL;docuid=%S", (aSearchDocument->Id()) );
@@ -375,6 +463,7 @@
aSearchDocument->AddExcerptL(*bufExcerpt);
CleanupStack::PopAndDestroy(bufExcerpt);
}
+#endif
}
void CSearchServerSubSession::AddCompleteL(const RMessage2& /*aMessage*/)
@@ -498,6 +587,11 @@
TRAP(aError, GetDocumentCompleteL(aMessage));
break;
}
+ case ECPixTaskTypeGetBatchDocument:
+ {
+ TRAP(aError, GetBatchDocumentCompleteL(aMessage));
+ break;
+ }
case ECPixTaskTypeAdd:
{
TRAP(aError, AddCompleteL(aMessage));
--- a/searcher/searchserver/traces/CCPixIdxDbTraces.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/traces/CCPixIdxDbTraces.h Wed Aug 18 10:53:26 2010 +0300
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
// DO NOT EDIT, CHANGES WILL BE LOST
#ifndef __CCPIXIDXDBTRACES_H__
@@ -15,6 +15,9 @@
#ifndef __KERNEL_MODE__
+#ifndef __OSTTRACEGEN1_TUINT32_CONST_TDESC16REF__
+#define __OSTTRACEGEN1_TUINT32_CONST_TDESC16REF__
+
inline TBool OstTraceGen1( TUint32 aTraceID, const TDesC16& aParam1 )
{
TBool retval;
@@ -49,10 +52,16 @@
}
return retval;
}
+
+#endif // __OSTTRACEGEN1_TUINT32_CONST_TDESC16REF__
+
#endif
#ifndef __KERNEL_MODE__
+#ifndef __OSTTRACEGEN2_TUINT32_CONST_TDESC16REF_CONST_TDESC16REF__
+#define __OSTTRACEGEN2_TUINT32_CONST_TDESC16REF_CONST_TDESC16REF__
+
inline TBool OstTraceGen2( TUint32 aTraceID, const TDesC16& aParam1, const TDesC16& aParam2 )
{
TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
@@ -133,6 +142,9 @@
}
return retval;
}
+
+#endif // __OSTTRACEGEN2_TUINT32_CONST_TDESC16REF_CONST_TDESC16REF__
+
#endif
--- a/searcher/searchserver/traces/CCPixSearchTraces.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/traces/CCPixSearchTraces.h Wed Aug 18 10:53:26 2010 +0300
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
// DO NOT EDIT, CHANGES WILL BE LOST
#ifndef __CCPIXSEARCHTRACES_H__
--- a/searcher/searchserver/traces/CSearchServerSessionTraces.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/traces/CSearchServerSessionTraces.h Wed Aug 18 10:53:26 2010 +0300
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
// DO NOT EDIT, CHANGES WILL BE LOST
#ifndef __CSEARCHSERVERSESSIONTRACES_H__
--- a/searcher/searchserver/traces/CSearchServerSubSessionTraces.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/traces/CSearchServerSubSessionTraces.h Wed Aug 18 10:53:26 2010 +0300
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
// DO NOT EDIT, CHANGES WILL BE LOST
#ifndef __CSEARCHSERVERSUBSESSIONTRACES_H__
@@ -21,11 +21,14 @@
#define CSEARCHSERVERSUBSESSION_GETDOCUMENTCOMPLETEL_ENTRY 0x8a0014
#define CSEARCHSERVERSUBSESSION_GETDOCUMENTCOMPLETEL_EXIT 0x8a0015
#define CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_ENTRY 0x8a0016
-#define CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_EXIT 0x8a0017
#define DUP1_CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_EXIT 0x8a0018
+#define CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_EXIT 0x8a0019
#ifndef __KERNEL_MODE__
+#ifndef __OSTTRACEGEN1_TUINT32_CONST_TDESC16REF__
+#define __OSTTRACEGEN1_TUINT32_CONST_TDESC16REF__
+
inline TBool OstTraceGen1( TUint32 aTraceID, const TDesC16& aParam1 )
{
TBool retval;
@@ -60,6 +63,9 @@
}
return retval;
}
+
+#endif // __OSTTRACEGEN1_TUINT32_CONST_TDESC16REF__
+
#endif
--- a/searcher/searchserver/traces/CSearchServerTraces.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/traces/CSearchServerTraces.h Wed Aug 18 10:53:26 2010 +0300
@@ -1,4 +1,4 @@
-// Created by TraceCompiler 2.1.2
+// Created by TraceCompiler 2.2.3
// DO NOT EDIT, CHANGES WILL BE LOST
#ifndef __CSEARCHSERVERTRACES_H__
--- a/searcher/searchserver/traces/OstTraceDefinitions.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/traces/OstTraceDefinitions.h Wed Aug 18 10:53:26 2010 +0300
@@ -2,6 +2,6 @@
#define __OSTTRACEDEFINITIONS_H__
// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-//#define OST_TRACE_COMPILER_IN_USE
+#define OST_TRACE_COMPILER_IN_USE
#include <opensystemtrace.h>
#endif
--- a/searcher/searchserver/traces/fixed_id.definitions Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/searchserver/traces/fixed_id.definitions Wed Aug 18 10:53:26 2010 +0300
@@ -14,7 +14,7 @@
[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_GETDOCUMENTL_ENTRY=0x11
[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_GETDOCUMENTL_EXIT=0x12
[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_ENTRY=0x16
-[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_EXIT=0x17
+[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_EXIT=0x19
[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_SEARCHCOMPLETEL_ENTRY=0xf
[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_SEARCHCOMPLETEL_EXIT=0x10
[TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_SEARCHL_ENTRY=0xc
@@ -39,3 +39,4 @@
[TRACE]TRACE_NORMAL[0x86]_DUP1_CSEARCHSERVERSUBSESSION_CSEARCHSERVERSUBSESSION=0xc
[TRACE]TRACE_NORMAL[0x86]_DUP1_CSEARCHSERVERSUBSESSION_LIMITEXCERPTTOMAXLENGTHL=0xe
[TRACE]TRACE_NORMAL[0x86]_DUP2_CPIXIDXDB_DUMPDOCUMENT=0x3
+[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CSEARCHSERVERSUBSESSION_GETDOCUMENTOBJECTL_EXIT=0x17
--- a/searcher/tsrc/cpixsearchertest/conf/cpixsearchertest.cfg Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/cpixsearchertest/conf/cpixsearchertest.cfg Wed Aug 18 10:53:26 2010 +0300
@@ -295,4 +295,18 @@
foobar TestExerptLength
delete foobar
[Endtest]
+
+[Test]
+title TestGetBatchdoc
+create cpixsearchertest foobar
+foobar TestGetBatchdoc
+delete foobar
+[Endtest]
+
+[Test]
+title TestAsyncGetBatchdoc
+create cpixsearchertest foobar
+foobar TestAsyncGetBatchdoc
+delete foobar
+[Endtest]
\ No newline at end of file
--- a/searcher/tsrc/cpixsearchertest/group/cpixsearchertest.mmp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/cpixsearchertest/group/cpixsearchertest.mmp Wed Aug 18 10:53:26 2010 +0300
@@ -82,6 +82,7 @@
USERINCLUDE ./../../../../searchsrv_plat/cpix_utility_api/inc
USERINCLUDE ../../../searchclient/inc
+USERINCLUDE ../../../searchclient/traces
SOURCEPATH ../../../searchclient/src
SOURCE rsearchserversession.cpp
@@ -94,4 +95,6 @@
LIBRARY FLOGGER.lib
LIBRARY estor.lib
LIBRARY efsrv.lib
+
+EPOCALLOWDLLDATA
// End of File
--- a/searcher/tsrc/cpixsearchertest/inc/cpixsearchertest.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/cpixsearchertest/inc/cpixsearchertest.h Wed Aug 18 10:53:26 2010 +0300
@@ -180,6 +180,8 @@
virtual TInt TestGetDocumentAsyncL( CStifItemParser& aItem );
virtual TInt TestGetInvalidDocumentAsyncL( CStifItemParser& aItem );
virtual TInt TestExerptLengthL( CStifItemParser& aItem );
+ virtual TInt TestGetBatchdocL( CStifItemParser& aItem );
+ virtual TInt TestAsyncGetBatchdocL( CStifItemParser& aItem );
/**
* Method used to log version of test class
*/
--- a/searcher/tsrc/cpixsearchertest/inc/cpixsearchertester.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/cpixsearchertest/inc/cpixsearchertester.h Wed Aug 18 10:53:26 2010 +0300
@@ -60,6 +60,7 @@
public: // From MCPixNextDocumentRequestObserver
void HandleDocumentL(TInt aError, CSearchDocument* aDocument);
+ void HandleBatchDocumentL(TInt aError, TInt aReturnCount, CSearchDocument** aDocument);
public: // From MAOTestObserver
void CallCompleted( int i );
@@ -116,6 +117,11 @@
void testGetInvalidDocumentAsync();
TInt testEcerptLenth();
+
+ void testgetbatchdoc();
+
+ void testasyncgetbatchdoc();
+
private:
CCPixSearcher* iSearcher;
RSearchServerSession iSession;
@@ -128,6 +134,7 @@
CSearchDocument* iDocument;
TBool iHandleDocumentLFunctionCalled; // ETrue if HandleDocumentL called
TBool iHandleSetAnalyzerCalled; // ETrue if HandleSetAnalyzerResultL called
+ TInt iretcount;
};
#endif /* CPIXSEARCHERTESTER_H_ */
--- a/searcher/tsrc/cpixsearchertest/src/cpixsearchertestBlocks.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/cpixsearchertest/src/cpixsearchertestBlocks.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -164,6 +164,8 @@
ENTRY( "TestGetDocumentAsync", Ccpixsearchertest::TestGetDocumentAsyncL),
ENTRY( "TestGetInvalidDocumentAsync", Ccpixsearchertest::TestGetInvalidDocumentAsyncL),
ENTRY( "TestExerptLength", Ccpixsearchertest::TestExerptLengthL),
+ ENTRY( "TestGetBatchdoc", Ccpixsearchertest::TestGetBatchdocL),
+ ENTRY( "TestAsyncGetBatchdoc", Ccpixsearchertest::TestAsyncGetBatchdocL),
//ADD NEW ENTRY HERE
// [test cases entries] - Do not remove
@@ -982,6 +984,49 @@
doLog( iLog, err, KTestFormBaseAppClassNoError );
return err;
}
+
+// -----------------------------------------------------------------------------
+// Ccpixsearchertest::TestGetBatchdocL
+// -----------------------------------------------------------------------------
+//
+TInt Ccpixsearchertest::TestGetBatchdocL( CStifItemParser& /*aItem*/ )
+ {
+ _LIT( KTestFormBaseAppClassNoError, "TestGetBatchdocL: No Error" );
+ CTestSearcher* testsearcher = new CTestSearcher();
+ testsearcher->initialsetUp();
+ testsearcher->createandinitindexer();
+ testsearcher->createsearcher();
+ testsearcher->harvesttestcontent( 10 );
+ TRAPD ( err , testsearcher->testgetbatchdoc() );
+ testsearcher->ReleaseIndexer();
+ testsearcher->ReleaseSearcher();
+ testsearcher->tearDown();
+ delete testsearcher;
+ doLog( iLog, err, KTestFormBaseAppClassNoError );
+ return err;
+ }
+// -----------------------------------------------------------------------------
+// Ccpixsearchertest::TestAsyncGetBatchdocL
+// -----------------------------------------------------------------------------
+//
+TInt Ccpixsearchertest::TestAsyncGetBatchdocL( CStifItemParser& /*aItem*/ )
+ {
+ _LIT( KTestFormBaseAppClassNoError, "TestAsyncGetBatchdocL: No Error" );
+ CTestSearcher* testsearcher = new CTestSearcher();
+ testsearcher->initialsetUp();
+ testsearcher->createandinitindexer();
+ testsearcher->createsearcher();
+ testsearcher->harvesttestcontent( 10 );
+ testsearcher->InitAsyncComponents();
+ TRAPD ( err , testsearcher->testasyncgetbatchdoc() );
+ testsearcher->ReleaseIndexer();
+ testsearcher->ReleaseSearcher();
+ testsearcher->ReleaseAsyncComponents();
+ testsearcher->tearDown();
+ delete testsearcher;
+ doLog( iLog, err, KTestFormBaseAppClassNoError );
+ return err;
+ }
// -----------------------------------------------------------------------------
// Ccpixsearchertest::?member_function
// ?implementation_description
--- a/searcher/tsrc/cpixsearchertest/src/cpixsearchertester.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/cpixsearchertest/src/cpixsearchertester.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -234,6 +234,21 @@
iWait->AsyncStop();
}
}
+void CTestSearcher::HandleBatchDocumentL(TInt /*aError*/, TInt aReturnCount, CSearchDocument** aDocument)
+ {
+ iHandleDocumentLFunctionCalled = ETrue;
+
+ if (iWait && iWait->IsStarted())
+ {
+ for (int i=0; i<aReturnCount; i++)
+ delete aDocument[i];
+ delete aDocument;
+
+ TS_ASSERT(aReturnCount == iretcount);
+
+ iWait->AsyncStop();
+ }
+ }
// Timeout callback
void CTestSearcher::CallCompleted( int /* i */ )
@@ -571,3 +586,69 @@
}
return ( length > 125 )?KErrGeneral:KErrNone;
}
+
+void CTestSearcher::testgetbatchdoc()
+ {
+ //Make sure Hit count is 7
+ TInt hitcount = iSearcher->SearchL(KQueryString);
+ CSearchDocument** doc = NULL;
+ if ( hitcount )
+ {
+ TInt retcount=0,count=3;
+ doc = iSearcher->GetBatchDocumentL(0,retcount,count);
+ for (int i=0; i<retcount; i++)
+ delete doc[i];
+ delete doc;
+ doc = NULL;
+ TS_ASSERT(retcount == 3);
+ //check the extreme conditions
+ retcount = 0;
+ doc = iSearcher->GetBatchDocumentL(3,retcount,count);
+ for (int i=0; i<retcount; i++)
+ delete doc[i];
+ delete doc;
+ doc = NULL;
+ TS_ASSERT(retcount == 3);
+
+ retcount = 0;
+ doc = iSearcher->GetBatchDocumentL(4,retcount,count);
+ for (int i=0; i<retcount; i++)
+ delete doc[i];
+ delete doc;
+ doc = NULL;
+ TS_ASSERT(retcount == 2);
+
+ retcount = 0;
+ TRAPD(err, doc = iSearcher->GetBatchDocumentL(11,retcount,count));
+ TS_ASSERT(err == KErrDocumentAccessFailed);
+ TS_ASSERT(retcount == 0);
+ }
+ return;
+ }
+
+void CTestSearcher::testasyncgetbatchdoc()
+ {
+ //Make sure Hit count is 7
+ TInt hitcount = iSearcher->SearchL(KQueryString);
+ if (hitcount)
+ {
+ TInt count =3;
+ iretcount = 3;
+ iSearcher->GetBatchDocumentL(0,*this,count);
+ iWait->Start();
+
+ iretcount = 3;
+ iSearcher->GetBatchDocumentL(3,*this,count);
+ iWait->Start();
+
+ iretcount = 2;
+ iSearcher->GetBatchDocumentL(4,*this,count);
+ iWait->Start();
+
+ iretcount = 0;
+ iSearcher->GetBatchDocumentL(11,*this,count);
+ iWait->Start();
+
+ }
+ return;
+ }
--- a/searcher/tsrc/logplayer/inc/logplayermanager.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/logplayer/inc/logplayermanager.h Wed Aug 18 10:53:26 2010 +0300
@@ -94,6 +94,7 @@
// Dummy implementation
void HandleDocumentL(TInt /*aError*/, CSearchDocument* /*aDocument*/) {}
+ void HandleBatchDocumentL(TInt aError, TInt aReturnCount, CSearchDocument** aDocument) {}
public: // New functions
--- a/searcher/tsrc/robustnesstest/inc/csearchingworker.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/robustnesstest/inc/csearchingworker.h Wed Aug 18 10:53:26 2010 +0300
@@ -54,6 +54,7 @@
public: // From MCPixNextDocumentRequestObserver
virtual void HandleDocumentL(TInt /*aError*/, CSearchDocument* /*aDocument*/);
+ virtual void HandleBatchDocumentL(TInt aError, TInt aReturnCount, CSearchDocument** aDocument) ;
public: // Statistics
--- a/searcher/tsrc/robustnesstest/src/csearchingworker.cpp Tue Jul 06 15:30:04 2010 +0300
+++ b/searcher/tsrc/robustnesstest/src/csearchingworker.cpp Wed Aug 18 10:53:26 2010 +0300
@@ -230,6 +230,9 @@
void CSearchingWorker::HandleDocumentL(TInt /*aError*/, CSearchDocument* /*aDocument*/)
{
}
+void CSearchingWorker::HandleBatchDocumentL(TInt aError, TInt aReturnCount, CSearchDocument** aDocument)
+ {
+ }
TInt CSearchingWorker::ConsumeSearches()
{
--- a/searchsrv_plat/cpix_framework_api/inc/ccpixsearcher.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchsrv_plat/cpix_framework_api/inc/ccpixsearcher.h Wed Aug 18 10:53:26 2010 +0300
@@ -235,6 +235,36 @@
* @return Next available document or NULL, if no more documents can be found
*/
IMPORT_C void GetDocumentL(TInt aIndex, MCPixNextDocumentRequestObserver& aObserver);
+
+ /**
+ * GetBatchDocumentL
+ * Iterates throught the search result's document list (hits), that is stored in the
+ * server side. The accessed list is ranked and the best matching document is heading
+ * the result list. First call of this method, return best matching, then second best
+ * matching and so forth until all documents have been found. Method returns NULL,
+ * when no more documents can be found.
+ *
+ * Leaves with KErrInUse, if asynchronous request is pending and
+ * KErrNotReady, if no database has been succefullly opened.
+ *
+ * @todo Having also GetDocumentLC would be nice
+ * @return Next available document or NULL, if no more documents can be found. Ownership is transferred
+ */
+ IMPORT_C CSearchDocument** GetBatchDocumentL(TInt aIndex, TInt& aReturnDoc, TInt aCount = 1);
+
+ /**
+ * GetBatchDocumentL
+ * Iterates throught the search result's document list (hits), that is stored in the
+ * server side. The accessed list is ranked and the best matching document isheading
+ * the result lest. When the request has been completed a callback to
+ * MSearchObserver::HandleDocumentL is issued.
+ *
+ * Leaves with KErrInUse, if asynchronous request is pending and
+ * KErrNotReady, if no database has been succefullly opened.
+ *
+ * @return Next available document or NULL, if no more documents can be found
+ */
+ IMPORT_C void GetBatchDocumentL(TInt aIndex, MCPixNextDocumentRequestObserver& aObserver, TInt aCount = 1);
protected: // Functions from base classes
@@ -287,6 +317,7 @@
EStateOpenDatabase,
EStateSearch,
EStateGetDocument,
+ EStateGetBatchDocument,
EStateSetAnalyzer,
EStateSetQueryParser
};
--- a/searchsrv_plat/cpix_framework_api/inc/mcpixsearcherobserver.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchsrv_plat/cpix_framework_api/inc/mcpixsearcherobserver.h Wed Aug 18 10:53:26 2010 +0300
@@ -72,6 +72,16 @@
* @aDocument The received document. Ownership of is transfered to the observer. NULL if no more documents.
*/
virtual void HandleDocumentL(TInt aError, CSearchDocument* aDocument) = 0;
+
+ /**
+ * HandleBatchDocumentL.
+ * Handle list of documents received from the server.
+ * @param aError Completion code of a asynchronous request. KErrNone if operation
+ * was succesful, otherwise system wide error code.
+ * @param aReturnCount count of the documents returned.
+ * @aDocument The received document. Ownership of is transfered to the observer. NULL if no more documents.
+ */
+ virtual void HandleBatchDocumentL(TInt aError, TInt aReturnCount, CSearchDocument** aDocument) = 0;
};
--- a/searchsrv_plat/cpix_framework_api/inc/rsearchserversession.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchsrv_plat/cpix_framework_api/inc/rsearchserversession.h Wed Aug 18 10:53:26 2010 +0300
@@ -203,6 +203,28 @@
* @return The document object. Ownership is transferred to the caller
*/
IMPORT_C CSearchDocument* GetDocumentObjectL();
+
+ /**
+ * GetBatchDocument. Synchronous version.
+ * Gets a list of document from the search results.
+ */
+ IMPORT_C CSearchDocument** GetBatchDocumentL(TInt aIndex, TInt& aReturnDoc, TInt aCount);
+
+ /**
+ * GetBatchDocument. Asynchronous version.
+ * Prepares a list of document from the search results. After this request
+ * complets, document can be read by using GetBatchDocumentObjectL.
+ * @param aStatus The TRequestStatus object to be used for async comms.
+ */
+ IMPORT_C void GetBatchDocument(TInt aIndex, TRequestStatus& aStatus, TInt aCount);
+
+ /**
+ * GetBatchDocumentObjectL.
+ * Get the actual Batch document object prepared by the asynchronous GetDocument request.
+ * @return The document object. Ownership is transferred to the caller
+ * Note: aRetCount will have the count of the documents returned
+ */
+ IMPORT_C CSearchDocument** GetBatchDocumentObjectL( TInt& aRetCount);
/**
* AddL. Synchronous version
@@ -286,11 +308,19 @@
* iDocumentSize, bytes needed for the next document
*/
TInt iDocumentSize;
+ /**
+ * iDocSizeArray, array of docs sizes
+ */
+ RArray<TInt> iDocSizeArray;
/**
* Package for document size.
*/
TPckg<TInt> iDocumentSizePckg;
+
+ TInt* iSizeList;
+
+ TInt iReqCount;
};
--- a/searchsrv_plat/cpix_search_api/group/bld.inf Tue Jul 06 15:30:04 2010 +0300
+++ b/searchsrv_plat/cpix_search_api/group/bld.inf Wed Aug 18 10:53:26 2010 +0300
@@ -22,7 +22,7 @@
PRJ_EXPORTS
-../inc/qcpixcommon.h MW_LAYER_PLATFORM_EXPORT_PATH(qcpixcommon.h)
-../inc/qcpixdocument.h MW_LAYER_PLATFORM_EXPORT_PATH(qcpixdocument.h)
-../inc/qcpixdocumentfield.h MW_LAYER_PLATFORM_EXPORT_PATH(qcpixdocumentfield.h)
-../inc/qcpixsearcher.h MW_LAYER_PLATFORM_EXPORT_PATH(qcpixsearcher.h)
+../inc/cpixcommon.h MW_LAYER_PLATFORM_EXPORT_PATH(cpixcommon.h)
+../inc/cpixdocument.h MW_LAYER_PLATFORM_EXPORT_PATH(cpixdocument.h)
+../inc/cpixdocumentfield.h MW_LAYER_PLATFORM_EXPORT_PATH(cpixdocumentfield.h)
+../inc/cpixsearcher.h MW_LAYER_PLATFORM_EXPORT_PATH(cpixsearcher.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/searchsrv_plat/cpix_search_api/inc/cpixcommon.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 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: Qt common search APIs
+*
+*/
+
+
+#ifndef CPIXCOMMON_H_
+#define CPIXCOMMON_H_
+
+#ifndef THROWS_EXCEPTION
+#define THROWS_EXCEPTION
+#endif
+
+/**
+ * Maximum string length.
+ * */
+//@TODO:sai: Is this a sane value?
+const int KMaxStringLength = 256;
+
+#endif /* CPIXCOMMON_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/searchsrv_plat/cpix_search_api/inc/cpixdocument.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2010 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: Qt search document APIs
+*
+*/
+
+#ifndef _CPIXDOCUMENT_H
+#define _CPIXDOCUMENT_H
+
+#ifdef BUILD_DLL
+#define DLL_EXPORT Q_DECL_EXPORT
+#else
+#define DLL_EXPORT Q_DECL_IMPORT
+#endif
+
+/**
+ * @file
+ * @ingroup Qt Search ClientAPI
+ * @brief Contains CpixDocument APIs
+ */
+
+#include <QObject>
+#include <cpixcommon.h>
+
+//Forward Declaration
+class CpixDocumentPrivate;
+class CpixDocumentField;
+
+/**
+ * @brief Represents the document returned as a result of a search query.
+ * @ingroup ClientAPI
+ *
+ * Link against: cpixsearch.lib
+ */
+class DLL_EXPORT CpixDocument: public QObject
+ {
+ Q_OBJECT
+public:
+ //@TODO: The following enums are copied over from S60. They need to
+ // be moved to a common file so that they can be shared by s60, qt and openc.
+ /**
+ * TStored defines wheter the value is stored to database.
+ * If value is stored to database, it can be retrieved from search result.
+ */
+ enum Stored
+ {
+ StoreYes = 1,
+ StoreNo = 2
+ };
+
+ /**
+ * TIndexed defines how the value of the field is indexed.
+ * If value is indexed, it can be searched.
+ */
+ enum Indexed
+ {
+ IndexNo = 16,
+ IndexTokenized = 32,
+ IndexUnTokenized = 64
+ };
+
+ /**
+ * TAggregated defines how the value of the field are exposed
+ * for aggregation. Aggregated field can be found with generic searches.
+ * If aggregation is not specified, all indexed field are aggeregated by
+ * default. Note: that also non-indexed fields can be aggregated.
+ */
+ enum Aggregated
+ {
+ AggregateNo = 1<<30,
+ AggregateYes = 1<<31,
+ AggregateDefault = 0
+ };
+ /**
+ * By default, field value is stored to database and it's indexed as tokenized strings.
+ */
+ static const int DefaultConfig = StoreYes | IndexTokenized | AggregateDefault;
+
+ static const float KDefaultBoost;
+
+public:
+ /**
+ * Constructor.
+ * Creates a CpixDocument object and return a pointer to the created object.
+ * @return A pointer to the created instance of CpixDocument.
+ */
+ static CpixDocument* newInstance();
+
+ /**
+ * Destructor
+ */
+ virtual ~CpixDocument();
+
+ /**
+ * Getter: Gets the document identifier.
+ * @return document identifier.
+ */
+ QString docId() const;
+
+ /**
+ * Getter: Gets the document excert.
+ * @return document excerpt.
+ */
+ QString excerpt() const;
+
+ /**
+ * Getter: Gets the document's base app class.
+ * @return document's base app class.
+ */
+ QString baseAppClass() const;
+
+ /**
+ * Getter: Gets the field at aIndex in the document.
+ * @param aIndex index of the field that is to be retrieved.
+ * @return CpixDocumentField that was at aIndex.
+ */
+ const CpixDocumentField& field( const int aIndex ) const THROWS_EXCEPTION;
+
+ /**
+ * Getter: Gets the field count.
+ * @return The number of the fields in the document.
+ */
+ int fieldCount() const;
+
+ /**
+ * Setter: Sets the document identifier for the document.
+ * @param aDocId the document identifier to be set.
+ */
+ void setDocId(const QString aDocId);
+
+ /**
+ * Setter: Sets the excerpt for the document.
+ * @param aExcerpt the excerpt to be set.
+ */
+ void setExcerpt(const QString aExcerpt);
+
+ /**
+ * Setter: Sets the base app class for the document.
+ * @param aBaseAppClass the base app class to be set.
+ */
+ void setBaseAppClass(const QString aBaseAppClass);
+
+ /**
+ * Setter: Adds a field with aName, aValue and aConfig to the document.
+ * @param aName The name of the field
+ * @param aValue The value of the field
+ * @param aConfig The config of the field
+ * @return the CpixDocumentField that was added to the document.
+ */
+ void addField(const QString aName, const QString aValue, const int aConfig = CpixDocument::DefaultConfig);
+
+private:
+ /**
+ * Default constructor
+ */
+ CpixDocument();
+
+private:
+ CpixDocumentPrivate* const iPvtImpl;
+ Q_DECLARE_PRIVATE_D( iPvtImpl, CpixDocument )
+ };
+
+#endif //_CPIXDOCUMENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/searchsrv_plat/cpix_search_api/inc/cpixdocumentfield.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2010 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: Qt search document field APIs
+*
+*/
+
+#ifndef _CPIXDOCUMENTFIELD_H
+#define _CPIXDOCUMENTFIELD_H
+
+#ifdef BUILD_DLL
+#define DLL_EXPORT Q_DECL_EXPORT
+#else
+#define DLL_EXPORT Q_DECL_IMPORT
+#endif
+
+/**
+ * @file
+ * @ingroup Qt Search ClientAPI
+ * @brief Contains CCPixDocument field APIs
+ */
+
+#include <QObject>
+
+//Forward decelaration
+class CpixDocumentFieldPrivate;
+
+/**
+ * @brief Represents the fields of documents returned as a result of a search query.
+ * @ingroup ClientAPI
+ *
+ * Link against: cpixsearch.lib
+ */
+class DLL_EXPORT CpixDocumentField: public QObject
+ {
+ Q_OBJECT
+public:
+ /**
+ * Constructor.
+ * Creates a CpixDocumentField object and return a pointer to the created object.
+ * @param aName Name of the field
+ * @param aValue Value of the field
+ * @param aConfig Config for the field
+ * @return A pointer to the created instance of CpixDocumentField.
+ *
+ * @note After using this constructor, the client has to mandatorily call
+ * SetDatabase() before invoking any search.
+ */
+ static CpixDocumentField* newInstance( const QString aName, const QString aValue, const int aConfig );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CpixDocumentField();
+
+ /**
+ * Getter: Gets the name of the field.
+ * @return The name of the field
+ */
+ QString name() const;
+
+ /**
+ * Getter: Gets the Value of the field.
+ * @return The value of the field
+ */
+ QString value() const;
+
+ /**
+ * Getter: Gets the Config of the field.
+ * @return The config of the field
+ */
+ int config() const;
+
+ /**
+ * Setter: Sets the Name of the field.
+ * @param aName The name of the field
+ */
+ void setName(const QString aName);
+
+ /**
+ * Setter: Sets the Value of the field.
+ * @param aValue The value of the field
+ */
+ void setValue(const QString aValue);
+
+ /**
+ * Setter: Sets the Name of the field.
+ * @param aConfig The config of the field
+ */
+ void setConfig(const int aConfig);
+
+private:
+ /**
+ * Constructor.
+ * Creates a CpixDocumentField object and return a pointer to the created object.
+ * @param aName Name of the field
+ * @param aValue Value of the field
+ * @param aConfig Config for the field
+ * @return A pointer to the created instance of CpixDocumentField.
+ */
+ CpixDocumentField(const QString aName, const QString aValue, const int aConfig);
+
+private:
+ CpixDocumentFieldPrivate* const iPvtImpl;
+ Q_DECLARE_PRIVATE_D( iPvtImpl, CpixDocumentField )
+ };
+
+#endif //_CPIXDOCUMENTFIELD_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/searchsrv_plat/cpix_search_api/inc/cpixsearcher.h Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,284 @@
+/*
+* Copyright (c) 2010 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: Qt search APIs
+*
+*/
+
+#ifndef _CPIXSEARCHER_H
+#define _CPIXSEARCHER_H
+
+//Uncomment the following line to enable performance measurements
+//#define OST_TRACE_COMPILER_IN_USE
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+
+#include <qdatetime.h>
+#include <qdebug.h>
+#define PERF_SEARCH_START_TIMER searchTimer.start();
+#define PERF_SEARCH_RESTART_TIMER searchTimer.restart();
+#define PERF_SEARCH_ENDLOG qDebug() << "Search QT API took: " << searchTimer.elapsed() << "msec";
+
+#define PERF_GETDOC_START_TIMER getDocumentTimer.start();
+#define PERF_GETDOC_RESTART_TIMER getDocumentTimer.restart();
+#define PERF_GETDOC_ENDLOG qDebug() << "Search QT API took: " << getDocumentTimer.elapsed() << "msec";
+
+#define PERF_TIME_NOW(message) qDebug() << "Search QT API: " << QString(message) << ": " << QTime::currentTime().toString("hh:mm:ss.zzz");
+
+#else
+
+#define PERF_SEARCH_START_TIMER
+#define PERF_SEARCH_RESTART_TIMER
+#define PERF_SEARCH_ENDLOG
+#define PERF_GETDOC_START_TIMER
+#define PERF_GETDOC_RESTART_TIMER
+#define PERF_GETDOC_ENDLOG
+#define PERF_TIME_NOW(message)
+
+#endif
+
+/**
+ * @file
+ * @ingroup Search Client API fpr Qt Clients
+ * @brief Contains CCPixSearcher used for searching
+ */
+
+#ifdef BUILD_DLL
+#define DLL_EXPORT Q_DECL_EXPORT
+#else
+#define DLL_EXPORT Q_DECL_IMPORT
+#endif
+
+#include <QObject>
+#include <cpixcommon.h>
+
+//forward declarations
+class CpixDocument;
+class CpixSearcherPrivate;
+
+// CLASS DECLARATION
+/**
+ * @brief Used for searching.
+ * @ingroup Qt Search Client API
+ * Link against: cpixsearch.lib
+ *
+ * An instance of CpixSearcher is used to commit search operations.
+ *
+ * Example code:
+ *
+ * Usecase 1: Sync calls.
+ * \code
+ * CpixSearcher* searcher = CpixSearcher::newInstance("root");
+ * if(searcher){
+ * int hitCount = searcher->search("search for me");
+ * for(int i=0; i<hitCount; i++) {
+ * CpixDocument* doc = document(0);
+ * // do something with doc.
+ * delete doc;
+ * }
+ * }
+ * \endcode
+ *
+ * Usecase 2: Sync calls with explicit SetDatabase().
+ * \code
+ * CpixSearcher* searcher = CpixSearcher::newInstance();
+ * searcher->SetDatabase("root");
+ * int hitCount = searcher->search("search for me");
+ * for(int i=0; i<hitCount; i++) {
+ * try{
+ * CpixDocument* doc = document(i);
+ * // do something with doc.
+ * delete doc;
+ * catch(...){
+ * //Do Cleanup
+ * }
+ * }
+ * \endcode
+ *
+ * Usecase 3: Async Calls
+ * \code
+ *
+ * iCurrentDocumentCount = 0;
+ *
+ * CpixSearcher* searcher = CpixSearcher::newInstance("root");
+ * connect(searcher, SIGNAL(handleSearchResults(int,int)), this, SLOT(ClientHandleSearchCompleteSlot(int,int)) );
+ * connect(searcher, SIGNAL(handleDocument(int,CpixDocument*)), this, SLOT(ClientHandleGetDocumentCompleteSlot(int,CpixDocument*)) );
+ * int hitCount = searcher->search("search for me");
+ * GetDocumentAsync( iCurrentDocumentCount++ );
+ *
+ * ClientClass::ClientHandleGetDocumentCompleteSlot(int aError, CpixDocument* aDocument){
+ * if( KErrNone != aError ){
+ * //do something with aDocument
+ * }
+ * documentAsync( iCurrentDocumentCount++ ); //Now get the next document.
+ * }
+ *
+ * \endcode
+ *
+ */
+class DLL_EXPORT CpixSearcher: public QObject
+ {
+ Q_OBJECT
+public:
+ /**
+ * Constructor.
+ * Creates a CpixSearcher object and return a pointer to the created object.
+ * @return A pointer to the created instance of CCPixSearcher.
+ *
+ * @note After using this constructor, the client has to mandatorily call
+ * SetDatabase() before invoking any search.
+ */
+ static CpixSearcher* newInstance();
+
+ /**
+ * Overloaded constructor
+ * Creates a CCPixSearcher object and return a pointer to the created object.
+ * If this constructor is used, the client can directly invoke Search without
+ * the need to call SetDatabase.
+ * @param aBaseAppClass The baseAppClass on which to invoke searches on.
+ * @param aDefaultSearchField Default field where the keywords are searched from.
+ * @return A pointer to the created instance of CCPixSearcher.
+ */
+ static CpixSearcher* newInstance( QString aBaseAppClass, QString aDefaultSearchField=NULL );
+
+ /**
+ * Destructor.
+ */
+ ~CpixSearcher();
+
+ /**
+ * Synchronously set (or change the database, if already set) on which to invoke subsequent searches.
+ * @param aBaseAppClass baseAppClass whose corresponding database is to be opened.
+ */
+ void setDatabase(QString aBaseAppClass) THROWS_EXCEPTION;
+
+ /**
+ * Asynchronously set (or change the database, if already set) on which to invoke subsequent searches.
+ * @param aBaseAppClass baseAppClass whose corresponding database is to be opened.
+ *
+ * @note Client is notified on completion of this call via HandleDatabaseSet signal.
+ */
+ void setDatabaseAsync(QString aBaseAppClass) THROWS_EXCEPTION;
+
+ /**
+ * Syncronously search for aSearchString.
+ * @param aSearchString keywords to be searched for.
+ * @param aDefaultSearchField Default field where the keywords are searched from.
+ * @return Estimated number of documents containing aSearchString.
+ */
+ int search(QString aSearchString, QString aDefaultSearchField=NULL) THROWS_EXCEPTION;
+
+ /**
+ * Asyncronously search for aSearchString.
+ * @param aSearchString keywords to be searched for.
+ * @param aDefaultSearchField Default field where the keywords are searched from.
+ * @return Estimated number of documents containing aSearchString.
+ *
+ * @note Client is notified on completion of this call via HandleSearchResults signal.
+ */
+ void searchAsync(QString aSearchString, QString aDefaultSearchField=NULL) THROWS_EXCEPTION;
+
+ /**
+ * Synchronously get the document with index aIndex.
+ * @param aIndex Index of document to be retrieved
+ * @return A pointer to CpixDocument that has been retrieved. Null on error.
+ *
+ * @note This should be called only after the synchronous search call has returned
+ * and aIndex should be between 0 and estimated count returned by Search().
+ */
+ CpixDocument* document(int aIndex) THROWS_EXCEPTION;
+
+ /**
+ * Asynchronously get the document with index aIndex.
+ * @param aIndex Index of document to be retrieved
+ *
+ * @note This should be called only after the synchronous search call has returned
+ * and aIndex should be between 0 and estimated count returned by Search().
+ */
+ void documentAsync(int aIndex) THROWS_EXCEPTION;
+
+ /**
+ * Synchronously get the count,aCount of batch documens with index aIndex.
+ * @param aIndex starting Index of document to be retrieved
+ * @param aCount number of documents requested
+ * @param aReturnDoc number of documents returned
+ * @return A double pointer to CpixDocument that has been retrieved. Null on error.
+ *
+ * @note This should be called only after the synchronous search call has returned
+ * and aIndex should be between 0 and estimated count returned by Search().
+ * It is the client duty to free the memory allocated for the returned CpixDocument**
+ * deallocation of the memory can be done based on the value returned in aReturnDoc
+ */
+ CpixDocument** batchdocument(int aIndex,int& aReturnDoc, int aCount = 1) THROWS_EXCEPTION;
+
+ /**
+ * Asynchronously get the batch documents with index aIndex.
+ * @param aIndex Starting Index of documents to be retrieved
+ * @param aCount number of documents requested
+ *
+ * @note This should be called only after the synchronous search call has returned
+ * and aIndex should be between 0 and estimated count returned by Search().
+ */
+ void batchdocumentAsync(int aIndex, int aCount = 1) THROWS_EXCEPTION;
+
+ /**
+ * Cancels any outstanding searches.
+ */
+ void cancelSearch();
+
+signals:
+ /**
+ * Notify completion of SetDatabaseAsyc
+ * @param aError Completion (error) code of SetDatabaseAsync
+ */
+ void handleDatabaseSet(int aError);
+
+ /**
+ * Notify completion of SearchAsyc
+ * @param aError Completion (error) code of SearchAsyc
+ * @param aEstimatedResultCount Estimated number of documents found after SearchAsync
+ */
+ void handleSearchResults(int aError, int aEstimatedResultCount);
+
+ /**
+ * Notify completion of documentAsyc
+ * @param aError Completion (error) code of GetDatabaseAsyc
+ * @param aDocument The requested document.
+ */
+ void handleDocument(int aError, CpixDocument* aDocument);
+
+ /**
+ * Notify completion of BatchdocumentAsyc
+ * @param aError Completion (error) code of GetDatabaseAsyc
+ * @param aDocument The requested document.
+ */
+ void handleBatchDocuments(int aError,int aRetCount, CpixDocument** aDocument);
+
+private:
+ /**
+ * Defaul constructor.
+ * Creates a CpixSearcher object and return a pointer to the created object.
+ * @return A pointer to the created instance of CCPixSearcher.
+ */
+ CpixSearcher();
+
+ CpixSearcherPrivate* const iPvtImpl;
+ Q_DECLARE_PRIVATE_D( iPvtImpl, CpixSearcher )
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QTime searchTimer;
+ QTime getDocumentTimer;
+#endif
+ };
+
+#endif //_CPIXSEARCHER_H
--- a/searchsrv_plat/cpix_search_api/inc/qcpixcommon.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2010 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: Qt common search APIs
-*
-*/
-
-
-#ifndef QCPIXCOMMON_H_
-#define QCPIXCOMMON_H_
-
-#ifndef THROWS_EXCEPTION
-#define THROWS_EXCEPTION
-#endif
-
-/**
- * Maximum string length.
- * */
-//@TODO:sai: Is this a sane value?
-const int KMaxStringLength = 256;
-
-#endif /* QCPIXCOMMON_H_ */
--- a/searchsrv_plat/cpix_search_api/inc/qcpixdocument.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2010 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: Qt search document APIs
-*
-*/
-
-#ifndef _QCPIXDOCUMENT_H
-#define _QCPIXDOCUMENT_H
-
-#ifdef BUILD_DLL
-#define DLL_EXPORT Q_DECL_EXPORT
-#else
-#define DLL_EXPORT Q_DECL_IMPORT
-#endif
-
-/**
- * @file
- * @ingroup Qt Search ClientAPI
- * @brief Contains CCPixDocument APIs
- */
-
-#include <QObject>
-
-//Forward Declaration
-class QCPixDocumentPrivate;
-class QCPixDocumentField;
-
-/**
- * @brief Represents the document returned as a result of a search query.
- * @ingroup ClientAPI
- *
- * Link against: QCPixSearchClient.lib
- */
-class DLL_EXPORT QCPixDocument: public QObject
- {
- Q_OBJECT
-public:
- //@TODO: The following enums are copied over from S60. They need to
- // be moved to a common file so that they can be shared by s60, qt and openc.
- /**
- * TStored defines wheter the value is stored to database.
- * If value is stored to database, it can be retrieved from search result.
- */
- enum TStored
- {
- EStoreYes = 1,
- EStoreNo = 2
- };
-
- /**
- * TIndexed defines how the value of the field is indexed.
- * If value is indexed, it can be searched.
- */
- enum TIndexed
- {
- EIndexNo = 16,
- EIndexTokenized = 32,
- EIndexUnTokenized = 64
- };
-
- /**
- * TAggregated defines how the value of the field are exposed
- * for aggregation. Aggregated field can be found with generic searches.
- * If aggregation is not specified, all indexed field are aggeregated by
- * default. Note: that also non-indexed fields can be aggregated.
- */
- enum TAggregated
- {
- EAggregateNo = 1<<30,
- EAggregateYes = 1<<31,
- EAggregateDefault = 0
- };
- /**
- * By default, field value is stored to database and it's indexed as tokenized strings.
- */
- static const TInt KDefaultConfig = EStoreYes | EIndexTokenized | EAggregateDefault;
-
- static const TReal32 KDefaultBoost;
-
-public:
- /**
- * Constructor.
- * Creates a QCPixDocument object and return a pointer to the created object.
- * @return A pointer to the created instance of CCPixDocument.
- */
- static QCPixDocument* newInstance();
-
- /**
- * Destructor
- */
- virtual ~QCPixDocument();
-
- /**
- * Getter: Gets the document identifier.
- * @return document identifier.
- */
- QString docId() const;
-
- /**
- * Getter: Gets the document excert.
- * @return document excerpt.
- */
- QString excerpt() const;
-
- /**
- * Getter: Gets the document's base app class.
- * @return document's base app class.
- */
- QString baseAppClass() const;
-
- /**
- * Getter: Gets the field at aIndex in the document.
- * @param aIndex index of the field that is to be retrieved.
- * @return QCPixDocumentField that was at aIndex.
- */
- const QCPixDocumentField& field( const int aIndex ) const;
-
- /**
- * Getter: Gets the field count.
- * @return The number of the fields in the document.
- */
- int fieldCount() const;
-
- /**
- * Setter: Sets the document identifier for the document.
- * @param aDocId the document identifier to be set.
- */
- void setDocId(const QString aDocId);
-
- /**
- * Setter: Sets the excerpt for the document.
- * @param aExcerpt the excerpt to be set.
- */
- void setExcerpt(const QString aExcerpt);
-
- /**
- * Setter: Sets the base app class for the document.
- * @param aBaseAppClass the base app class to be set.
- */
- void setBaseAppClass(const QString aBaseAppClass);
-
- /**
- * Setter: Adds a field with aName, aValue and aConfig to the document.
- * @param aName The name of the field
- * @param aValue The value of the field
- * @param aConfig The config of the field
- * @return the QCPixDocumentField that was added to the document.
- */
- void addField(const QString aName, const QString aValue, const int aConfig = QCPixDocument::KDefaultConfig);
-
-private:
- /**
- * Default constructor
- */
- QCPixDocument();
-
-private:
- QCPixDocumentPrivate* const iPvtImpl;
- Q_DECLARE_PRIVATE_D( iPvtImpl, QCPixDocument )
- };
-
-#endif //_QCPIXDOCUMENT_H
--- a/searchsrv_plat/cpix_search_api/inc/qcpixdocumentfield.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2010 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: Qt search document field APIs
-*
-*/
-
-#ifndef _QCPIXDOCUMENTFIELD_H
-#define _QCPIXDOCUMENTFIELD_H
-
-#ifdef BUILD_DLL
-#define DLL_EXPORT Q_DECL_EXPORT
-#else
-#define DLL_EXPORT Q_DECL_IMPORT
-#endif
-
-/**
- * @file
- * @ingroup Qt Search ClientAPI
- * @brief Contains CCPixDocument field APIs
- */
-
-#include <QObject>
-
-//Forward decelaration
-class QCPixDocumentFieldPrivate;
-
-/**
- * @brief Represents the fields of documents returned as a result of a search query.
- * @ingroup ClientAPI
- *
- * Link against: QCPixSearchClient.lib
- */
-class DLL_EXPORT QCPixDocumentField: public QObject
- {
- Q_OBJECT
-public:
- /**
- * Constructor.
- * Creates a QCPixDocumentField object and return a pointer to the created object.
- * @param aName Name of the field
- * @param aValue Value of the field
- * @param aConfig Config for the field
- * @return A pointer to the created instance of QCPixDocumentField.
- *
- * @note After using this constructor, the client has to mandatorily call
- * SetDatabase() before invoking any search.
- */
- static QCPixDocumentField* newInstance( const QString aName, const QString aValue, const int aConfig );
-
- /**
- * Destructor.
- */
- virtual ~QCPixDocumentField();
-
- /**
- * Getter: Gets the name of the field.
- * @return The name of the field
- */
- QString name() const;
-
- /**
- * Getter: Gets the Value of the field.
- * @return The value of the field
- */
- QString value() const;
-
- /**
- * Getter: Gets the Config of the field.
- * @return The config of the field
- */
- int config() const;
-
- /**
- * Setter: Sets the Name of the field.
- * @param aName The name of the field
- */
- void setName(const QString aName);
-
- /**
- * Setter: Sets the Value of the field.
- * @param aValue The value of the field
- */
- void setValue(const QString aValue);
-
- /**
- * Setter: Sets the Name of the field.
- * @param aConfig The config of the field
- */
- void setConfig(const int aConfig);
-
-private:
- /**
- * Constructor.
- * Creates a QCPixDocumentField object and return a pointer to the created object.
- * @param aName Name of the field
- * @param aValue Value of the field
- * @param aConfig Config for the field
- * @return A pointer to the created instance of QCPixDocumentField.
- */
- QCPixDocumentField(const QString aName, const QString aValue, const int aConfig);
-
-private:
- QCPixDocumentFieldPrivate* const iPvtImpl;
- Q_DECLARE_PRIVATE_D( iPvtImpl, QCPixDocumentField )
- };
-
-#endif //_QCPIXDOCUMENTFIELD_H
--- a/searchsrv_plat/cpix_search_api/inc/qcpixsearcher.h Tue Jul 06 15:30:04 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2010 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: Qt search APIs
-*
-*/
-
-#ifndef _QCPIXSEARCHER_H
-#define _QCPIXSEARCHER_H
-
-//Uncomment the following line to enable performance measurements
-//#define OST_TRACE_COMPILER_IN_USE
-
-#ifdef OST_TRACE_COMPILER_IN_USE
-
-#include <qdatetime.h>
-#include <qdebug.h>
-#define PERF_SEARCH_START_TIMER searchTimer.start();
-#define PERF_SEARCH_RESTART_TIMER searchTimer.restart();
-#define PERF_SEARCH_ENDLOG qDebug() << "Search QT API took: " << searchTimer.elapsed() << "msec";
-
-#define PERF_GETDOC_START_TIMER getDocumentTimer.start();
-#define PERF_GETDOC_RESTART_TIMER getDocumentTimer.restart();
-#define PERF_GETDOC_ENDLOG qDebug() << "Search QT API took: " << getDocumentTimer.elapsed() << "msec";
-
-#define PERF_TIME_NOW(message) qDebug() << "Search QT API: " << QString(message) << ": " << QTime::currentTime().toString("hh:mm:ss.zzz");
-
-#else
-
-#define PERF_SEARCH_START_TIMER
-#define PERF_SEARCH_RESTART_TIMER
-#define PERF_SEARCH_ENDLOG
-#define PERF_GETDOC_START_TIMER
-#define PERF_GETDOC_RESTART_TIMER
-#define PERF_GETDOC_ENDLOG
-#define PERF_TIME_NOW(message)
-
-#endif
-
-/**
- * @file
- * @ingroup Search Client API fpr Qt Clients
- * @brief Contains CCPixSearcher used for searching
- */
-
-#ifdef BUILD_DLL
-#define DLL_EXPORT Q_DECL_EXPORT
-#else
-#define DLL_EXPORT Q_DECL_IMPORT
-#endif
-
-#include <QObject>
-#include <qcpixcommon.h>
-
-//forward declarations
-class QCPixDocument;
-class QCPixSearcherPrivate;
-
-// CLASS DECLARATION
-/**
- * @brief Used for searching.
- * @ingroup Qt Search Client API
- * Link against: qcpixsearchclient.lib
- *
- * An instance of QCPixSearcher is used to commit search operations.
- *
- * Example code:
- *
- * Usecase 1: Sync calls.
- * \code
- * QCPixSearcher* searcher = QCPixSearcher::newInstance("root");
- * if(searcher){
- * int hitCount = searcher->Search("search for me");
- * for(int i=0; i<hitCount; i++) {
- * QCPixDocument* doc = GetDocument(0);
- * // do something with doc.
- * delete doc;
- * }
- * }
- * \endcode
- *
- * Usecase 2: Sync calls with explicit SetDatabase().
- * \code
- * QCPixSearcher* searcher = QCPixSearcher::newInstance();
- * searcher->SetDatabase("root");
- * int hitCount = searcher->Search("search for me");
- * for(int i=0; i<hitCount; i++) {
- * try{
- * QCPixDocument* doc = GetDocument(i);
- * // do something with doc.
- * delete doc;
- * catch(...){
- * //Do Cleanup
- * }
- * }
- * \endcode
- *
- * Usecase 3: Async Calls
- * \code
- *
- * iCurrentDocumentCount = 0;
- *
- * QCPixSearcher* searcher = QCPixSearcher::newInstance("root");
- * connect(searcher, SIGNAL(handleSearchResults(int,int)), this, SLOT(ClientHandleSearchCompleteSlot(int,int)) );
- * connect(searcher, SIGNAL(handleDocument(int,QCPixDocument*)), this, SLOT(ClientHandleGetDocumentCompleteSlot(int,QCPixDocument*)) );
- * int hitCount = searcher->Search("search for me");
- * GetDocumentAsync( iCurrentDocumentCount++ );
- *
- * ClientClass::ClientHandleGetDocumentCompleteSlot(int aError, QCPixDocument* aDocument){
- * if( KErrNone != aError ){
- * //do something with aDocument
- * }
- * GetDocumentAsync( iCurrentDocumentCount++ ); //Now get the next document.
- * }
- *
- * \endcode
- *
- */
-class DLL_EXPORT QCPixSearcher: public QObject
- {
- Q_OBJECT
-public:
- /**
- * Constructor.
- * Creates a QCPixSearcher object and return a pointer to the created object.
- * @return A pointer to the created instance of CCPixSearcher.
- *
- * @note After using this constructor, the client has to mandatorily call
- * SetDatabase() before invoking any search.
- */
- static QCPixSearcher* newInstance();
-
- /**
- * Overloaded constructor
- * Creates a CCPixSearcher object and return a pointer to the created object.
- * If this constructor is used, the client can directly invoke Search without
- * the need to call SetDatabase.
- * @param aBaseAppClass The baseAppClass on which to invoke searches on.
- * @param aDefaultSearchField Default field where the keywords are searched from.
- * @return A pointer to the created instance of CCPixSearcher.
- */
- static QCPixSearcher* newInstance( QString aBaseAppClass, QString aDefaultSearchField=NULL );
-
- /**
- * Destructor.
- */
- ~QCPixSearcher();
-
- /**
- * Synchronously set (or change the database, if already set) on which to invoke subsequent searches.
- * @param aBaseAppClass baseAppClass whose corresponding database is to be opened.
- */
- void setDatabase(QString aBaseAppClass) THROWS_EXCEPTION;
-
- /**
- * Asynchronously set (or change the database, if already set) on which to invoke subsequent searches.
- * @param aBaseAppClass baseAppClass whose corresponding database is to be opened.
- *
- * @note Client is notified on completion of this call via HandleDatabaseSet signal.
- */
- void setDatabaseAsync(QString aBaseAppClass) THROWS_EXCEPTION;
-
- /**
- * Syncronously search for aSearchString.
- * @param aSearchString keywords to be searched for.
- * @param aDefaultSearchField Default field where the keywords are searched from.
- * @return Estimated number of documents containing aSearchString.
- */
- int search(QString aSearchString, QString aDefaultSearchField=NULL) THROWS_EXCEPTION;
-
- /**
- * Asyncronously search for aSearchString.
- * @param aSearchString keywords to be searched for.
- * @param aDefaultSearchField Default field where the keywords are searched from.
- * @return Estimated number of documents containing aSearchString.
- *
- * @note Client is notified on completion of this call via HandleSearchResults signal.
- */
- void searchAsync(QString aSearchString, QString aDefaultSearchField=NULL) THROWS_EXCEPTION;
-
- /**
- * Synchronously get the document with index aIndex.
- * @param aIndex Index of document to be retrieved
- * @return A pointer to QCPixDocument that has been retrieved. Null on error.
- *
- * @note This should be called only after the synchronous search call has returned
- * and aIndex should be between 0 and estimated count returned by Search().
- */
- QCPixDocument* getDocument(int aIndex) THROWS_EXCEPTION;
-
- /**
- * Asynchronously get the document with index aIndex.
- * @param aIndex Index of document to be retrieved
- * @return A pointer to QCPixDocument that has been retrieved. Null on error.
- *
- * @note This should be called only after the synchronous search call has returned
- * and aIndex should be between 0 and estimated count returned by Search().
- */
- void getDocumentAsync(int aIndex) THROWS_EXCEPTION;
-
- /**
- * Cancels any outstanding searches.
- */
- void cancelSearch();
-
-signals:
- /**
- * Notify completion of SetDatabaseAsyc
- * @param aError Completion (error) code of SetDatabaseAsync
- */
- void handleDatabaseSet(int aError);
-
- /**
- * Notify completion of SearchAsyc
- * @param aError Completion (error) code of SearchAsyc
- * @param aEstimatedResultCount Estimated number of documents found after SearchAsync
- */
- void handleSearchResults(int aError, int aEstimatedResultCount);
-
- /**
- * Notify completion of GetDatabaseAsyc
- * @param aError Completion (error) code of GetDatabaseAsyc
- * @param aDocument The requested document.
- */
- void handleDocument(int aError, QCPixDocument* aDocument);
-
-private:
- /**
- * Default Constructor.
- */
- QCPixSearcher();
-
- /**
- * Constructor.
- * Creates a QCPixSearcher object and return a pointer to the created object.
- * @param aDefaultSearchField Default field where the keywords are searched from.
- * @return A pointer to the created instance of CCPixSearcher.
- *
- * @note After using this constructor, the client has to mandatorily call
- * SetDatabase() before invoking any search.
- */
- QCPixSearcher( QString aDefaultSearchField=NULL );
-
- QCPixSearcherPrivate* const iPvtImpl;
- Q_DECLARE_PRIVATE_D( iPvtImpl, QCPixSearcher )
-
-#ifdef OST_TRACE_COMPILER_IN_USE
- QTime searchTimer;
- QTime getDocumentTimer;
-#endif
- };
-
-#endif //_QCPIXSEARCHER_H
--- a/searchsrv_plat/cpix_utility_api/inc/cpixmaindefs.h Tue Jul 06 15:30:04 2010 +0300
+++ b/searchsrv_plat/cpix_utility_api/inc/cpixmaindefs.h Wed Aug 18 10:53:26 2010 +0300
@@ -196,7 +196,7 @@
*/
#define DEFAULT_CPIX_DIR "c:\\Data\\"
#define DEFAULT_CLUCENE_LOCK_DIR "c:\\system\\temp"
-#define DEFAULT_RESOURCE_DIR "c:\\Data\\"
+#define DEFAULT_RESOURCE_DIR "z:\\resource\\cpix"
--- a/sis/cpixsearch.pkg.source Tue Jul 06 15:30:04 2010 +0300
+++ b/sis/cpixsearch.pkg.source Wed Aug 18 10:53:26 2010 +0300
@@ -94,10 +94,10 @@
"$(EPOCROOT)epoc32\release\armv5\$(TARGET)\cpixfileplugin.dll"
-"c:\sys\bin\cpixfileplugin.dll"
-"$(EPOCROOT)epoc32\data\z\resource\plugins\cpixbookmarksplugin.rsc"
--"c:\resource\plugins\cpixbookmarksplugin.rsc"
-"$(EPOCROOT)epoc32\release\armv5\$(TARGET)\cpixbookmarksplugin.dll"
--"c:\sys\bin\cpixbookmarksplugin.dll"
+;"$(EPOCROOT)epoc32\data\z\resource\plugins\cpixbookmarksplugin.rsc"
+;-"c:\resource\plugins\cpixbookmarksplugin.rsc"
+;"$(EPOCROOT)epoc32\release\armv5\$(TARGET)\cpixbookmarksplugin.dll"
+;-"c:\sys\bin\cpixbookmarksplugin.dll"
"$(EPOCROOT)epoc32\data\z\resource\plugins\cpixcalendarplugin.rsc"
-"c:\resource\plugins\cpixcalendarplugin.rsc"
@@ -119,7 +119,7 @@
-"c:\sys\bin\cpixnotesplugin.dll"
-"\epoc32\release\armv5\$(TARGET)\qcpixsearchclient.dll" - "!:\sys\bin\qcpixsearchclient.dll"
+"\epoc32\release\armv5\$(TARGET)\cpixsearch.dll" - "!:\sys\bin\cpixsearch.dll"
@"centrep.sisx", (0x10202BE9)
;Email Plugin