diff options
author | Mateusz Piekos <mateuszpiekos@gmail.com> | 2012-07-09 10:15:06 (GMT) |
---|---|---|
committer | Mateusz Piekos <mateuszpiekos@gmail.com> | 2012-07-09 10:15:06 (GMT) |
commit | b4470a58d2f2f50e40eedd0a72a5c36fdcb79ae1 (patch) | |
tree | dfa3a70cd0932f00828e656ea08f5230d823f490 /Swiften/Whiteboard/WhiteboardClient.cpp | |
parent | 2bad2edf797c9fefb1facd2a63c69cce34a0e635 (diff) | |
download | swift-contrib-b4470a58d2f2f50e40eedd0a72a5c36fdcb79ae1.zip swift-contrib-b4470a58d2f2f50e40eedd0a72a5c36fdcb79ae1.tar.bz2 |
Added more complicated WhiteboardClient test and updated this class to pass it
Diffstat (limited to 'Swiften/Whiteboard/WhiteboardClient.cpp')
-rw-r--r-- | Swiften/Whiteboard/WhiteboardClient.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Swiften/Whiteboard/WhiteboardClient.cpp b/Swiften/Whiteboard/WhiteboardClient.cpp index 6b352f5..cc41e85 100644 --- a/Swiften/Whiteboard/WhiteboardClient.cpp +++ b/Swiften/Whiteboard/WhiteboardClient.cpp @@ -6,10 +6,16 @@ #include <Swiften/Whiteboard/WhiteboardClient.h> #include <Swiften/Whiteboard/WhiteboardTransformer.h> +#include <boost/smart_ptr/make_shared.hpp> namespace Swift { WhiteboardOperation::ref WhiteboardClient::handleLocalOperationReceived(WhiteboardOperation::ref operation) { localOperations_.push_back(operation); + if (bridge_.size() > 0) { + WhiteboardOperation::ref op = boost::make_shared<WhiteboardInsertOperation>(*boost::dynamic_pointer_cast<WhiteboardInsertOperation>(operation).get()); + op->setParentID(bridge_.back()->getID()); + bridge_.push_back(op); + } if (lastSentOperationID_.empty()) { lastSentOperationID_ = operation->getID(); @@ -54,6 +60,7 @@ namespace Swift { (*it)->setParentID(previousID); previousID = (*it)->getID(); } + temp->setParentID(localOperations_.back()->getID()); localOperations_.push_back(temp); clientOp = temp; |