ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj | 
  19 +-
 ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift                  | 
   2 
 ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h   | 
   4 
 ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit.c                   | 
  78 +++++-----
 4 files changed, 57 insertions(+), 46 deletions(-)

New commits:
commit 6aa9d41a0d0c45346cfe84cf903057d812815c20
Author: jan Iversen <j...@libreoffice.org>
Date:   Tue Feb 28 19:27:11 2017 +0100

    ios LibreOfficeLight clientCommands added
    
    Add connection between client commands and LOKit.
    
    Change-Id: I2593b3c0b7a82612924bf63c3be85963f5a20d32
    Reviewed-on: https://gerrit.libreoffice.org/35434
    Reviewed-by: jan iversen <j...@libreoffice.org>
    Tested-by: jan iversen <j...@libreoffice.org>

diff --git 
a/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj 
b/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
index 73e789d2311b..ab3e6af22da1 100644
--- 
a/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
+++ 
b/ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj
@@ -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;
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift 
b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift
index ed039fccd49f..91f344169afa 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift
@@ -23,7 +23,7 @@ class LOkit
 
     func Initialize()
     {
-        
+        LOkit_ClientCommand()
     }
     
     func DeleteCurrentDocument()
diff --git 
a/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h 
b/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h
index 862785f0ac50..c0f2e204bf83 100644
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h
@@ -8,4 +8,6 @@
 
 
 // Bridge functions to LibreOfficeKit
-int LOkit_Init();
+int  LOkit_Init();
+int LOkit_ClientCommand();
+
diff --git a/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit.c 
b/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit.c
index af77f40454d0..6be800567f26 100755
--- a/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit.c
+++ b/ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit.c
@@ -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;
 }
 
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to