summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Piekos <mateuszpiekos@gmail.com>2012-07-26 15:46:45 (GMT)
committerMateusz Piekos <mateuszpiekos@gmail.com>2012-07-26 15:46:45 (GMT)
commit2e9ba0fb5a68abd8fa44d9996ea321a77876af14 (patch)
tree23a1bdf024045ad619af906bf2438dd05fa3c8fe /Swiften/Whiteboard/IncomingWhiteboardSession.cpp
parent833e544490a0e3ff5eeebe44fae2b9a8f98d4a78 (diff)
downloadswift-contrib-2e9ba0fb5a68abd8fa44d9996ea321a77876af14.zip
swift-contrib-2e9ba0fb5a68abd8fa44d9996ea321a77876af14.tar.bz2
Improved handling of operations IDs and transformations
Diffstat (limited to 'Swiften/Whiteboard/IncomingWhiteboardSession.cpp')
-rw-r--r--Swiften/Whiteboard/IncomingWhiteboardSession.cpp43
1 files changed, 41 insertions, 2 deletions
diff --git a/Swiften/Whiteboard/IncomingWhiteboardSession.cpp b/Swiften/Whiteboard/IncomingWhiteboardSession.cpp
index 568bed8..39eb435 100644
--- a/Swiften/Whiteboard/IncomingWhiteboardSession.cpp
+++ b/Swiften/Whiteboard/IncomingWhiteboardSession.cpp
@@ -7,6 +7,10 @@
#include <Swiften/Whiteboard/IncomingWhiteboardSession.h>
#include <Swiften/Elements/WhiteboardPayload.h>
+#include <Swiften/Whiteboard/Operations/WhiteboardInsertOperation.h>
+#include <Swiften/Whiteboard/Operations/WhiteboardDeleteOperation.h>
+#include <Swiften/Whiteboard/Operations/WhiteboardUpdateOperation.h>
+
namespace Swift {
IncomingWhiteboardSession::IncomingWhiteboardSession(const JID& jid, IQRouter* router) : WhiteboardSession(jid, router) {
}
@@ -28,16 +32,51 @@ namespace Swift {
// std::cout << "incoming pos: " << operation->getPos() << std::endl;
// WhiteboardInsertOperation::ref insertOp = boost::dynamic_pointer_cast<WhiteboardInsertOperation>(operation);
WhiteboardOperation::ref op = server.handleClientOperationReceived(operation);
+/* server.print();
+ std::cout << "in1: " << operation->getID() << " " << operation->getPos() << " " << operation->getParentID() << std::endl;
+// std::cout << "sin2: " << op->getID() << " " << op->getPos() << " " << op->getParentID() << std::endl;
//std::cout << "in1: " << operation->getID() << " " << operation->getPos() << " " << operation->getParentID() << std::endl;
- //std::cout << "in2: " << op->getID() << " " << op->getPos() << " " << op->getParentID() << std::endl;
+
+ WhiteboardInsertOperation::ref insertOp = boost::dynamic_pointer_cast<WhiteboardInsertOperation>(op);
+ if (insertOp) {
+ std::cout << "iin2: " << insertOp->getID() << " " << insertOp->getPos() << " " << insertOp->getParentID() << std::endl;
+ }
+
+ WhiteboardUpdateOperation::ref updateOp = boost::dynamic_pointer_cast<WhiteboardUpdateOperation>(op);
+ if (updateOp) {
+ std::cout << "uin2: " << updateOp->getID() << " " << updateOp->getPos() << " " << updateOp->getParentID() << std::endl;
+ }
+
+ WhiteboardDeleteOperation::ref deleteOp = boost::dynamic_pointer_cast<WhiteboardDeleteOperation>(op);
+ if (deleteOp) {
+ std::cout << "din2: " << deleteOp->getID() << " " << deleteOp->getPos() << " " << deleteOp->getParentID() << std::endl;
+ }*/
+
onOperationReceived(op);
+
WhiteboardPayload::ref payload = boost::make_shared<WhiteboardPayload>();
payload->setOperation(op);
sendPayload(payload);
}
void IncomingWhiteboardSession::sendOperation(WhiteboardOperation::ref operation) {
- //std::cout << "out: " << operation->getID() << " " << operation->getPos() << " " << operation->getParentID()<< std::endl;
+// std::cout << "out: " << operation->getID() << " " << operation->getPos() << " " << operation->getParentID()<< std::endl;
+
+/* WhiteboardInsertOperation::ref insertOp = boost::dynamic_pointer_cast<WhiteboardInsertOperation>(operation);
+ if (insertOp) {
+ std::cout << "iout: " << insertOp->getID() << " " << insertOp->getPos() << " " << insertOp->getParentID() << std::endl;
+ }
+
+ WhiteboardUpdateOperation::ref updateOp = boost::dynamic_pointer_cast<WhiteboardUpdateOperation>(operation);
+ if (updateOp) {
+ std::cout << "uout: " << updateOp->getID() << " " << updateOp->getPos() << " " << updateOp->getParentID() << std::endl;
+ }
+
+ WhiteboardDeleteOperation::ref deleteOp = boost::dynamic_pointer_cast<WhiteboardDeleteOperation>(operation);
+ if (deleteOp) {
+ std::cout << "dout: " << deleteOp->getID() << " " << deleteOp->getPos() << " " << deleteOp->getParentID() << std::endl;
+ }
+*/
server.handleLocalOperationReceived(operation);
WhiteboardPayload::ref payload = boost::make_shared<WhiteboardPayload>();
payload->setOperation(operation);