diff --git a/core/delayManager/CMakeLists.txt b/core/delayManager/CMakeLists.txt
index f9ccb57..96f4cef 100644
--- a/core/delayManager/CMakeLists.txt
+++ b/core/delayManager/CMakeLists.txt
@@ -5,6 +5,8 @@ set(SOURCE_FILES
infoforuser.cpp
owncardinternal.cpp
owninfoforuser.cpp
+ contact.cpp
+ info.cpp
)
set(HEADER_FILES
@@ -14,6 +16,8 @@ set(HEADER_FILES
infoforuser.h
owncardinternal.h
owninfoforuser.h
+ contact.h
+ info.h
)
target_sources(squawk PRIVATE
diff --git a/core/delayManager/cardinternal.cpp b/core/delayManager/cardinternal.cpp
index c7a599a..c9ed203 100644
--- a/core/delayManager/cardinternal.cpp
+++ b/core/delayManager/cardinternal.cpp
@@ -16,17 +16,13 @@
#include "cardinternal.h"
-Core::CardInternal::CardInternal(Job::Id p_id, const QString& p_jid) :
- Job(p_id, Type::cardInternal),
- jid(p_id)
+Core::DelayManager::CardInternal::CardInternal(Id p_id, const QString& p_jid) :
+ Job(p_id, Type::cardInternal),
+ Contact(p_id, p_jid, Type::cardInternal)
{}
-Core::CardInternal::CardInternal(Job::Id p_id, const QString& p_jid, Job::Type p_type) :
- Job(p_id, p_type),
- jid(p_id)
-{}
-Core::CardInternal::CardInternal(const Core::CardInternal& other) :
+Core::DelayManager::CardInternal::CardInternal(const CardInternal& other) :
Job(other),
- jid(other.jid)
+ Contact(other)
{}
diff --git a/core/delayManager/cardinternal.h b/core/delayManager/cardinternal.h
index a95f0ba..17dd1ba 100644
--- a/core/delayManager/cardinternal.h
+++ b/core/delayManager/cardinternal.h
@@ -14,28 +14,24 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-#ifndef CORE_CARDINTERNAL_H
-#define CORE_CARDINTERNAL_H
+#ifndef CORE_DELAYMANAGER_CARDINTERNAL_H
+#define CORE_DELAYMANAGER_CARDINTERNAL_H
#include
-#include "job.h"
+#include "contact.h"
namespace Core {
+namespace DelayManager {
-class CardInternal : public Job {
-protected:
- CardInternal(Job::Id id, const QString& jid, Job::Type type);
-
+class CardInternal : public Contact {
public:
- CardInternal(Job::Id id, const QString& jid);
+ CardInternal(Id id, const QString& jid);
CardInternal(const CardInternal& other);
-
- const QString jid;
-
};
+}
}
-#endif // CORE_CARDINTERNAL_H
+#endif // CORE_DELAYMANAGER_CARDINTERNAL_H
diff --git a/core/delayManager/contact.cpp b/core/delayManager/contact.cpp
new file mode 100644
index 0000000..286c8bd
--- /dev/null
+++ b/core/delayManager/contact.cpp
@@ -0,0 +1,26 @@
+// Squawk messenger.
+// Copyright (C) 2019 Yury Gubich
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+#include "contact.h"
+
+Core::DelayManager::Contact::Contact(const Contact& other):
+ Job(other),
+ jid(other.jid) {}
+
+
+Core::DelayManager::Contact::Contact(Id p_id, const QString& p_jid, Type p_type):
+ Job(p_id, p_type),
+ jid(p_jid) {}
diff --git a/core/delayManager/contact.h b/core/delayManager/contact.h
new file mode 100644
index 0000000..c136525
--- /dev/null
+++ b/core/delayManager/contact.h
@@ -0,0 +1,39 @@
+// Squawk messenger.
+// Copyright (C) 2019 Yury Gubich
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+#ifndef CORE_DELAYMANAGER_CONTACT_H
+#define CORE_DELAYMANAGER_CONTACT_H
+
+#include
+
+#include "job.h"
+
+namespace Core {
+namespace DelayManager {
+
+class Contact : public virtual Job {
+protected:
+ Contact(Id id, const QString& jid, Type type);
+ Contact(const Contact& other);
+
+public:
+ const QString jid;
+};
+
+}
+}
+
+#endif // CORE_DELAYMANAGER_CONTACT_H
diff --git a/core/delayManager/delaymanager.cpp b/core/delayManager/delaymanager.cpp
index 6ebc85d..906724f 100644
--- a/core/delayManager/delaymanager.cpp
+++ b/core/delayManager/delaymanager.cpp
@@ -21,7 +21,7 @@
#include "owncardinternal.h"
#include "owninfoforuser.h"
-Core::DelayManager::DelayManager(Job::Id mpj, QObject* parent) :
+Core::DelayManager::Manager::Manager(Job::Id mpj, QObject* parent) :
QObject(parent),
maxParallelJobs(mpj),
nextJobId(1),
@@ -33,13 +33,23 @@ Core::DelayManager::DelayManager(Job::Id mpj, QObject* parent) :
ownInfoJobId(0),
scheduledVCards(),
requestedVCards(),
+#ifdef WITH_OMEMO
requestedBundles()
+#endif
{
}
-Core::DelayManager::~DelayManager() {}
+Core::DelayManager::Manager::~Manager() {
+ for (const std::pair& pair : runningJobs) {
+ delete pair.second;
+ }
-Core::Job::Id Core::DelayManager::getNextJobId() {
+ for (Job* job : jobSequence) {
+ delete job;
+ }
+}
+
+Core::Job::Id Core::DelayManager::Manager::getNextJobId() {
Job::Id id = nextJobId++;
if (id == 0)
id = nextJobId++;
@@ -47,7 +57,7 @@ Core::Job::Id Core::DelayManager::getNextJobId() {
return id;
}
-void Core::DelayManager::getInfo(const QString& jid) {
+void Core::DelayManager::Manager::getInfo(const QString& jid) {
Job* job = nullptr;
#ifdef WITH_OMEMO
std::map::const_iterator bitr = requestedBundles.find(jid);
@@ -58,13 +68,13 @@ void Core::DelayManager::getInfo(const QString& jid) {
job = getVCardJob(jid);
if (job != nullptr) {
- if (job->getType() == Job::Type::cardInternal)
+ if (job->type == Job::Type::cardInternal)
replaceJob(new InfoForUser(job->id, jid));
} else
scheduleJob(new InfoForUser(getNextJobId(), jid));
}
-void Core::DelayManager::getOwnInfo() {
+void Core::DelayManager::Manager::getOwnInfo() {
if (ownInfoJobId == 0) {
if (ownVCardJobId != 0)
replaceJob(new OwnInfoForUser(ownVCardJobId));
@@ -73,18 +83,18 @@ void Core::DelayManager::getOwnInfo() {
}
}
-void Core::DelayManager::getVCard(const QString& jid) {
+void Core::DelayManager::Manager::getVCard(const QString& jid) {
Job* job = getVCardJob(jid);
if (job == nullptr)
scheduleJob(new CardInternal(getNextJobId(), jid));
}
-void Core::DelayManager::getOwnVCard() {
+void Core::DelayManager::Manager::getOwnVCard() {
if (ownInfoJobId == 0)
scheduleJob(new OwnCardInternal(getNextJobId()));
}
-Core::Job* Core::DelayManager::getVCardJob(const QString& jid) {
+Core::Job* Core::DelayManager::Manager::getVCardJob(const QString& jid) {
Job* job = nullptr;
std::map::const_iterator sitr = scheduledVCards.find(jid);
if (sitr == scheduledVCards.end()) {
@@ -97,16 +107,16 @@ Core::Job* Core::DelayManager::getVCardJob(const QString& jid) {
return job;
}
-void Core::DelayManager::preScheduleJob(Core::Job* job) {
- switch (job->getType()) {
+void Core::DelayManager::Manager::preScheduleJob(Core::Job* job) {
+ switch (job->type) {
case Job::Type::cardInternal:
- scheduledVCards.emplace(static_cast(job)->jid, job->id);
+ scheduledVCards.emplace(dynamic_cast(job)->jid, job->id);
break;
case Job::Type::ownCardInternal:
ownVCardJobId = job->id;
break;
case Job::Type::infoForUser:
- scheduledVCards.emplace(static_cast(job)->jid, job->id);
+ scheduledVCards.emplace(dynamic_cast(job)->jid, job->id);
break;
case Job::Type::ownInfoForUser:
ownVCardJobId = job->id;
@@ -115,7 +125,7 @@ void Core::DelayManager::preScheduleJob(Core::Job* job) {
}
}
-void Core::DelayManager::scheduleJob(Core::Job* job) {
+void Core::DelayManager::Manager::scheduleJob(Core::Job* job) {
preScheduleJob(job);
if (runningJobs.size() < maxParallelJobs) {
executeJob(job);
@@ -124,11 +134,11 @@ void Core::DelayManager::scheduleJob(Core::Job* job) {
}
}
-void Core::DelayManager::preExecuteJob(Core::Job* job) {
- switch (job->getType()) {
+void Core::DelayManager::Manager::preExecuteJob(Core::Job* job) {
+ switch (job->type) {
case Job::Type::cardInternal:
case Job::Type::infoForUser: {
- CardInternal* cij = static_cast(job);
+ Contact* cij = dynamic_cast(job);
requestedVCards.emplace(cij->jid, job->id);
scheduledVCards.erase(cij->jid);
}
@@ -139,13 +149,13 @@ void Core::DelayManager::preExecuteJob(Core::Job* job) {
}
}
-void Core::DelayManager::executeJob(Core::Job* job) {
+void Core::DelayManager::Manager::executeJob(Core::Job* job) {
preExecuteJob(job);
runningJobs.emplace(job->id, job);
- switch (job->getType()) {
+ switch (job->type) {
case Job::Type::cardInternal:
case Job::Type::infoForUser:
- emit requestVCard(static_cast(job)->jid);
+ emit requestVCard(dynamic_cast(job)->jid);
break;
case Job::Type::ownInfoForUser:
case Job::Type::ownCardInternal:
@@ -154,7 +164,7 @@ void Core::DelayManager::executeJob(Core::Job* job) {
}
}
-void Core::DelayManager::jobIsDone(Job::Id jobId) {
+void Core::DelayManager::Manager::jobIsDone(Job::Id jobId) {
std::map::const_iterator itr = runningJobs.find(jobId);
if (itr == runningJobs.end()) {
throw 8573; //not supposed to happen, ever
@@ -169,7 +179,7 @@ void Core::DelayManager::jobIsDone(Job::Id jobId) {
}
}
-void Core::DelayManager::replaceJob(Core::Job* job) {
+void Core::DelayManager::Manager::replaceJob(Core::Job* job) {
preScheduleJob(job);
std::map::iterator itr = runningJobs.find(job->id);
if (itr != runningJobs.end()) {
@@ -187,7 +197,63 @@ void Core::DelayManager::replaceJob(Core::Job* job) {
}
}
-void Core::DelayManager::receivedVCard(const QString& jid, const Shared::VCard& card) {
+void Core::DelayManager::Manager::jobIsCanceled(Core::Job* job, bool wasRunning) {
+ switch (job->type) {
+ case Job::Type::cardInternal: {
+ CardInternal* jb = dynamic_cast(job);
+ if (wasRunning)
+ requestedVCards.erase(jb->jid);
+ else
+ scheduledVCards.erase(jb->jid);
+
+ emit receivedVCard(jb->jid, Shared::VCard());
+ }
+ break;
+ case Job::Type::infoForUser: {
+ InfoForUser* jb = dynamic_cast(job);
+ if (jb->getStage() == InfoForUser::Stage::waitingForVCard) {
+ if (wasRunning)
+ requestedVCards.erase(jb->jid);
+ else
+ scheduledVCards.erase(jb->jid);
+
+ emit receivedVCard(jb->jid, Shared::VCard());
+ }
+ emit receivedInfo(Shared::Info(jb->jid));
+ }
+ break;
+ case Job::Type::ownInfoForUser: {
+ OwnInfoForUser* jb = dynamic_cast(job);
+ if (jb->getStage() == OwnInfoForUser::Stage::waitingForVCard) {
+ ownVCardJobId = 0;
+ emit receivedOwnCard(Shared::VCard());
+ }
+ ownInfoJobId = 0;
+ emit receivedOwnInfo(Shared::Info (""));
+ }
+
+ break;
+ case Job::Type::ownCardInternal:
+ ownVCardJobId = 0;
+ emit receivedOwnCard(Shared::VCard());
+ break;
+ }
+
+ delete job;
+}
+
+void Core::DelayManager::Manager::disconnected() {
+ for (const std::pair pair : runningJobs)
+ jobIsCanceled(pair.second, true);
+
+ for (Job* job : scheduledJobs)
+ jobIsCanceled(job, false);
+
+ runningJobs.clear();
+ scheduledJobs.clear();
+}
+
+void Core::DelayManager::Manager::receivedVCard(const QString& jid, const Shared::VCard& card) {
std::map::const_iterator cardItr = requestedVCards.find(jid);
if (cardItr == requestedVCards.end()) {
throw 8575; //never supposed to happen, the state is not correct;
@@ -195,7 +261,7 @@ void Core::DelayManager::receivedVCard(const QString& jid, const Shared::VCard&
Job::Id jobId = cardItr->second;
requestedVCards.erase(cardItr);
Job* job = runningJobs.at(jobId);
- switch (job->getType()) {
+ switch (job->type) {
case Job::Type::cardInternal:
jobIsDone(jobId);
emit receivedCard(jid, card);
@@ -221,11 +287,11 @@ void Core::DelayManager::receivedVCard(const QString& jid, const Shared::VCard&
}
}
-void Core::DelayManager::ownVCardReceived(const Shared::VCard& card) {
+void Core::DelayManager::Manager::ownVCardReceived(const Shared::VCard& card) {
Job::Id jobId = ownVCardJobId;
ownVCardJobId = 0;
Job* job = runningJobs.at(jobId);
- switch (job->getType()) {
+ switch (job->type) {
case Job::Type::ownCardInternal:
jobIsDone(jobId);
emit receivedOwnCard(card);
@@ -250,6 +316,6 @@ void Core::DelayManager::ownVCardReceived(const Shared::VCard& card) {
}
}
-void Core::DelayManager::receivedBundles(const QString& jid) {
+void Core::DelayManager::Manager::receivedBundles(const QString& jid) {
}
diff --git a/core/delayManager/delaymanager.h b/core/delayManager/delaymanager.h
index e4f3e2a..c3d1da8 100644
--- a/core/delayManager/delaymanager.h
+++ b/core/delayManager/delaymanager.h
@@ -14,8 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-#ifndef CORE_DELAYMANAGER_H
-#define CORE_DELAYMANAGER_H
+#ifndef CORE_DELAYMANAGER_MANAGER_H
+#define CORE_DELAYMANAGER_MANAGER_H
#include
#include
@@ -34,13 +34,14 @@
#include "job.h"
namespace Core {
+namespace DelayManager {
-class DelayManager : public QObject
+class Manager : public QObject
{
Q_OBJECT
public:
- DelayManager(Job::Id maxParallelJobs = 5, QObject* parent = nullptr);
- ~DelayManager();
+ Manager(Job::Id maxParallelJobs = 5, QObject* parent = nullptr);
+ ~Manager();
void getOwnVCard();
void getOwnInfo();
@@ -58,6 +59,7 @@ signals:
void receivedOwnInfo(const Shared::Info& info);
public slots:
+ void disconnected();
void ownVCardReceived(const Shared::VCard& card);
void receivedVCard(const QString& jid, const Shared::VCard& card);
void receivedBundles(const QString& jid);
@@ -67,6 +69,7 @@ private:
void scheduleJob(Job* job);
void preExecuteJob(Job* job);
void executeJob(Job* job);
+ void jobIsCanceled(Job* job, bool wasRunning);
void jobIsDone(Job::Id jobId);
Job::Id getNextJobId();
void replaceJob(Job* job);
@@ -108,9 +111,12 @@ private:
Job::Id ownInfoJobId;
std::map scheduledVCards;
std::map requestedVCards;
+#ifdef WITH_OMEMO
std::map requestedBundles;
+#endif
};
+}
}
-#endif // CORE_DELAYMANAGER_H
+#endif // CORE_DELAYMANAGER_MANAGER_H
diff --git a/core/delayManager/info.cpp b/core/delayManager/info.cpp
new file mode 100644
index 0000000..3b61f63
--- /dev/null
+++ b/core/delayManager/info.cpp
@@ -0,0 +1,34 @@
+// Squawk messenger.
+// Copyright (C) 2019 Yury Gubich
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+#include "info.h"
+
+Core::DelayManager::Info::Info(Id p_id, Type p_type) :
+ Job(p_id, p_type),
+ stage(Stage::waitingForVCard)
+{}
+
+Core::DelayManager::Info::Info(const Info& other) :
+ Job(other),
+ stage(other.stage)
+{}
+
+Core::DelayManager::Info::~Info() {
+}
+
+Core::DelayManager::Info::Stage Core::DelayManager::Info::getStage() const {
+ return stage;
+}
diff --git a/core/delayManager/info.h b/core/delayManager/info.h
new file mode 100644
index 0000000..0c4249a
--- /dev/null
+++ b/core/delayManager/info.h
@@ -0,0 +1,48 @@
+// Squawk messenger.
+// Copyright (C) 2019 Yury Gubich
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+#ifndef CORE_DELAYMANAGER_INFO_H
+#define CORE_DELAYMANAGER_INFO_H
+
+#include "job.h"
+
+namespace Core {
+namespace DelayManager {
+
+class Info : public virtual Job {
+public:
+ enum class Stage {
+ waitingForVCard,
+ waitingForBundles
+ };
+
+protected:
+ Info(Id id, Type type);
+ Info(const Info& other);
+
+public:
+ ~Info();
+
+ Stage getStage() const;
+
+private:
+ Stage stage;
+};
+
+}
+}
+
+#endif // CORE_DELAYMANAGER_INFO_H
diff --git a/core/delayManager/infoforuser.cpp b/core/delayManager/infoforuser.cpp
index 31d0571..fc494fb 100644
--- a/core/delayManager/infoforuser.cpp
+++ b/core/delayManager/infoforuser.cpp
@@ -16,11 +16,15 @@
#include "infoforuser.h"
-Core::InfoForUser::InfoForUser(Job::Id p_id, const QString& p_jid) :
- CardInternal(p_id, p_jid, Type::infoForUser)
+Core::DelayManager::InfoForUser::InfoForUser(Id p_id, const QString& p_jid) :
+ Job(p_id, Type::infoForUser),
+ Contact(p_id, p_jid, Type::infoForUser),
+ Info(p_id, Type::infoForUser)
{}
-Core::InfoForUser::InfoForUser(const Core::InfoForUser& other) :
- CardInternal(other)
+Core::DelayManager::InfoForUser::InfoForUser(const InfoForUser& other) :
+ Job(other),
+ Contact(other),
+ Info(other)
{}
diff --git a/core/delayManager/infoforuser.h b/core/delayManager/infoforuser.h
index 2bc84e4..651d741 100644
--- a/core/delayManager/infoforuser.h
+++ b/core/delayManager/infoforuser.h
@@ -14,19 +14,22 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-#ifndef CORE_INFOFORUSER_H
-#define CORE_INFOFORUSER_H
+#ifndef CORE_DELAYMANAGER_INFOFORUSER_H
+#define CORE_DELAYMANAGER_INFOFORUSER_H
-#include "cardinternal.h"
+#include "contact.h"
+#include "info.h"
namespace Core {
+namespace DelayManager {
-class InfoForUser : public CardInternal {
+class InfoForUser : public Contact, public Info {
public:
- InfoForUser(Job::Id id, const QString& jid);
+ InfoForUser(Id id, const QString& jid);
InfoForUser(const InfoForUser& other);
};
+}
}
-#endif // CORE_INFOFORUSER_H
+#endif // CORE_DELAYMANAGER_INFOFORUSER_H
diff --git a/core/delayManager/job.cpp b/core/delayManager/job.cpp
index 0d4c868..b2d74b2 100644
--- a/core/delayManager/job.cpp
+++ b/core/delayManager/job.cpp
@@ -16,17 +16,13 @@
#include "job.h"
-Core::Job::Job(Core::Job::Id p_id, Core::Job::Type p_type) :
+Core::DelayManager::Job::Job(Id p_id, Type p_type) :
id (p_id),
type (p_type) {}
-Core::Job::Job(const Core::Job& other) :
+Core::DelayManager::Job::Job(const Job& other) :
id(other.id),
type(other.type) {}
-Core::Job::~Job() {}
-
-Core::Job::Type Core::Job::getType() const {
- return type;
-}
+Core::DelayManager::Job::~Job() {}
diff --git a/core/delayManager/job.h b/core/delayManager/job.h
index 6314f48..633f2b2 100644
--- a/core/delayManager/job.h
+++ b/core/delayManager/job.h
@@ -20,6 +20,7 @@
#include
namespace Core {
+namespace DelayManager {
class Job {
public:
@@ -31,20 +32,18 @@ public:
infoForUser,
ownInfoForUser
};
-
+protected:
Job(Id id, Type type);
Job(const Job& other);
+
+public:
virtual ~Job();
const Id id;
-
-public:
- Type getType() const;
-
-protected:
- Type type;
+ const Type type;
};
+}
}
#endif // CORE_DELAYMANAGER_JOB_H
diff --git a/core/delayManager/owncardinternal.cpp b/core/delayManager/owncardinternal.cpp
index 0167516..43ed540 100644
--- a/core/delayManager/owncardinternal.cpp
+++ b/core/delayManager/owncardinternal.cpp
@@ -16,15 +16,15 @@
#include "owncardinternal.h"
-Core::OwnCardInternal::OwnCardInternal(Job::Id p_id) :
+Core::DelayManager::OwnCardInternal::OwnCardInternal(Id p_id) :
Job(p_id, Type::ownCardInternal)
{}
-Core::OwnCardInternal::OwnCardInternal(Job::Id p_id, Job::Type p_type) :
+Core::DelayManager::OwnCardInternal::OwnCardInternal(Id p_id, Type p_type) :
Job(p_id, p_type)
{}
-Core::OwnCardInternal::OwnCardInternal(const Core::OwnCardInternal& other) :
+Core::DelayManager::OwnCardInternal::OwnCardInternal(const OwnCardInternal& other) :
Job(other)
{}
diff --git a/core/delayManager/owncardinternal.h b/core/delayManager/owncardinternal.h
index 296666f..7cca0a0 100644
--- a/core/delayManager/owncardinternal.h
+++ b/core/delayManager/owncardinternal.h
@@ -14,22 +14,24 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-#ifndef CORE_OWNCARDINTERNAL_H
-#define CORE_OWNCARDINTERNAL_H
+#ifndef CORE_DELAYMANAGER_OWNCARDINTERNAL_H
+#define CORE_DELAYMANAGER_OWNCARDINTERNAL_H
#include "job.h"
namespace Core {
+namespace DelayManager {
class OwnCardInternal : public Job {
protected:
- OwnCardInternal(Job::Id id, Job::Type type);
+ OwnCardInternal(Id id, Type type);
public:
- OwnCardInternal(Job::Id id);
+ OwnCardInternal(Id id);
OwnCardInternal(const OwnCardInternal& other);
};
+}
}
-#endif // CORE_OWNCARDINTERNAL_H
+#endif // CORE_DELAYMANAGER_OWNCARDINTERNAL_H
diff --git a/core/delayManager/owninfoforuser.cpp b/core/delayManager/owninfoforuser.cpp
index 12d1f72..396dc49 100644
--- a/core/delayManager/owninfoforuser.cpp
+++ b/core/delayManager/owninfoforuser.cpp
@@ -16,10 +16,12 @@
#include "owninfoforuser.h"
-Core::OwnInfoForUser::OwnInfoForUser(Job::Id p_id) :
- OwnCardInternal(p_id, Type::ownInfoForUser)
+Core::DelayManager::OwnInfoForUser::OwnInfoForUser(Id p_id) :
+ Job(p_id, Type::ownInfoForUser),
+ Info(p_id, Type::ownInfoForUser)
{}
-Core::OwnInfoForUser::OwnInfoForUser(const Core::OwnInfoForUser& other) :
- OwnCardInternal(other)
+Core::DelayManager::OwnInfoForUser::OwnInfoForUser(const OwnInfoForUser& other) :
+ Job(other),
+ Info(other)
{}
diff --git a/core/delayManager/owninfoforuser.h b/core/delayManager/owninfoforuser.h
index a2534e5..80a13b6 100644
--- a/core/delayManager/owninfoforuser.h
+++ b/core/delayManager/owninfoforuser.h
@@ -14,19 +14,22 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-#ifndef CORE_OWNINFOFORUSER_H
-#define CORE_OWNINFOFORUSER_H
+#ifndef CORE_DELAYMANAGER_OWNINFOFORUSER_H
+#define CORE_DELAYMANAGER_OWNINFOFORUSER_H
-#include "owncardinternal.h"
+#include "contact.h"
+#include "info.h"
namespace Core {
+namespace DelayManager {
-class OwnInfoForUser : public OwnCardInternal {
+class OwnInfoForUser : public Info {
public:
- OwnInfoForUser(Job::Id id);
+ OwnInfoForUser(Id id);
OwnInfoForUser(const OwnInfoForUser& other);
};
+}
}
-#endif // CORE_OWNINFOFORUSER_H
+#endif // CORE_DELAYMANAGER_OWNINFOFORUSER_H