[REVIEW] Nepomuk query service to be moved to kdebase

Sebastian Trüg strueg at mandriva.com
Wed Sep 3 18:43:57 BST 2008


On Wednesday 03 September 2008 15:07:04 Alexander Neundorf wrote:
> On Wednesday 03 September 2008, Sebastian Trüg wrote:
> > I just moved the Nepomuk query service to kdereview.
>
> ...
>
> > * What about the interfaces? They are used by the service and should be
> > used by the client, too (once set_source_files_properties works for dbus
> > interfaces in cmake)
>
> Can you be more specific what you want to do and what the problem is ?

oh, sure. Actually I was a bit unfair here. I forgot that the command works 
with cmake 2.6, the include parameter is properly passed to the qdbusxml2cpp 
call:

set_source_files_properties(
  ${CMAKE_CURRENT_SOURCE_DIR}/../interfaces/org.kde.nepomuk.QueryService.xml
  PROPERTIES INCLUDE "query.h")
qt4_add_dbus_interface(nepomukqueryclient_SRC
  ${CMAKE_CURRENT_SOURCE_DIR}/../interfaces/org.kde.nepomuk.QueryService.xml
  queryserviceinterface)

The resulting problem is with metatypeid. The service interface needs a 
metatype id for Query but qdbusxml2cpp does not create that automatically. On 
the other hand, adding it to query.h gets me into real trouble (looks like 
using Q_DECLARE_METATYPE in a header is not a good idea at all. Only idea I 
had just now would be an include file that only contains the 
Q_DECLARE_METATYPE and add that as an INCLUDE property, too...):

[  3%] [  7%] Building CXX object 
nepomuk/queryservice/lib/CMakeFiles/nepomukquery.dir/query.o
Building CXX object 
nepomuk/queryservice/lib/CMakeFiles/nepomukquery.dir/queryparser.o
[ 11%] Building CXX object 
nepomuk/queryservice/lib/CMakeFiles/nepomukquery.dir/dbusoperators.o
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.h:30: 
error: expected constructor, destructor, or type conversion 
before 'namespace'
/home/kde4dev/kde/dev/qt/4/include/QtCore/qurl.h:56: error: expected 
constructor, destructor, or type conversion before 'typedef'
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:121: 
error: 'Nepomuk::Search::QueryParser' has not been declared
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp: 
In function 'Nepomuk::Search::Query parseQuery(const QString&)':
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:123: 
error: 'QueryParser' was not declared in this scope
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:123: 
error: expected `;' before 'parser'
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:124: 
error: 'parser' was not declared in this scope
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp: 
At global scope:
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:128: 
error: 'Nepomuk::Search::QueryParser' has not been declared
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:129: 
error: expected unqualified-id before '{' token
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:136: 
error: 'Nepomuk::Search::QueryParser' has not been declared
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:136: 
error: ISO C++ forbids declaration of 'QueryParser' with no type
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp: 
In function 'int QueryParser()':
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:137: 
error: only constructors take base initializers
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:137: 
error: expected type-specifier before 'Private'
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:137: 
error: expected `)' before 'Private'
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:139: 
error: 'd' was not declared in this scope
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp: 
At global scope:
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:144: 
error: expected constructor, destructor, or type conversion before '::' token
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:150: 
error: 'Nepomuk::Search::QueryParser' has not been declared
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp: 
In function 'Nepomuk::Search::Query parse(const QString&)':
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:155: 
error: 'Term' was not declared in this scope
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:155: 
error: template argument 1 is invalid
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:155: 
error: invalid type in declaration before ';' token
/home/trueg/kde/dev/kde/src/4/kdereview/nepomuk/queryservice/lib/queryparser.cpp:168: 
error: expected `;' before 'term'
make[2]: *** [nepomuk/queryservice/lib/CMakeFiles/nepomukquery.dir/query.o] 
Error 1
make[2]: *** Waiting for unfinished jobs....
[...]




More information about the kde-core-devel mailing list