loolwsd/ChildProcessSession.cpp | 8 +++++++- loolwsd/MasterProcessSession.cpp | 1 + loolwsd/protocol.txt | 29 +++++++++++++++++++---------- 3 files changed, 27 insertions(+), 11 deletions(-)
New commits: commit 41da8f144e5adafe98dc1e824541e9dee8249644 Author: Ashod Nakashian <[email protected]> Date: Thu Jan 21 10:11:39 2016 -0500 loolwsd: unload command added Change-Id: I30c42e24aa38c676e4bc6c7e6a2715d9e72430b9 Reviewed-on: https://gerrit.libreoffice.org/21686 Reviewed-by: Ashod Nakashian <[email protected]> Tested-by: Ashod Nakashian <[email protected]> diff --git a/loolwsd/ChildProcessSession.cpp b/loolwsd/ChildProcessSession.cpp index 76c6d46..54a689f 100644 --- a/loolwsd/ChildProcessSession.cpp +++ b/loolwsd/ChildProcessSession.cpp @@ -164,7 +164,8 @@ bool ChildProcessSession::_handleInput(const char *buffer, int length) tokens[0] == "selecttext" || tokens[0] == "selectgraphic" || tokens[0] == "resetselection" || - tokens[0] == "saveas"); + tokens[0] == "saveas" || + tokens[0] == "unload"); { std::unique_lock<std::recursive_mutex> lock(Mutex); @@ -235,6 +236,11 @@ bool ChildProcessSession::_handleInput(const char *buffer, int length) { return saveAs(buffer, length, tokens); } + else if (tokens[0] == "unload") + { + //FIXME: Implement. + assert(!"Not implemented"); + } else { assert(false); diff --git a/loolwsd/MasterProcessSession.cpp b/loolwsd/MasterProcessSession.cpp index a2be65d..efb07b8 100644 --- a/loolwsd/MasterProcessSession.cpp +++ b/loolwsd/MasterProcessSession.cpp @@ -315,6 +315,7 @@ bool MasterProcessSession::_handleInput(const char *buffer, int length) tokens[0] != "status" && tokens[0] != "tile" && tokens[0] != "tilecombine" && + tokens[0] != "unload" && tokens[0] != "uno") { sendTextFrame("error: cmd=" + tokens[0] + " kind=unknown"); diff --git a/loolwsd/protocol.txt b/loolwsd/protocol.txt index b30f180..619a32a 100644 --- a/loolwsd/protocol.txt +++ b/loolwsd/protocol.txt @@ -11,16 +11,6 @@ tiles proactively (guessing what the client might need). Etc. client -> server ================ -loolclient <major.minor[-patch]> - - Upon connection, a client must announce the version number it supports. - Major: an integer that must always match between client and server, - otherwise there are no guarantees of any sensible - compatibility. This is bumped when API changes. - Minor: an integer is more flexible and is at the discretion of either party. - Security fixes that do not alter the API would bump the minor version number. - Patch: an optional string that is informational. - canceltiles All outstanding tile messages from the client to the server are @@ -77,6 +67,16 @@ load [part=<partNumber>] url=<url> [timestamp=<time>] [options=<options>] options are the whole rest of the line, not URL-encoded +loolclient <major.minor[-patch]> + + Upon connection, a client must announce the version number it supports. + Major: an integer that must always match between client and server, + otherwise there are no guarantees of any sensible + compatibility. This is bumped when API changes. + Minor: an integer is more flexible and is at the discretion of either party. + Security fixes that do not alter the API would bump the minor version number. + Patch: an optional string that is informational. + mouse type=<type> x=<x> y=<y> count=<count> <type> is 'buttondown', 'buttonup' or 'move', others are numbers. @@ -114,6 +114,15 @@ tile part=<partNumber> width=<width> height=<height> tileposx=<xpos> tileposy=<y All parameters are numbers. +unload [save|force] + + unloads the document. + + if 'save' is specified, the document is saved before unloading, + otherwise, changes are discarded. + if other users have the document open, and save not specified, + 'force' is necessary to discard changes. + uno <command> <command> is a line of text. _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
