summaryrefslogtreecommitdiff
path: root/ios
diff options
context:
space:
mode:
authorjan Iversen <jani@libreoffice.org>2017-02-28 19:27:11 +0100
committerjan iversen <jani@libreoffice.org>2017-03-19 18:59:09 +0000
commit6aa9d41a0d0c45346cfe84cf903057d812815c20 (patch)
tree5a4a79065850208cf4b906884e8207856afa75b1 /ios
parentb5bef1f7d5edb68a7609c2d003955461bfa9c5aa (diff)
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 <jani@libreoffice.org> Tested-by: jan iversen <jani@libreoffice.org>
Diffstat (limited to 'ios')
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight.xcodeproj/project.pbxproj19
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/LO.swift2
-rw-r--r--ios/experimental/LibreOfficeLight/LibreOfficeLight/lokit-Bridging-Header.h4
-rwxr-xr-xios/experimental/LibreOfficeLight/LibreOfficeLight/lokit.c78
4 files changed, 57 insertions, 46 deletions
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;
}