summaryrefslogtreecommitdiffstats
path: root/common/domain/contact.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-21 13:09:46 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-21 13:13:56 +0100
commit7a98c9853726ed09abd35a447f9854c5459a855d (patch)
tree50aa14c43ab616529d35fdf91f6ed8d69887c8ab /common/domain/contact.cpp
parenta2a4d09cbd42d3de8380ee0061a80cdc0bfb4e6c (diff)
downloadsink-7a98c9853726ed09abd35a447f9854c5459a855d.tar.gz
sink-7a98c9853726ed09abd35a447f9854c5459a855d.zip
Move type implementations in one place
Having them separated is rather pointless (since we need one for every type, and all types are the interface of sink, as one), and caused quite a bit of friction when adding new types. This will also make it easier to change things for all types.
Diffstat (limited to 'common/domain/contact.cpp')
-rw-r--r--common/domain/contact.cpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/common/domain/contact.cpp b/common/domain/contact.cpp
deleted file mode 100644
index 01f9144..0000000
--- a/common/domain/contact.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
1/*
2 * Copyright (C) 2017 Sandro Knauß <knauss@kolabsys.com>
3 * Copyright (C) 2017 Christian Mollekopf <mollekopf@kolabsys.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the
17 * Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20#include "contact.h"
21
22#include <QVector>
23#include <QByteArray>
24#include <QString>
25
26#include "../propertymapper.h"
27#include "../typeindex.h"
28#include "entity_generated.h"
29
30#include "contact_generated.h"
31
32using namespace Sink::ApplicationDomain;
33
34void TypeImplementation<Contact>::configure(TypeIndex &index)
35{
36 index.addProperty<QByteArray>(Contact::Uid::name);
37}
38
39void TypeImplementation<Contact>::configure(ReadPropertyMapper<Buffer> &propertyMapper)
40{
41 propertyMapper.addMapping<Contact::Uid, Buffer>(&Buffer::uid);
42 propertyMapper.addMapping<Contact::Fn, Buffer>(&Buffer::fn);
43 propertyMapper.addMapping<Contact::Emails, Buffer>(&Buffer::emails);
44 propertyMapper.addMapping<Contact::Vcard, Buffer>(&Buffer::vcard);
45 propertyMapper.addMapping<Contact::Addressbook, Buffer>(&Buffer::addressbook);
46}
47
48void TypeImplementation<Contact>::configure(WritePropertyMapper<BufferBuilder> &propertyMapper)
49{
50 propertyMapper.addMapping<Contact::Uid>(&BufferBuilder::add_uid);
51 propertyMapper.addMapping<Contact::Fn>(&BufferBuilder::add_fn);
52 propertyMapper.addMapping<Contact::Emails>(&BufferBuilder::add_emails);
53 propertyMapper.addMapping<Contact::Vcard>(&BufferBuilder::add_vcard);
54 propertyMapper.addMapping<Contact::Addressbook>(&BufferBuilder::add_addressbook);
55}
56
57void TypeImplementation<Contact>::configure(IndexPropertyMapper &)
58{
59
60}