diff options
author | Mateusz Piekos <mateuszpiekos@gmail.com> | 2012-07-07 16:49:10 (GMT) |
---|---|---|
committer | Mateusz Piekos <mateuszpiekos@gmail.com> | 2012-07-07 16:49:10 (GMT) |
commit | 2bad2edf797c9fefb1facd2a63c69cce34a0e635 (patch) | |
tree | c71218951d0017d67284531a114a55c3c89d2b90 /Swiften/Whiteboard/WhiteboardClient.h | |
parent | 0071e9ed46775ee4e49ed969099ce08c49c9a07b (diff) | |
download | swift-contrib-2bad2edf797c9fefb1facd2a63c69cce34a0e635.zip swift-contrib-2bad2edf797c9fefb1facd2a63c69cce34a0e635.tar.bz2 |
Added WhiteboardClient with passing simple unit test
Diffstat (limited to 'Swiften/Whiteboard/WhiteboardClient.h')
-rw-r--r-- | Swiften/Whiteboard/WhiteboardClient.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Swiften/Whiteboard/WhiteboardClient.h b/Swiften/Whiteboard/WhiteboardClient.h new file mode 100644 index 0000000..f781e6f --- /dev/null +++ b/Swiften/Whiteboard/WhiteboardClient.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2012 Mateusz Piękos + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <Swiften/Whiteboard/Operations/WhiteboardOperation.h> +#include <list> +#include <utility> + +namespace Swift { + class WhiteboardClient { + public: + /*! + * @return Operation to send + */ + WhiteboardOperation::ref handleLocalOperationReceived(WhiteboardOperation::ref operation); + /*! + * @return pair.first-element to handle locally, pair.second-element to send to server + */ + std::pair<WhiteboardOperation::ref, WhiteboardOperation::ref> handleServerOperationReceived(WhiteboardOperation::ref operation); + + private: + std::list<WhiteboardOperation::ref> localOperations_; + std::list<WhiteboardOperation::ref> serverOperations_; + std::list<WhiteboardOperation::ref> bridge_; + std::string lastSentOperationID_; + }; +} |