summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorNicolas "Pixel" Noble <pixel@nobis-crew.org>2013-01-09 05:03:10 +0100
committerNicolas "Pixel" Noble <pixel@nobis-crew.org>2013-01-09 05:03:10 +0100
commit8ecfc19a5fff07065d893145b55921752754a708 (patch)
treea3e1cd1ab796bead20ce35f7ffe20232090ca6df /includes
parent4e4e10fdfe9f2e43c2fbb875422e5b658bd8d0b7 (diff)
Disabling generating traces for task switches, and adding a move constructor for exceptions.
Diffstat (limited to 'includes')
-rw-r--r--includes/Exceptions.h5
-rw-r--r--includes/Task.h4
2 files changed, 5 insertions, 4 deletions
diff --git a/includes/Exceptions.h b/includes/Exceptions.h
index d7856fe..5cdb232 100644
--- a/includes/Exceptions.h
+++ b/includes/Exceptions.h
@@ -10,9 +10,10 @@ namespace Balau {
class GeneralException {
public:
- GeneralException(const char * msg, const char * details = NULL) : m_msg(::strdup(msg)) { setDetails(details); genTrace(); }
- GeneralException(const String & msg, const char * details = NULL) : m_msg(msg.strdup()) { setDetails(details); genTrace(); }
+ GeneralException(const char * msg, const char * details = NULL, bool notrace = false) : m_msg(::strdup(msg)) { setDetails(details); if (!notrace) genTrace(); }
+ GeneralException(const String & msg, const char * details = NULL, bool notrace = false) : m_msg(msg.strdup()) { setDetails(details); if (!notrace) genTrace(); }
GeneralException(const GeneralException & e) : m_msg(strdup(e.m_msg)), m_trace(e.m_trace) { setDetails(e.m_details); }
+ GeneralException(GeneralException && e) : m_msg(e.m_msg), m_trace(e.m_trace), m_details(e.m_details) { e.m_msg = e.m_details = NULL; }
~GeneralException() { if (m_msg) free(m_msg); }
const char * getMsg() const { return m_msg; }
const char * getDetails() const { return m_details; }
diff --git a/includes/Task.h b/includes/Task.h
index 86bbce1..b7931e6 100644
--- a/includes/Task.h
+++ b/includes/Task.h
@@ -15,7 +15,7 @@ namespace Events { class BaseEvent; };
class EAgain : public GeneralException {
public:
- EAgain(Events::BaseEvent * evt) : GeneralException("Try Again"), m_evt(evt) { }
+ EAgain(Events::BaseEvent * evt) : GeneralException("Try Again", NULL, true), m_evt(evt) { }
Events::BaseEvent * getEvent() { return m_evt; }
private:
Events::BaseEvent * m_evt;
@@ -23,7 +23,7 @@ class EAgain : public GeneralException {
class TaskSwitch : public GeneralException {
public:
- TaskSwitch() : GeneralException("Task Switch") { }
+ TaskSwitch() : GeneralException("Task Switch", NULL, true) { }
};
class TaskMan;