Kaydet (Commit) 6aa9d41a authored tarafından jan Iversen's avatar jan Iversen Kaydeden (comit) jan iversen

ios LibreOfficeLight clientCommands added

Add connection between client commands and LOKit.

Change-Id: I2593b3c0b7a82612924bf63c3be85963f5a20d32
Reviewed-on: https://gerrit.libreoffice.org/35434Reviewed-by: 's avatarjan iversen <jani@libreoffice.org>
Tested-by: 's avatarjan iversen <jani@libreoffice.org>
üst b5bef1f7
......@@ -52,7 +52,7 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewPrintManager.swift; sourceTree = "<group>"; };
392ED9B21E5E4B03005C8435 /* ViewPrintManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewPrintManager.swift; path = LibreOfficeLight/ViewPrintManager.swift; sourceTree = SOURCE_ROOT; };
397868D71E59A3EA007F9248 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
397E08FA1E597BD8001374E0 /* LibreOfficeLight.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LibreOfficeLight.app; sourceTree = BUILT_PRODUCTS_DIR; };
397E08FD1E597BD8001374E0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = LibreOfficeLight/AppDelegate.swift; sourceTree = SOURCE_ROOT; };
......@@ -66,13 +66,13 @@
397E091C1E597BD8001374E0 /* LibreOfficeLightUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LibreOfficeLightUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
397E09201E597BD8001374E0 /* LibreOfficeLightUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LibreOfficeLightUITests.swift; path = LibreOfficeLightUITests/LibreOfficeLightUITests.swift; sourceTree = SOURCE_ROOT; };
397E09221E597BD8001374E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = LibreOfficeLightUITests/Info.plist; sourceTree = SOURCE_ROOT; };
3992D8571E5B761700BEA987 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
3992D8591E5B762A00BEA987 /* ViewDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewDocument.swift; sourceTree = "<group>"; };
3992D85B1E5B764A00BEA987 /* SideMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SideMenu.swift; sourceTree = "<group>"; };
3992D85C1E5B764A00BEA987 /* ViewFileManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewFileManager.swift; sourceTree = "<group>"; };
399648461E5B87DC00E73E83 /* ViewProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewProperties.swift; sourceTree = "<group>"; };
399648481E5C4E5500E73E83 /* LO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LO.swift; sourceTree = "<group>"; };
39A83A8D1E5F471C00D0C683 /* lokit-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = "lokit-Bridging-Header.h"; sourceTree = "<group>"; };
3992D8571E5B761700BEA987 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewController.swift; path = LibreOfficeLight/ViewController.swift; sourceTree = SOURCE_ROOT; };
3992D8591E5B762A00BEA987 /* ViewDocument.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewDocument.swift; path = LibreOfficeLight/ViewDocument.swift; sourceTree = SOURCE_ROOT; };
3992D85B1E5B764A00BEA987 /* SideMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SideMenu.swift; path = LibreOfficeLight/SideMenu.swift; sourceTree = SOURCE_ROOT; };
3992D85C1E5B764A00BEA987 /* ViewFileManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewFileManager.swift; path = LibreOfficeLight/ViewFileManager.swift; sourceTree = SOURCE_ROOT; };
399648461E5B87DC00E73E83 /* ViewProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ViewProperties.swift; path = LibreOfficeLight/ViewProperties.swift; sourceTree = SOURCE_ROOT; };
399648481E5C4E5500E73E83 /* LO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LO.swift; path = LibreOfficeLight/LO.swift; sourceTree = SOURCE_ROOT; };
39A83A8D1E5F471C00D0C683 /* lokit-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = "lokit-Bridging-Header.h"; path = "LibreOfficeLight/lokit-Bridging-Header.h"; sourceTree = SOURCE_ROOT; };
39A83A8E1E5F471D00D0C683 /* lokit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lokit.c; path = LibreOfficeLight/lokit.c; sourceTree = SOURCE_ROOT; };
39B084E21E5F0A9600682A59 /* lo.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = lo.xcconfig; path = "../../../../ios-work/workdir/ios/generated/lo.xcconfig"; sourceTree = SOURCE_ROOT; };
39B084E51E5F0BB400682A59 /* fundamentalrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = fundamentalrc; path = "../../../../ios-work/workdir/ios/resources/fundamentalrc"; sourceTree = SOURCE_ROOT; };
......@@ -395,7 +395,8 @@
397868D71E59A3EA007F9248 /* en */,
);
name = LaunchScreen.xib;
sourceTree = "<group>";
path = LibreOfficeLight;
sourceTree = SOURCE_ROOT;
};
397E09011E597BD8001374E0 /* Main.storyboard */ = {
isa = PBXVariantGroup;
......
......@@ -23,7 +23,7 @@ class LOkit
func Initialize()
{
LOkit_ClientCommand()
}
func DeleteCurrentDocument()
......
......@@ -8,4 +8,6 @@
// Bridge functions to LibreOfficeKit
int LOkit_Init();
int LOkit_Init();
int LOkit_ClientCommand();
......@@ -117,7 +117,7 @@ extern "C" void lo_initialize(NSString *documentPath)
// CLIENT COMMAND INTERFACE
static bool client_canceltiles(char *input, int argc, char *args[])
static bool client_canceltiles(char *input, char *args[])
{
// command: canceltiles
// arguments: NONE
......@@ -130,7 +130,7 @@ static bool client_canceltiles(char *input, int argc, char *args[])
return true;
}
static bool client_clientvisiblearea(char *input, int argc, char *args[])
static bool client_clientvisiblearea(char *input, char *args[])
{
// command: clientvisiblearea
// arguments: x=<x>
......@@ -140,7 +140,7 @@ static bool client_clientvisiblearea(char *input, int argc, char *args[])
return true;
}
static bool client_closedocument(char *input, int argc, char *args[])
static bool client_closedocument(char *input, char *args[])
{
// command: closedocument
// arguments: None
......@@ -152,14 +152,14 @@ static bool client_closedocument(char *input, int argc, char *args[])
return true;
}
static bool client_commandvalues(char *input, int argc, char *args[])
static bool client_commandvalues(char *input, char *args[])
{
// command: commandvalues
// arguments: None
return true;
}
static bool client_downloadas(char *input, int argc, char *args[])
static bool client_downloadas(char *input, char *args[])
{
// command: downloadas
// arguments: name=<fileName>
......@@ -176,7 +176,7 @@ static bool client_downloadas(char *input, int argc, char *args[])
return true;
}
static bool client_getchildid(char *input, int argc, char *args[])
static bool client_getchildid(char *input, char *args[])
{
// command: getchildid
// arguments: None
......@@ -186,7 +186,7 @@ static bool client_getchildid(char *input, int argc, char *args[])
return true;
}
static bool client_gettextselection(char *input, int argc, char *args[])
static bool client_gettextselection(char *input, char *args[])
{
// command: gettextselection
// arguments: None
......@@ -195,7 +195,7 @@ static bool client_gettextselection(char *input, int argc, char *args[])
return true;
}
static bool client_insertfile(char *input, int argc, char *args[])
static bool client_insertfile(char *input, char *args[])
{
// command: insertfile
// arguments: name=<name>
......@@ -206,7 +206,7 @@ static bool client_insertfile(char *input, int argc, char *args[])
return true;
}
static bool client_key(char *input, int argc, char *args[])
static bool client_key(char *input, char *args[])
{
// command: key
// arguments: type=<type>
......@@ -217,7 +217,7 @@ static bool client_key(char *input, int argc, char *args[])
return true;
}
static bool client_load(char *input, int argc, char *args[])
static bool client_load(char *input, char *args[])
{
// command: load
// arguments: [part=<partNumber>]
......@@ -233,7 +233,7 @@ static bool client_load(char *input, int argc, char *args[])
return true;
}
static bool client_loolclient(char *input, int argc, char *args[])
static bool client_loolclient(char *input, char *args[])
{
// command: loolclient
// arguments: <major.minor[-patch]>
......@@ -248,7 +248,7 @@ static bool client_loolclient(char *input, int argc, char *args[])
return true;
}
static bool client_mouse(char *input, int argc, char *args[])
static bool client_mouse(char *input, char *args[])
{
// command: mouse
// arguments: type=<type>
......@@ -260,7 +260,7 @@ static bool client_mouse(char *input, int argc, char *args[])
return true;
}
static bool client_paste(char *input, int argc, char *args[])
static bool client_paste(char *input, char *args[])
{
// command: paste
// arguments: mimetype=<mimeType>
......@@ -270,7 +270,7 @@ static bool client_paste(char *input, int argc, char *args[])
return true;
}
static bool client_ping(char *input, int argc, char *args[])
static bool client_ping(char *input, char *args[])
{
// command: ping
// argument: None
......@@ -279,7 +279,7 @@ static bool client_ping(char *input, int argc, char *args[])
return true;
}
static bool client_renderfont(char *input, int argc, char *args[])
static bool client_renderfont(char *input, char *args[])
{
// command: renderfont
// arguments: font=<font>
......@@ -291,7 +291,7 @@ static bool client_renderfont(char *input, int argc, char *args[])
return true;
}
static bool client_requestloksession(char *input, int argc, char *args[])
static bool client_requestloksession(char *input, char *args[])
{
// command: requestloksession
// arguments: None
......@@ -301,14 +301,14 @@ static bool client_requestloksession(char *input, int argc, char *args[])
return true;
}
static bool client_resetselection(char *input, int argc, char *args[])
static bool client_resetselection(char *input, char *args[])
{
// command: resetselection
// arguments: None
return true;
}
static bool client_saveas(char *input, int argc, char *args[])
static bool client_saveas(char *input, char *args[])
{
// command: saveas
// arguments: url=<url>
......@@ -321,7 +321,7 @@ static bool client_saveas(char *input, int argc, char *args[])
return true;
}
static bool client_selectgraphic(char *input, int argc, char *args[])
static bool client_selectgraphic(char *input, char *args[])
{
// command: selectgraphic
// arguments: type=<type>
......@@ -332,7 +332,7 @@ static bool client_selectgraphic(char *input, int argc, char *args[])
return true;
}
static bool client_selecttext(char *input, int argc, char *args[])
static bool client_selecttext(char *input, char *args[])
{
// command: selecttext
// arguments: type=<type>
......@@ -343,7 +343,7 @@ static bool client_selecttext(char *input, int argc, char *args[])
return true;
}
static bool client_setclientpart(char *input, int argc, char *args[])
static bool client_setclientpart(char *input, char *args[])
{
// command: setclientpart
// arguments: part=<partNumber>
......@@ -352,21 +352,21 @@ static bool client_setclientpart(char *input, int argc, char *args[])
return true;
}
static bool client_status(char *input, int argc, char *args[])
static bool client_status(char *input, char *args[])
{
// command: status
// arguments: None
return true;
}
static bool client_styles(char *input, int argc, char *args[])
static bool client_styles(char *input, char *args[])
{
// command: styles
// arguments: None
return true;
}
static bool client_tile(char *input, int argc, char *args[])
static bool client_tile(char *input, char *args[])
{
// command: tile
// arguments: part=<partNumber>
......@@ -392,7 +392,7 @@ static bool client_tile(char *input, int argc, char *args[])
return true;
}
static bool client_tilecombine(char *input, int argc, char *args[])
static bool client_tilecombine(char *input, char *args[])
{
// command: tilecombine
// arguments: <parameters>
......@@ -404,7 +404,7 @@ static bool client_tilecombine(char *input, int argc, char *args[])
return true;
}
static bool client_uno(char *input, int argc, char *args[])
static bool client_uno(char *input, char *args[])
{
// command: uno
// arguments: <command>
......@@ -413,7 +413,7 @@ static bool client_uno(char *input, int argc, char *args[])
return true;
}
static bool client_useractive(char *input, int argc, char *args[])
static bool client_useractive(char *input, char *args[])
{
// command: useractive
// arguments: None
......@@ -425,7 +425,7 @@ static bool client_useractive(char *input, int argc, char *args[])
return true;
}
static bool client_userinactive(char *input, int argc, char *args[])
static bool client_userinactive(char *input, char *args[])
{
// command: userinactive
// arguments: None
......@@ -438,7 +438,7 @@ static bool client_userinactive(char *input, int argc, char *args[])
typedef struct {const char *command; bool (*funcCmd)(char *, int, char *[]);} CLIENTCOMMAND;
typedef struct {const char *command; bool (*funcCmd)(char *, char *[]);} CLIENTCOMMAND;
static CLIENTCOMMAND clientcommands[] = {{"canceltiles", client_canceltiles},
{"clientvisiblearea", client_clientvisiblearea},
{"closedocument", client_closedocument},
......@@ -473,19 +473,27 @@ static CLIENTCOMMAND clientcommands[] = {{"canceltiles", client_canceltile
bool ClientCommand(char *input)
int LOkit_ClientCommand()
{
CLIENTCOMMAND *cmd = clientcommands;
char *args[10];
char *sep = " ";
char *cmd, *token;
char *input = "unknown command jan var her";
int j = 0;
// Split input into cmd + args
token = cmd = strtok(input, sep);
while (token && j < 10 && token - input < 2048)
args[j++] = token = strtok(token, sep);
// Locate correct command
for (; cmd->command; ++cmd)
if (!strcmp(cmd->command,"mycommand"))
return cmd->funcCmd(input, 0, NULL);
CLIENTCOMMAND *client_cmd = clientcommands;
for (; client_cmd->command; ++cmd)
if (!strcmp(client_cmd->command,"mycommand"))
return client_cmd->funcCmd(input, NULL);
// Call/Return from command
return false;
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment