fix(libsearch):解决编译问题

This commit is contained in:
iaom 2023-11-27 11:20:16 +08:00 committed by xibowen
parent f72a8307f5
commit fb6ee3810d
4 changed files with 76 additions and 75 deletions

View File

@ -22,26 +22,25 @@
#include <QDBusArgument> #include <QDBusArgument>
#include "application-property.h" #include "application-property.h"
namespace UkuiSearch { using namespace UkuiSearch;
QDBusArgument &operator << (QDBusArgument &argument, const UkuiSearch::ApplicationProperty::Property &property) {
QDBusArgument &operator << (QDBusArgument &argument, const ApplicationProperty::Property &property) {
argument.beginStructure(); argument.beginStructure();
argument << static_cast<int>(property); argument << static_cast<int>(property);
argument.endStructure(); argument.endStructure();
return argument; return argument;
} }
const QDBusArgument &operator >> (const QDBusArgument &argument, ApplicationProperty::Property &property) { const QDBusArgument &operator >> (const QDBusArgument &argument, UkuiSearch::ApplicationProperty::Property &property) {
int value; int value;
argument.beginStructure(); argument.beginStructure();
argument >> value; argument >> value;
argument.endStructure(); argument.endStructure();
property = static_cast<ApplicationProperty::Property>(value); property = static_cast<ApplicationProperty::Property>(value);
return argument; return argument;
} }
QDBusArgument &operator << (QDBusArgument &argument, const ApplicationPropertyMap &appPropertyInfo) QDBusArgument &operator << (QDBusArgument &argument, const ApplicationPropertyMap &appPropertyInfo)
{ {
argument.beginMap(/*qMetaTypeId<ApplicationProperty::Property>()*/QVariant::Int, qMetaTypeId<QDBusVariant>()); argument.beginMap(/*qMetaTypeId<ApplicationProperty::Property>()*/QVariant::Int, qMetaTypeId<QDBusVariant>());
for (auto i = appPropertyInfo.constBegin(); i != appPropertyInfo.constEnd(); ++i) { for (auto i = appPropertyInfo.constBegin(); i != appPropertyInfo.constEnd(); ++i) {
QDBusVariant dbusVariant(i.value()); QDBusVariant dbusVariant(i.value());
@ -51,10 +50,10 @@ namespace UkuiSearch {
} }
argument.endMap(); argument.endMap();
return argument; return argument;
} }
const QDBusArgument &operator >> (const QDBusArgument &argument, ApplicationPropertyMap &appPropertyInfo) const QDBusArgument &operator >> (const QDBusArgument &argument, ApplicationPropertyMap &appPropertyInfo)
{ {
argument.beginMap(); argument.beginMap();
while (!argument.atEnd()) { while (!argument.atEnd()) {
int key; int key;
@ -66,10 +65,10 @@ namespace UkuiSearch {
} }
argument.endMap(); argument.endMap();
return argument; return argument;
} }
QDBusArgument &operator << (QDBusArgument &argument, const ApplicationInfoMap &appInfo) QDBusArgument &operator << (QDBusArgument &argument, const ApplicationInfoMap &appInfo)
{ {
argument.beginMap(QVariant::String, qMetaTypeId<ApplicationPropertyMap>()); argument.beginMap(QVariant::String, qMetaTypeId<ApplicationPropertyMap>());
for (auto i = appInfo.constBegin(); i != appInfo.constEnd(); ++i) { for (auto i = appInfo.constBegin(); i != appInfo.constEnd(); ++i) {
argument.beginMapEntry(); argument.beginMapEntry();
@ -78,10 +77,10 @@ namespace UkuiSearch {
} }
argument.endMap(); argument.endMap();
return argument; return argument;
} }
const QDBusArgument &operator >> (const QDBusArgument &argument, ApplicationInfoMap &appInfo) const QDBusArgument &operator >> (const QDBusArgument &argument, ApplicationInfoMap &appInfo)
{ {
argument.beginMap(); argument.beginMap();
while (!argument.atEnd()) { while (!argument.atEnd()) {
QString key; QString key;
@ -93,8 +92,5 @@ namespace UkuiSearch {
} }
argument.endMap(); argument.endMap();
return argument; return argument;
}
} }
#endif // APPINFODBUSARGUMENT_H #endif // APPINFODBUSARGUMENT_H

View File

@ -25,10 +25,11 @@ static AppInfoTable *global_intance = nullptr;
AppInfoTablePrivate::AppInfoTablePrivate(AppInfoTable *parent) : QObject(parent), q(parent), m_database(new QSqlDatabase()) AppInfoTablePrivate::AppInfoTablePrivate(AppInfoTable *parent) : QObject(parent), q(parent), m_database(new QSqlDatabase())
{ {
//dbus接收数据库信号 //dbus接收数据库信号
qRegisterMetaType<ApplicationPropertyMap>("ApplicationPropertyMap"); qRegisterMetaType<UkuiSearch::ApplicationProperty::Property>("ApplicationProperty::Property");
qRegisterMetaType<UkuiSearch::ApplicationInfoMap>("ApplicationInfoMap");
qRegisterMetaType<UkuiSearch::ApplicationPropertyMap>("ApplicationPropertyMap");
qDBusRegisterMetaType<UkuiSearch::ApplicationProperty::Property>();
qDBusRegisterMetaType<ApplicationPropertyMap>(); qDBusRegisterMetaType<ApplicationPropertyMap>();
qRegisterMetaType<ApplicationInfoMap>("ApplicationInfoMap");
qDBusRegisterMetaType<ApplicationInfoMap>(); qDBusRegisterMetaType<ApplicationInfoMap>();
m_signalTransInterface = new QDBusInterface("com.ukui.search.appdb.service", m_signalTransInterface = new QDBusInterface("com.ukui.search.appdb.service",

View File

@ -24,6 +24,7 @@
#include <QMap> #include <QMap>
#include <QVector> #include <QVector>
#include <QVariant> #include <QVariant>
#include <QDBusArgument>
namespace UkuiSearch { namespace UkuiSearch {
namespace ApplicationProperty { namespace ApplicationProperty {
@ -61,5 +62,7 @@ typedef QMap<ApplicationProperty::Property, QVariant> ApplicationPropertyMap;
typedef QMap<QString, ApplicationPropertyMap> ApplicationInfoMap; // desktopFile->ApplicationPropertyMap typedef QMap<QString, ApplicationPropertyMap> ApplicationInfoMap; // desktopFile->ApplicationPropertyMap
} }
Q_DECLARE_METATYPE(UkuiSearch::ApplicationProperty::Property) Q_DECLARE_METATYPE(UkuiSearch::ApplicationProperty::Property)
Q_DECLARE_METATYPE(UkuiSearch::ApplicationPropertyMap)
Q_DECLARE_METATYPE(UkuiSearch::ApplicationInfoMap) Q_DECLARE_METATYPE(UkuiSearch::ApplicationInfoMap)
Q_DECLARE_METATYPE(UkuiSearch::ApplicationProperties)
#endif // APPLICATIONPROPERTY_H #endif // APPLICATIONPROPERTY_H

View File

@ -35,6 +35,7 @@ namespace UkuiSearch {
class FileContentSearchTask : public SearchTaskPluginIface class FileContentSearchTask : public SearchTaskPluginIface
{ {
Q_OBJECT
public: public:
explicit FileContentSearchTask(QObject *parent = nullptr); explicit FileContentSearchTask(QObject *parent = nullptr);