Repo tests
[qwerkisync] / DBBackends / DBBackends.cpp
1 /*
2  * Copyright (C) 2011, Jamie Thompson
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public
6  * License as published by the Free Software Foundation; either
7  * version 3 of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public
15  * License along with this program; If not, see
16  * <http://www.gnu.org/licenses/>.
17  */
18
19 #include "AllBackends.h"
20
21 #include "Fmms.h"
22 #include "RtcomEventLogger.h"
23
24 #include <QList>
25
26 using namespace DBBackends;
27
28 AllBackends::AllBackends(const Settings &settings) :
29         m_Settings(settings)
30 {
31 }
32
33 const QList<iDBBackend *> & AllBackends::Backends() const
34 {
35         const static QList<iDBBackend *> availableBackends(QList<iDBBackend *>()
36                 << new RtcomEventLogger(CurrentSettings())
37                 << new Fmms(CurrentSettings()));
38
39         return availableBackends;
40 }
41
42 void AllBackends::Process(EventProcessors::iEventProcessor &eventProcessor)
43 {
44         foreach(iDBBackend *backend, Backends())
45                 backend->Process(eventProcessor);
46 }
47
48 void AllBackends::Insert(EventTypes::iEvent &event, const NumberToNameLookup &numberToNameLookup)
49 {
50         foreach(iDBBackend *backend, Backends())
51                 backend->Insert(event, numberToNameLookup);
52 }