Factor out metatype registration.
This commit is contained in:
parent
0d5d1dbad1
commit
74fe419659
|
@ -90,6 +90,7 @@ set(SOURCES
|
|||
core/globalshortcuts.cpp
|
||||
core/gnomeglobalshortcutbackend.cpp
|
||||
core/mergedproxymodel.cpp
|
||||
core/metatypes.cpp
|
||||
core/multisortfilterproxy.cpp
|
||||
core/musicstorage.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/logging.h"
|
||||
#include "core/mac_startup.h"
|
||||
#include "core/metatypes.h"
|
||||
#include "core/network.h"
|
||||
#include "core/networkproxyfactory.h"
|
||||
#include "core/potranslator.h"
|
||||
#include "core/song.h"
|
||||
#include "core/ubuntuunityhack.h"
|
||||
#include "core/utilities.h"
|
||||
#include "covers/albumcoverfetcher.h"
|
||||
#include "covers/amazoncoverprovider.h"
|
||||
#include "covers/discogscoverprovider.h"
|
||||
#include "covers/coverproviders.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 "ui/equalizer.h"
|
||||
#include "ui/iconloader.h"
|
||||
#include "ui/mainwindow.h"
|
||||
#include "ui/systemtrayicon.h"
|
||||
|
@ -63,7 +54,6 @@
|
|||
|
||||
#include <QDir>
|
||||
#include <QLibraryInfo>
|
||||
#include <QNetworkCookie>
|
||||
#include <QNetworkProxyFactory>
|
||||
#include <QSslSocket>
|
||||
#include <QSqlDatabase>
|
||||
|
@ -99,17 +89,13 @@ using boost::scoped_ptr;
|
|||
#ifdef HAVE_DBUS
|
||||
#include "core/mpris.h"
|
||||
#include "core/mpris2.h"
|
||||
#include "dbus/metatypes.h"
|
||||
#include <QDBusArgument>
|
||||
#include <QDBusConnection>
|
||||
#include <QImage>
|
||||
|
||||
QDBusArgument& operator<< (QDBusArgument& arg, const QImage& image);
|
||||
const QDBusArgument& operator>> (const QDBusArgument& arg, QImage& image);
|
||||
#endif
|
||||
|
||||
class GstEnginePipeline;
|
||||
|
||||
// Load sqlite plugin on windows and mac.
|
||||
#ifdef HAVE_STATIC_SQLITE
|
||||
# include <QtPlugin>
|
||||
|
@ -259,46 +245,7 @@ int main(int argc, char *argv[]) {
|
|||
g_type_init();
|
||||
g_set_application_name(QCoreApplication::applicationName().toLocal8Bit());
|
||||
|
||||
qRegisterMetaType<CoverSearchResult>("CoverSearchResult");
|
||||
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*");
|
||||
RegisterMetaTypes();
|
||||
|
||||
#ifdef HAVE_LIBLASTFM
|
||||
lastfm::ws::ApiKey = LastFMService::kApiKey;
|
||||
|
@ -458,11 +405,6 @@ int main(int argc, char *argv[]) {
|
|||
OSD osd(tray_icon.get(), &app);
|
||||
|
||||
#ifdef HAVE_DBUS
|
||||
qDBusRegisterMetaType<QImage>();
|
||||
qDBusRegisterMetaType<TrackMetadata>();
|
||||
qDBusRegisterMetaType<TrackIds>();
|
||||
qDBusRegisterMetaType<QList<QByteArray> >();
|
||||
|
||||
mpris::Mpris mpris(&app);
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue