Imported Upstream version 0.1.2
[platform/upstream/snapper.git] / server / Types.h
1 /*
2  * Copyright (c) 2012 Novell, Inc.
3  *
4  * All Rights Reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of version 2 of the GNU General Public License as published
8  * by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, contact Novell, Inc.
17  *
18  * To contact Novell about this file by physical or electronic mail, you may
19  * find current contact information at www.novell.com.
20  */
21
22
23 #include <unistd.h>
24 #include <stdlib.h>
25 #include <string.h>
26 #include <dbus/dbus.h>
27
28 #include <string>
29 #include <list>
30
31 #include <snapper/Snapper.h>
32 #include <snapper/Snapshot.h>
33 #include <snapper/File.h>
34 #include <dbus/DBusMessage.h>
35
36
37 using std::string;
38 using std::list;
39
40 using namespace snapper;
41
42
43 namespace DBus
44 {
45     template <> struct TypeInfo<ConfigInfo> { static const char* signature; };
46     template <> struct TypeInfo<Snapshot> { static const char* signature; };
47     template <> struct TypeInfo<File> { static const char* signature; };
48
49     Hoho& operator<<(Hoho& hoho, const ConfigInfo& data);
50
51     Hihi& operator>>(Hihi& hihi, SnapshotType& data);
52     Hoho& operator<<(Hoho& hoho, SnapshotType data);
53
54     Hoho& operator<<(Hoho& hoho, const Snapshot& data);
55
56     Hoho& operator<<(Hoho& hoho, const Snapshots& data);
57
58     Hoho& operator<<(Hoho& hoho, const File& data);
59
60     Hoho& operator<<(Hoho& hoho, const Files& data);
61
62 }