diff options
Diffstat (limited to 'framework/actions/actionresult.h')
-rw-r--r-- | framework/actions/actionresult.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/framework/actions/actionresult.h b/framework/actions/actionresult.h index e4d3efeb..dcf1a9ec 100644 --- a/framework/actions/actionresult.h +++ b/framework/actions/actionresult.h | |||
@@ -43,6 +43,18 @@ public: | |||
43 | } | 43 | } |
44 | virtual ~ActionResult() {} | 44 | virtual ~ActionResult() {} |
45 | 45 | ||
46 | ActionResult &operator+=(const ActionResult &rhs) | ||
47 | { | ||
48 | if (!error() && rhs.error()) { | ||
49 | setError(rhs.error()); | ||
50 | } | ||
51 | if (isDone() && rhs.isDone()) { | ||
52 | mData->mDone = false; | ||
53 | } | ||
54 | mData = rhs.mData; | ||
55 | return *this; | ||
56 | } | ||
57 | |||
46 | void setDone() { | 58 | void setDone() { |
47 | mData->mDone = true; | 59 | mData->mDone = true; |
48 | } | 60 | } |