diff options
Diffstat (limited to 'common/domain')
-rw-r--r-- | common/domain/applicationdomaintype.cpp | 46 | ||||
-rw-r--r-- | common/domain/applicationdomaintype.h | 58 | ||||
-rw-r--r-- | common/domain/event.h | 3 |
3 files changed, 61 insertions, 46 deletions
diff --git a/common/domain/applicationdomaintype.cpp b/common/domain/applicationdomaintype.cpp index 3cc075b..78a667e 100644 --- a/common/domain/applicationdomaintype.cpp +++ b/common/domain/applicationdomaintype.cpp | |||
@@ -18,10 +18,56 @@ | |||
18 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. | 18 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
19 | */ | 19 | */ |
20 | #include "applicationdomaintype.h" | 20 | #include "applicationdomaintype.h" |
21 | #include "../bufferadaptor.h" | ||
21 | 22 | ||
22 | namespace Akonadi2 { | 23 | namespace Akonadi2 { |
23 | namespace ApplicationDomain { | 24 | namespace ApplicationDomain { |
24 | 25 | ||
26 | ApplicationDomainType::ApplicationDomainType() | ||
27 | :mAdaptor(new MemoryBufferAdaptor()) | ||
28 | { | ||
29 | |||
30 | } | ||
31 | |||
32 | ApplicationDomainType::ApplicationDomainType(const QByteArray &resourceInstanceIdentifier) | ||
33 | :mAdaptor(new MemoryBufferAdaptor()), | ||
34 | mResourceInstanceIdentifier(resourceInstanceIdentifier) | ||
35 | { | ||
36 | |||
37 | } | ||
38 | |||
39 | ApplicationDomainType::ApplicationDomainType(const QByteArray &resourceInstanceIdentifier, const QByteArray &identifier, qint64 revision, const QSharedPointer<BufferAdaptor> &adaptor) | ||
40 | : mAdaptor(adaptor), | ||
41 | mResourceInstanceIdentifier(resourceInstanceIdentifier), | ||
42 | mIdentifier(identifier), | ||
43 | mRevision(revision) | ||
44 | { | ||
45 | } | ||
46 | |||
47 | ApplicationDomainType::ApplicationDomainType(const ApplicationDomainType &other) | ||
48 | { | ||
49 | *this = other; | ||
50 | } | ||
51 | |||
52 | ApplicationDomainType& ApplicationDomainType::operator=(const ApplicationDomainType &other) | ||
53 | { | ||
54 | mAdaptor = other.mAdaptor; | ||
55 | mChangeSet = other.mChangeSet; | ||
56 | mResourceInstanceIdentifier = other.mResourceInstanceIdentifier; | ||
57 | mIdentifier = other.mIdentifier; | ||
58 | mRevision = other.mRevision; | ||
59 | return *this; | ||
60 | } | ||
61 | |||
62 | ApplicationDomainType::~ApplicationDomainType() {} | ||
63 | |||
64 | QVariant ApplicationDomainType::getProperty(const QByteArray &key) const { return mAdaptor->getProperty(key); } | ||
65 | void ApplicationDomainType::setProperty(const QByteArray &key, const QVariant &value){ mChangeSet.insert(key, value); mAdaptor->setProperty(key, value); } | ||
66 | QByteArrayList ApplicationDomainType::changedProperties() const { return mChangeSet.keys(); } | ||
67 | qint64 ApplicationDomainType::revision() const { return mRevision; } | ||
68 | QByteArray ApplicationDomainType::resourceInstanceIdentifier() const { return mResourceInstanceIdentifier; } | ||
69 | QByteArray ApplicationDomainType::identifier() const { return mIdentifier; } | ||
70 | |||
25 | template<> | 71 | template<> |
26 | QByteArray getTypeName<Event>() | 72 | QByteArray getTypeName<Event>() |
27 | { | 73 | { |
diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h index bd7ff65..137eb65 100644 --- a/common/domain/applicationdomaintype.h +++ b/common/domain/applicationdomaintype.h | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <QSharedPointer> | 22 | #include <QSharedPointer> |
23 | #include <QVariant> | 23 | #include <QVariant> |
24 | #include <QByteArray> | 24 | #include <QByteArray> |
25 | #include "../bufferadaptor.h" | 25 | #include "bufferadaptor.h" |
26 | 26 | ||
27 | namespace Akonadi2 { | 27 | namespace Akonadi2 { |
28 | 28 | ||
@@ -39,41 +39,11 @@ class ApplicationDomainType { | |||
39 | public: | 39 | public: |
40 | typedef QSharedPointer<ApplicationDomainType> Ptr; | 40 | typedef QSharedPointer<ApplicationDomainType> Ptr; |
41 | 41 | ||
42 | ApplicationDomainType() | 42 | ApplicationDomainType(); |
43 | :mAdaptor(new MemoryBufferAdaptor()) | 43 | ApplicationDomainType(const QByteArray &resourceInstanceIdentifier); |
44 | { | 44 | ApplicationDomainType(const QByteArray &resourceInstanceIdentifier, const QByteArray &identifier, qint64 revision, const QSharedPointer<BufferAdaptor> &adaptor); |
45 | 45 | ApplicationDomainType(const ApplicationDomainType &other); | |
46 | } | 46 | ApplicationDomainType& operator=(const ApplicationDomainType &other); |
47 | |||
48 | ApplicationDomainType(const QByteArray &resourceInstanceIdentifier) | ||
49 | :mAdaptor(new MemoryBufferAdaptor()), | ||
50 | mResourceInstanceIdentifier(resourceInstanceIdentifier) | ||
51 | { | ||
52 | |||
53 | } | ||
54 | |||
55 | ApplicationDomainType(const QByteArray &resourceInstanceIdentifier, const QByteArray &identifier, qint64 revision, const QSharedPointer<BufferAdaptor> &adaptor) | ||
56 | : mAdaptor(adaptor), | ||
57 | mResourceInstanceIdentifier(resourceInstanceIdentifier), | ||
58 | mIdentifier(identifier), | ||
59 | mRevision(revision) | ||
60 | { | ||
61 | } | ||
62 | |||
63 | ApplicationDomainType(const ApplicationDomainType &other) | ||
64 | { | ||
65 | *this = other; | ||
66 | } | ||
67 | |||
68 | ApplicationDomainType& operator=(const ApplicationDomainType &other) | ||
69 | { | ||
70 | mAdaptor = other.mAdaptor; | ||
71 | mChangeSet = other.mChangeSet; | ||
72 | mResourceInstanceIdentifier = other.mResourceInstanceIdentifier; | ||
73 | mIdentifier = other.mIdentifier; | ||
74 | mRevision = other.mRevision; | ||
75 | return *this; | ||
76 | } | ||
77 | 47 | ||
78 | template <typename DomainType> | 48 | template <typename DomainType> |
79 | static typename DomainType::Ptr getInMemoryRepresentation(const ApplicationDomainType &domainType) | 49 | static typename DomainType::Ptr getInMemoryRepresentation(const ApplicationDomainType &domainType) |
@@ -84,14 +54,14 @@ public: | |||
84 | return QSharedPointer<DomainType>::create(domainType.mResourceInstanceIdentifier, QByteArray(domainType.mIdentifier.constData(), domainType.mIdentifier.size()), domainType.mRevision, memoryAdaptor); | 54 | return QSharedPointer<DomainType>::create(domainType.mResourceInstanceIdentifier, QByteArray(domainType.mIdentifier.constData(), domainType.mIdentifier.size()), domainType.mRevision, memoryAdaptor); |
85 | } | 55 | } |
86 | 56 | ||
87 | virtual ~ApplicationDomainType() {} | 57 | virtual ~ApplicationDomainType(); |
88 | 58 | ||
89 | virtual QVariant getProperty(const QByteArray &key) const { return mAdaptor->getProperty(key); } | 59 | virtual QVariant getProperty(const QByteArray &key) const; |
90 | virtual void setProperty(const QByteArray &key, const QVariant &value){ mChangeSet.insert(key, value); mAdaptor->setProperty(key, value); } | 60 | virtual void setProperty(const QByteArray &key, const QVariant &value); |
91 | virtual QByteArrayList changedProperties() const { return mChangeSet.keys(); } | 61 | virtual QByteArrayList changedProperties() const; |
92 | qint64 revision() const { return mRevision; } | 62 | qint64 revision() const; |
93 | QByteArray resourceInstanceIdentifier() const { return mResourceInstanceIdentifier; } | 63 | QByteArray resourceInstanceIdentifier() const; |
94 | QByteArray identifier() const { return mIdentifier; } | 64 | QByteArray identifier() const; |
95 | 65 | ||
96 | private: | 66 | private: |
97 | QSharedPointer<BufferAdaptor> mAdaptor; | 67 | QSharedPointer<BufferAdaptor> mAdaptor; |
@@ -186,3 +156,5 @@ class TypeImplementation; | |||
186 | 156 | ||
187 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::ApplicationDomainType) | 157 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::ApplicationDomainType) |
188 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr) | 158 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr) |
159 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Event) | ||
160 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Event::Ptr) | ||
diff --git a/common/domain/event.h b/common/domain/event.h index 17a0ad4..f21cd34 100644 --- a/common/domain/event.h +++ b/common/domain/event.h | |||
@@ -63,6 +63,3 @@ public: | |||
63 | 63 | ||
64 | } | 64 | } |
65 | } | 65 | } |
66 | |||
67 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Event) | ||
68 | Q_DECLARE_METATYPE(Akonadi2::ApplicationDomain::Event::Ptr) | ||