File indexing completed on 2024-05-12 05:09:32

0001 /***************************************************************************
0002     Copyright (C) 2009-2020 Robby Stephenson <robby@periapsis.org>
0003  ***************************************************************************/
0004 
0005 /***************************************************************************
0006  *                                                                         *
0007  *   This program is free software; you can redistribute it and/or         *
0008  *   modify it under the terms of the GNU General Public License as        *
0009  *   published by the Free Software Foundation; either version 2 of        *
0010  *   the License or (at your option) version 3 or any later version        *
0011  *   accepted by the membership of KDE e.V. (or its successor approved     *
0012  *   by the membership of KDE e.V.), which shall act as a proxy            *
0013  *   defined in Section 14 of version 3 of the license.                    *
0014  *                                                                         *
0015  *   This program is distributed in the hope that it will be useful,       *
0016  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
0017  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
0018  *   GNU General Public License for more details.                          *
0019  *                                                                         *
0020  *   You should have received a copy of the GNU General Public License     *
0021  *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
0022  *                                                                         *
0023  ***************************************************************************/
0024 
0025 #include <config.h>
0026 
0027 #include "fetcherinitializer.h"
0028 #include "amazonfetcher.h"
0029 #include "imdbfetcher.h"
0030 #ifdef HAVE_YAZ
0031 #include "z3950fetcher.h"
0032 #endif
0033 #include "srufetcher.h"
0034 #include "entrezfetcher.h"
0035 #include "execexternalfetcher.h"
0036 #include "ibsfetcher.h"
0037 #include "isbndbfetcher.h"
0038 #include "gcstarpluginfetcher.h"
0039 #include "crossreffetcher.h"
0040 #include "arxivfetcher.h"
0041 #include "bibsonomyfetcher.h"
0042 #include "googlescholarfetcher.h"
0043 #include "discogsfetcher.h"
0044 #include "themoviedbfetcher.h"
0045 #include "musicbrainzfetcher.h"
0046 #include "giantbombfetcher.h"
0047 #include "openlibraryfetcher.h"
0048 #include "multifetcher.h"
0049 #include "filmasterfetcher.h"
0050 #include "hathitrustfetcher.h"
0051 #include "vndbfetcher.h"
0052 #include "dvdfrfetcher.h"
0053 #include "doubanfetcher.h"
0054 #include "bibliosharefetcher.h"
0055 #include "moviemeterfetcher.h"
0056 #include "googlebookfetcher.h"
0057 #include "springerfetcher.h"
0058 #include "allocinefetcher.h"
0059 #include "thegamesdbfetcher.h"
0060 #include "dblpfetcher.h"
0061 #include "mrlookupfetcher.h"
0062 #include "boardgamegeekfetcher.h"
0063 #include "bedethequefetcher.h"
0064 #include "omdbfetcher.h"
0065 #include "kinopoiskfetcher.h"
0066 #include "videogamegeekfetcher.h"
0067 #include "dbcfetcher.h"
0068 #include "igdbfetcher.h"
0069 #include "kinofetcher.h"
0070 #include "mobygamesfetcher.h"
0071 #include "comicvinefetcher.h"
0072 #include "kinoteatrfetcher.h"
0073 #include "colnectfetcher.h"
0074 #include "numistafetcher.h"
0075 #include "tvmazefetcher.h"
0076 #include "upcitemdbfetcher.h"
0077 #include "thetvdbfetcher.h"
0078 #include "rpggeekfetcher.h"
0079 #include "gaminghistoryfetcher.h"
0080 #include "filmaffinityfetcher.h"
0081 #include "itunesfetcher.h"
0082 #include "opdsfetcher.h"
0083 #include "adsfetcher.h"
0084 #include "vgcollectfetcher.h"
0085 
0086 /**
0087  * Ideally, I'd like these initializations to be in each cpp file for each collection type
0088  * but as a static variable, they weren't always being initialized, so do it the manual way.
0089  */
0090 Tellico::Fetch::FetcherInitializer::FetcherInitializer() {
0091   RegisterFetcher<Fetch::AmazonFetcher> registerAmazon(Amazon);
0092   RegisterFetcher<Fetch::IMDBFetcher> registerIMDB(IMDB);
0093 #ifdef HAVE_YAZ
0094   RegisterFetcher<Fetch::Z3950Fetcher> registerZ3950(Z3950);
0095 #endif
0096   RegisterFetcher<Fetch::SRUFetcher> registerSRU(SRU);
0097   RegisterFetcher<Fetch::EntrezFetcher> registerEntrez(Entrez);
0098   RegisterFetcher<Fetch::ExecExternalFetcher> registerExternal(ExecExternal);
0099   RegisterFetcher<Fetch::IBSFetcher> registerIBS(IBS);
0100   RegisterFetcher<Fetch::ISBNdbFetcher> registerISBNdb(ISBNdb);
0101   RegisterFetcher<Fetch::GCstarPluginFetcher> registerGCstar(GCstarPlugin);
0102   RegisterFetcher<Fetch::CrossRefFetcher> registerCrossRef(CrossRef);
0103   RegisterFetcher<Fetch::ArxivFetcher> registerArxiv(Arxiv);
0104   RegisterFetcher<Fetch::MusicBrainzFetcher> registerMB(MusicBrainz);
0105   RegisterFetcher<Fetch::GiantBombFetcher> registerBomb(GiantBomb);
0106   RegisterFetcher<Fetch::OpenLibraryFetcher> registerOpenLibrary(OpenLibrary);
0107   RegisterFetcher<Fetch::MultiFetcher> registerMulti(Multiple);
0108   RegisterFetcher<Fetch::DiscogsFetcher> registerDiscogs(Discogs);
0109   RegisterFetcher<Fetch::TheMovieDBFetcher> registerTMDB(TheMovieDB);
0110   RegisterFetcher<Fetch::FilmasterFetcher> registerFilmaster(Filmaster);
0111   RegisterFetcher<Fetch::GoogleBookFetcher> registerGoogleBook(GoogleBook);
0112   RegisterFetcher<Fetch::HathiTrustFetcher> registerHathiTrust(HathiTrust);
0113   RegisterFetcher<Fetch::VNDBFetcher> registerVNDB(VNDB);
0114   RegisterFetcher<Fetch::AllocineFetcher> registerAllocine(Allocine);
0115   RegisterFetcher<Fetch::MovieMeterFetcher> registerMovieMeter(MovieMeter);
0116   RegisterFetcher<Fetch::DVDFrFetcher> registerDVDFr(DVDFr);
0117   RegisterFetcher<Fetch::DoubanFetcher> registerDouban(Douban);
0118   RegisterFetcher<Fetch::BiblioShareFetcher> registerBiblioShare(BiblioShare);
0119   RegisterFetcher<Fetch::SpringerFetcher> registerSpringer(Springer);
0120   RegisterFetcher<Fetch::TheGamesDBFetcher> registerTheGamesDB(TheGamesDB);
0121   RegisterFetcher<Fetch::DBLPFetcher> registerDBLP(DBLP);
0122   RegisterFetcher<Fetch::BoardGameGeekFetcher> registerBGG(BoardGameGeek);
0123   RegisterFetcher<Fetch::BedethequeFetcher> registerBD(Bedetheque);
0124   RegisterFetcher<Fetch::OMDBFetcher> registerOMDB(OMDB);
0125   RegisterFetcher<Fetch::KinoPoiskFetcher> registerKinoPoisk(KinoPoisk);
0126   RegisterFetcher<Fetch::VideoGameGeekFetcher> registerVGG(VideoGameGeek);
0127   RegisterFetcher<Fetch::DBCFetcher> registerDBC(DBC);
0128   RegisterFetcher<Fetch::IGDBFetcher> registerIGDB(IGDB);
0129   RegisterFetcher<Fetch::KinoFetcher> registerKino(Kino);
0130   RegisterFetcher<Fetch::MobyGamesFetcher> registerMobyGames(MobyGames);
0131   RegisterFetcher<Fetch::ComicVineFetcher> registerComicVine(ComicVine);
0132   RegisterFetcher<Fetch::KinoTeatrFetcher> registerTeatr(KinoTeatr);
0133   RegisterFetcher<Fetch::ColnectFetcher> registerColnect(Colnect);
0134   RegisterFetcher<Fetch::NumistaFetcher> registerNumista(Numista);
0135   RegisterFetcher<Fetch::TVmazeFetcher> registerTVmaze(TVmaze);
0136   RegisterFetcher<Fetch::UPCItemDbFetcher> registerUPCItemDb(UPCItemDb);
0137   RegisterFetcher<Fetch::TheTVDBFetcher> registerTheTVDB(TheTVDB);
0138   RegisterFetcher<Fetch::RPGGeekFetcher> registerRPGGeek(RPGGeek);
0139   RegisterFetcher<Fetch::GamingHistoryFetcher> registerGamingHistory(GamingHistory);
0140   RegisterFetcher<Fetch::FilmAffinityFetcher> registerFilmAffinity(FilmAffinity);
0141   RegisterFetcher<Fetch::ItunesFetcher> registerItunes(Itunes);
0142   RegisterFetcher<Fetch::OPDSFetcher> registerOPDS(OPDS);
0143   RegisterFetcher<Fetch::ADSFetcher> registerADS(ADS);
0144   RegisterFetcher<Fetch::VGCollectFetcher> registerVGCollect(VGCollect);
0145 
0146 // these data sources depend on being able to import bibtex
0147 #ifdef ENABLE_BTPARSE
0148   RegisterFetcher<Fetch::MRLookupFetcher> registerMRLookup(MRLookup);
0149   RegisterFetcher<Fetch::GoogleScholarFetcher> registerGoogle(GoogleScholar);
0150   RegisterFetcher<Fetch::BibsonomyFetcher> registerBibsonomy(Bibsonomy);
0151 #endif
0152 }