Factor out metatype registration.
This commit is contained in:
parent
0d5d1dbad1
commit
74fe419659
|
@ -90,6 +90,7 @@ set(SOURCES
|
||||||
core/globalshortcuts.cpp
|
core/globalshortcuts.cpp
|
||||||
core/gnomeglobalshortcutbackend.cpp
|
core/gnomeglobalshortcutbackend.cpp
|
||||||
core/mergedproxymodel.cpp
|
core/mergedproxymodel.cpp
|
||||||
|
core/metatypes.cpp
|
||||||
core/multisortfilterproxy.cpp
|
core/multisortfilterproxy.cpp
|
||||||
core/musicstorage.cpp
|
core/musicstorage.cpp
|
||||||
core/network.cpp
|
core/network.cpp
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
#include "metatypes.h"
|
||||||
|
|
||||||
|
#include <QMetaType>
|
||||||
|
#include <QNetworkCookie>
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "covers/albumcoverfetcher.h"
|
||||||
|
#include "engines/enginebase.h"
|
||||||
|
#include "globalsearch/searchprovider.h"
|
||||||
|
#include "internet/digitallyimportedclient.h"
|
||||||
|
#include "internet/geolocator.h"
|
||||||
|
#include "internet/somafmservice.h"
|
||||||
|
#include "library/directory.h"
|
||||||
|
#include "playlist/playlist.h"
|
||||||
|
#include "podcasts/podcastepisode.h"
|
||||||
|
#include "podcasts/podcast.h"
|
||||||
|
#include "ui/equalizer.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_DBUS
|
||||||
|
#include <QDBusMetaType>
|
||||||
|
#include "core/mpris2.h"
|
||||||
|
#include "dbus/metatypes.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class GstBuffer;
|
||||||
|
class GstElement;
|
||||||
|
class GstEnginePipeline;
|
||||||
|
class QNetworkReply;
|
||||||
|
|
||||||
|
void RegisterMetaTypes() {
|
||||||
|
qRegisterMetaType<ColumnAlignmentMap>("ColumnAlignmentMap");
|
||||||
|
qRegisterMetaType<const char*>("const char*");
|
||||||
|
qRegisterMetaType<CoverSearchResult>("CoverSearchResult");
|
||||||
|
qRegisterMetaType<CoverSearchResults>("CoverSearchResults");
|
||||||
|
qRegisterMetaType<DigitallyImportedClient::Channel>("DigitallyImportedClient::Channel");
|
||||||
|
qRegisterMetaType<Directory>("Directory");
|
||||||
|
qRegisterMetaType<DirectoryList>("DirectoryList");
|
||||||
|
qRegisterMetaType<Engine::SimpleMetaBundle>("Engine::SimpleMetaBundle");
|
||||||
|
qRegisterMetaType<Engine::State>("Engine::State");
|
||||||
|
qRegisterMetaType<Equalizer::Params>("Equalizer::Params");
|
||||||
|
qRegisterMetaType<Geolocator::LatLng>("Geolocator::LatLng");
|
||||||
|
qRegisterMetaType<GstBuffer*>("GstBuffer*");
|
||||||
|
qRegisterMetaType<GstElement*>("GstElement*");
|
||||||
|
qRegisterMetaType<GstEnginePipeline*>("GstEnginePipeline*");
|
||||||
|
qRegisterMetaType<PlaylistItemList>("PlaylistItemList");
|
||||||
|
qRegisterMetaType<PlaylistItemPtr>("PlaylistItemPtr");
|
||||||
|
qRegisterMetaType<PodcastEpisodeList>("PodcastEpisodeList");
|
||||||
|
qRegisterMetaType<PodcastList>("PodcastList");
|
||||||
|
qRegisterMetaType<QList<CoverSearchResult> >("QList<CoverSearchResult>");
|
||||||
|
qRegisterMetaType<QList<PlaylistItemPtr> >("QList<PlaylistItemPtr>");
|
||||||
|
qRegisterMetaType<QList<PodcastEpisode> >("QList<PodcastEpisode>");
|
||||||
|
qRegisterMetaType<QList<Podcast> >("QList<Podcast>");
|
||||||
|
qRegisterMetaType<QList<QNetworkCookie> >("QList<QNetworkCookie>");
|
||||||
|
qRegisterMetaType<QList<Song> >("QList<Song>");
|
||||||
|
qRegisterMetaType<QNetworkCookie>("QNetworkCookie");
|
||||||
|
qRegisterMetaType<QNetworkReply*>("QNetworkReply*");
|
||||||
|
qRegisterMetaType<QNetworkReply**>("QNetworkReply**");
|
||||||
|
qRegisterMetaType<SearchProvider::ResultList>("SearchProvider::ResultList");
|
||||||
|
qRegisterMetaType<SearchProvider::Result>("SearchProvider::Result");
|
||||||
|
qRegisterMetaType<smart_playlists::GeneratorPtr>("smart_playlists::GeneratorPtr");
|
||||||
|
qRegisterMetaType<SomaFMService::Stream>("SomaFMService::Stream");
|
||||||
|
qRegisterMetaType<SongList>("SongList");
|
||||||
|
qRegisterMetaType<Song>("Song");
|
||||||
|
qRegisterMetaTypeStreamOperators<DigitallyImportedClient::Channel>("DigitallyImportedClient::Channel");
|
||||||
|
qRegisterMetaTypeStreamOperators<Equalizer::Params>("Equalizer::Params");
|
||||||
|
qRegisterMetaTypeStreamOperators<QMap<int, int> >("ColumnAlignmentMap");
|
||||||
|
qRegisterMetaTypeStreamOperators<SomaFMService::Stream>("SomaFMService::Stream");
|
||||||
|
qRegisterMetaType<SubdirectoryList>("SubdirectoryList");
|
||||||
|
qRegisterMetaType<Subdirectory>("Subdirectory");
|
||||||
|
|
||||||
|
#ifdef HAVE_DBUS
|
||||||
|
qDBusRegisterMetaType<QImage>();
|
||||||
|
qDBusRegisterMetaType<TrackMetadata>();
|
||||||
|
qDBusRegisterMetaType<TrackIds>();
|
||||||
|
qDBusRegisterMetaType<QList<QByteArray> >();
|
||||||
|
#endif
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
#ifndef METATYPES_H
|
||||||
|
#define METATYPES_H
|
||||||
|
|
||||||
|
void RegisterMetaTypes();
|
||||||
|
|
||||||
|
#endif
|
62
src/main.cpp
62
src/main.cpp
|
@ -31,27 +31,18 @@
|
||||||
#include "core/database.h"
|
#include "core/database.h"
|
||||||
#include "core/logging.h"
|
#include "core/logging.h"
|
||||||
#include "core/mac_startup.h"
|
#include "core/mac_startup.h"
|
||||||
|
#include "core/metatypes.h"
|
||||||
#include "core/network.h"
|
#include "core/network.h"
|
||||||
#include "core/networkproxyfactory.h"
|
#include "core/networkproxyfactory.h"
|
||||||
#include "core/potranslator.h"
|
#include "core/potranslator.h"
|
||||||
#include "core/song.h"
|
#include "core/song.h"
|
||||||
#include "core/ubuntuunityhack.h"
|
#include "core/ubuntuunityhack.h"
|
||||||
#include "core/utilities.h"
|
#include "core/utilities.h"
|
||||||
#include "covers/albumcoverfetcher.h"
|
|
||||||
#include "covers/amazoncoverprovider.h"
|
#include "covers/amazoncoverprovider.h"
|
||||||
#include "covers/discogscoverprovider.h"
|
#include "covers/discogscoverprovider.h"
|
||||||
#include "covers/coverproviders.h"
|
#include "covers/coverproviders.h"
|
||||||
#include "engines/enginebase.h"
|
#include "engines/enginebase.h"
|
||||||
#include "globalsearch/searchprovider.h"
|
|
||||||
#include "internet/digitallyimportedclient.h"
|
|
||||||
#include "internet/geolocator.h"
|
|
||||||
#include "internet/somafmservice.h"
|
|
||||||
#include "library/directory.h"
|
|
||||||
#include "playlist/playlist.h"
|
|
||||||
#include "podcasts/podcast.h"
|
|
||||||
#include "podcasts/podcastepisode.h"
|
|
||||||
#include "smartplaylists/generator.h"
|
#include "smartplaylists/generator.h"
|
||||||
#include "ui/equalizer.h"
|
|
||||||
#include "ui/iconloader.h"
|
#include "ui/iconloader.h"
|
||||||
#include "ui/mainwindow.h"
|
#include "ui/mainwindow.h"
|
||||||
#include "ui/systemtrayicon.h"
|
#include "ui/systemtrayicon.h"
|
||||||
|
@ -63,7 +54,6 @@
|
||||||
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QLibraryInfo>
|
#include <QLibraryInfo>
|
||||||
#include <QNetworkCookie>
|
|
||||||
#include <QNetworkProxyFactory>
|
#include <QNetworkProxyFactory>
|
||||||
#include <QSslSocket>
|
#include <QSslSocket>
|
||||||
#include <QSqlDatabase>
|
#include <QSqlDatabase>
|
||||||
|
@ -99,17 +89,13 @@ using boost::scoped_ptr;
|
||||||
#ifdef HAVE_DBUS
|
#ifdef HAVE_DBUS
|
||||||
#include "core/mpris.h"
|
#include "core/mpris.h"
|
||||||
#include "core/mpris2.h"
|
#include "core/mpris2.h"
|
||||||
#include "dbus/metatypes.h"
|
|
||||||
#include <QDBusArgument>
|
#include <QDBusArgument>
|
||||||
#include <QDBusConnection>
|
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
|
|
||||||
QDBusArgument& operator<< (QDBusArgument& arg, const QImage& image);
|
QDBusArgument& operator<< (QDBusArgument& arg, const QImage& image);
|
||||||
const QDBusArgument& operator>> (const QDBusArgument& arg, QImage& image);
|
const QDBusArgument& operator>> (const QDBusArgument& arg, QImage& image);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class GstEnginePipeline;
|
|
||||||
|
|
||||||
// Load sqlite plugin on windows and mac.
|
// Load sqlite plugin on windows and mac.
|
||||||
#ifdef HAVE_STATIC_SQLITE
|
#ifdef HAVE_STATIC_SQLITE
|
||||||
# include <QtPlugin>
|
# include <QtPlugin>
|
||||||
|
@ -259,46 +245,7 @@ int main(int argc, char *argv[]) {
|
||||||
g_type_init();
|
g_type_init();
|
||||||
g_set_application_name(QCoreApplication::applicationName().toLocal8Bit());
|
g_set_application_name(QCoreApplication::applicationName().toLocal8Bit());
|
||||||
|
|
||||||
qRegisterMetaType<CoverSearchResult>("CoverSearchResult");
|
RegisterMetaTypes();
|
||||||
qRegisterMetaType<QList<CoverSearchResult> >("QList<CoverSearchResult>");
|
|
||||||
qRegisterMetaType<CoverSearchResults>("CoverSearchResults");
|
|
||||||
qRegisterMetaType<Directory>("Directory");
|
|
||||||
qRegisterMetaType<DirectoryList>("DirectoryList");
|
|
||||||
qRegisterMetaType<Subdirectory>("Subdirectory");
|
|
||||||
qRegisterMetaType<SubdirectoryList>("SubdirectoryList");
|
|
||||||
qRegisterMetaType<Song>("Song");
|
|
||||||
qRegisterMetaType<QList<Song> >("QList<Song>");
|
|
||||||
qRegisterMetaType<SongList>("SongList");
|
|
||||||
qRegisterMetaType<PlaylistItemPtr>("PlaylistItemPtr");
|
|
||||||
qRegisterMetaType<QList<PlaylistItemPtr> >("QList<PlaylistItemPtr>");
|
|
||||||
qRegisterMetaType<PlaylistItemList>("PlaylistItemList");
|
|
||||||
qRegisterMetaType<Engine::State>("Engine::State");
|
|
||||||
qRegisterMetaType<Engine::SimpleMetaBundle>("Engine::SimpleMetaBundle");
|
|
||||||
qRegisterMetaType<Equalizer::Params>("Equalizer::Params");
|
|
||||||
qRegisterMetaTypeStreamOperators<Equalizer::Params>("Equalizer::Params");
|
|
||||||
qRegisterMetaType<const char*>("const char*");
|
|
||||||
qRegisterMetaType<QNetworkReply*>("QNetworkReply*");
|
|
||||||
qRegisterMetaType<QNetworkReply**>("QNetworkReply**");
|
|
||||||
qRegisterMetaType<smart_playlists::GeneratorPtr>("smart_playlists::GeneratorPtr");
|
|
||||||
qRegisterMetaType<ColumnAlignmentMap>("ColumnAlignmentMap");
|
|
||||||
qRegisterMetaTypeStreamOperators<QMap<int, int> >("ColumnAlignmentMap");
|
|
||||||
qRegisterMetaType<QNetworkCookie>("QNetworkCookie");
|
|
||||||
qRegisterMetaType<QList<QNetworkCookie> >("QList<QNetworkCookie>");
|
|
||||||
qRegisterMetaType<SearchProvider::Result>("SearchProvider::Result");
|
|
||||||
qRegisterMetaType<SearchProvider::ResultList>("SearchProvider::ResultList");
|
|
||||||
qRegisterMetaType<DigitallyImportedClient::Channel>("DigitallyImportedClient::Channel");
|
|
||||||
qRegisterMetaType<SomaFMService::Stream>("SomaFMService::Stream");
|
|
||||||
qRegisterMetaTypeStreamOperators<DigitallyImportedClient::Channel>("DigitallyImportedClient::Channel");
|
|
||||||
qRegisterMetaTypeStreamOperators<SomaFMService::Stream>("SomaFMService::Stream");
|
|
||||||
qRegisterMetaType<QList<Podcast> >("QList<Podcast>");
|
|
||||||
qRegisterMetaType<QList<PodcastEpisode> >("QList<PodcastEpisode>");
|
|
||||||
qRegisterMetaType<PodcastList>("PodcastList");
|
|
||||||
qRegisterMetaType<PodcastEpisodeList>("PodcastEpisodeList");
|
|
||||||
qRegisterMetaType<Geolocator::LatLng>("Geolocator::LatLng");
|
|
||||||
|
|
||||||
qRegisterMetaType<GstBuffer*>("GstBuffer*");
|
|
||||||
qRegisterMetaType<GstElement*>("GstElement*");
|
|
||||||
qRegisterMetaType<GstEnginePipeline*>("GstEnginePipeline*");
|
|
||||||
|
|
||||||
#ifdef HAVE_LIBLASTFM
|
#ifdef HAVE_LIBLASTFM
|
||||||
lastfm::ws::ApiKey = LastFMService::kApiKey;
|
lastfm::ws::ApiKey = LastFMService::kApiKey;
|
||||||
|
@ -458,11 +405,6 @@ int main(int argc, char *argv[]) {
|
||||||
OSD osd(tray_icon.get(), &app);
|
OSD osd(tray_icon.get(), &app);
|
||||||
|
|
||||||
#ifdef HAVE_DBUS
|
#ifdef HAVE_DBUS
|
||||||
qDBusRegisterMetaType<QImage>();
|
|
||||||
qDBusRegisterMetaType<TrackMetadata>();
|
|
||||||
qDBusRegisterMetaType<TrackIds>();
|
|
||||||
qDBusRegisterMetaType<QList<QByteArray> >();
|
|
||||||
|
|
||||||
mpris::Mpris mpris(&app);
|
mpris::Mpris mpris(&app);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue