I have problems with generating proper include for dbus iface on Windows.
In kdepimlibs/akonadi we have the following lines:
<cmakelists>
set(akonadi_xml
${AKONADI_DBUS_INTERFACES_DIR}/org.kde.Akonadi.NotificationManager.xml)
set_source_files_properties(${akonadi_xml} PROPERTIES INCLUDE
"notificationmessage_p.h")
qt4_add_dbus_interface( akonadikde_LIB_SRC ${akonadi_xml}
notificationmanagerinterface )
</cmakelists>
This generates notificationmanagerinterface.h and .cpp.
The second line should prepend #include "notificationmessage_p.h" to the
former, but on windows the command line was:
dbusxml2cpp -m -p notificationmanagerinterface
C:/kde4/share/dbus-1/interfaces/org.kde.Akonadi.NotificationManager.xml
The effect is that Akonadi::NotificationMessage::List is undefined:
<errmsg>
[ 0%] Building CXX object
akonadi/CMakeFiles/akonadi-kde.dir/notificationmanagerinterface.obj
notificationmanagerinterface.cpp
c:\kde4\tmp\kdepimlibs-20080202\work\msvc2005-debug\akonadi\notificationmanagerinterface.h(40)
: error C2653: 'Akonadi'
: is not a class or namespace name
</errmsg>
Attached the generated file.
cmake 2.4.8.
--
regards / pozdrawiam, Jaroslaw Staniek
Sponsored by OpenOffice Polska (http://www.openoffice.com.pl/en) to work on
Kexi & KOffice (http://www.kexi.pl/en, http://www.koffice.org/kexi)
KDE Libraries for MS Windows (http://windows.kde.org)
/*
* This file was generated by dbusxml2cpp version 0.6
* Command line was: dbusxml2cpp -m -p notificationmanagerinterface
C:/kde4/share/dbus-1/interfaces/org.kde.Akonadi.NotificationManager.xml
*
* dbusxml2cpp is Copyright (C) 2006 Trolltech ASA. All rights reserved.
*
* This is an auto-generated file.
* Do not edit! All changes made to it will be lost.
*/
#ifndef NOTIFICATIONMANAGERINTERFACE_H_1209662990
#define NOTIFICATIONMANAGERINTERFACE_H_1209662990
#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>
/*
* Proxy class for interface org.kde.Akonadi.NotificationManager
*/
class OrgKdeAkonadiNotificationManagerInterface: public QDBusAbstractInterface
{
Q_OBJECT
public:
static inline const char *staticInterfaceName()
{ return "org.kde.Akonadi.NotificationManager"; }
public:
OrgKdeAkonadiNotificationManagerInterface(const QString &service, const
QString &path, const QDBusConnection &connection, QObject *parent = 0);
~OrgKdeAkonadiNotificationManagerInterface();
public Q_SLOTS: // METHODS
Q_SIGNALS: // SIGNALS
void notify(const Akonadi::NotificationMessage::List & message);
};
namespace org {
namespace kde {
namespace Akonadi {
typedef ::OrgKdeAkonadiNotificationManagerInterface NotificationManager;
}
}
}
#endif
_______________________________________________
Kde-windows mailing list
Kde-windows@kde.org
https://mail.kde.org/mailman/listinfo/kde-windows