Compare commits

..

986 Commits

Author SHA1 Message Date
3a46d8a909 Merge pull request #1210 from ONLYOFFICE/fix/pre7.4.1
Fix/pre7.4.1
2023-06-28 14:18:27 +03:00
8539dc168b Merge pull request #1209 from ONLYOFFICE/fix/v7.4-fix-bugs
Fix/v7.4 fix bugs
2023-06-28 14:10:48 +03:00
d651d5166b Update copyright 2023-06-27 15:36:16 +03:00
699acd0516 Fix bug 60851 2023-06-26 15:11:05 +03:00
5e9e15be57 Refactoring verify signatures 2023-06-25 13:13:36 +03:00
77ea7fd3df Fix use private sources in export header 2023-06-21 11:58:42 +03:00
cb40323b31 Fix parse Argument param 2023-06-21 11:57:54 +03:00
85817c68c1 fix bug #63074 2023-06-19 12:55:36 +03:00
7a822494aa Merge branch release/v7.4.0 into master 2023-06-13 11:17:31 +00:00
284d2730e2 Merge remote-tracking branch 'origin/release/v7.4.0' into fix/v7.4-fix-bugs 2023-06-10 21:10:46 +03:00
7a36d76298 Merge pull request #1204 from ONLYOFFICE/fix/v7.4.0-fix-bugs
fix bug #62988
2023-06-10 22:06:59 +05:00
c3b7447c04 fix bug #62988 2023-06-10 19:50:52 +03:00
e0cc9c0409 Revert use .net 4.7.2 2023-06-10 16:11:26 +03:00
075d6c849b . 2023-06-09 18:43:31 +03:00
a0ff455786 for bug #61780 2023-06-09 18:27:12 +03:00
c4f475167d Change .net version to 4.5.2 2023-06-09 15:54:48 +03:00
d72d03d449 Merge pull request #1203 from ONLYOFFICE/feature/pluginsmanager
fix ignore option for rmp package
2023-06-09 17:16:09 +05:00
322c7af962 fix --ignore option for rpm package 2023-06-09 14:42:25 +03:00
879ce1a66d Revert "Merge branch 'vboxtester' into feature/pluginsmanager"
This reverts commit 25a909d7a7, reversing
changes made to ed46c8521d.
2023-06-09 14:37:40 +03:00
a01b535609 minor
exclude vboxtester from release branch
2023-06-09 14:32:35 +03:00
25a909d7a7 Merge branch 'vboxtester' into feature/pluginsmanager 2023-06-09 14:06:05 +03:00
2c081fedc9 fix --ignore option 2023-06-09 14:05:13 +03:00
9fc7aa5bca for bug #61780 2023-06-09 10:02:13 +03:00
35e10ff9cd Merge branch 'release/v7.4.0' into vboxtester 2023-06-08 18:37:02 +03:00
bce86077af Merge branch 'release/v7.4.0' into vboxtester 2023-06-08 18:00:39 +03:00
ed46c8521d Merge branch 'release/v7.4.0' into feature/pluginsmanager 2023-06-08 17:58:11 +03:00
7d18fa5753 Merge pull request #1201 from ONLYOFFICE/feature/pluginsmanager
ignore option
2023-06-08 19:56:20 +05:00
bdddc1ac67 no --restore if --ignore 2023-06-08 17:48:59 +03:00
a02bd8f383 --ignore option
comma-separated quoted list of plugins to ignore actions,                        such as update, remove or rename
2023-06-08 17:30:46 +03:00
07e8cda08d Add defined for version 2023-06-07 17:58:55 +03:00
53e8fa7731 Fix bug 62923 2023-06-06 20:50:43 +03:00
cc4056a18b minor 2023-06-06 16:31:16 +03:00
63b425763e fix no args 2023-06-06 16:06:29 +03:00
bf859f9763 Fix bug 62341 2023-06-06 16:01:47 +03:00
650c993fa0 end work 2023-06-06 15:01:50 +03:00
abba98d9d3 to test 2023-06-06 14:21:13 +03:00
e85923d94e need timeouts 2023-06-06 12:49:53 +03:00
6d548d27bc . 2023-06-06 11:54:35 +03:00
29167e6267 rpm support 2023-06-06 11:27:29 +03:00
80e2c75a54 . 2023-06-06 10:14:01 +03:00
9c67404b69 fixes for linux 2023-06-05 17:03:04 +03:00
c82b5c9994 fixes 2023-06-05 15:59:00 +03:00
e6205fcff9 Merge branch 'release/v7.4.0' into vboxtester 2023-06-05 15:58:44 +03:00
1ec0142c25 Fix bug #59143
Change the default value for shd for unknown types of pattern
2023-06-05 03:21:22 +05:00
f65463c96f fix bug #61612 2023-06-04 15:18:26 +03:00
133ad365f4 Fix bug 62746 2023-06-03 14:53:51 +03:00
4c077a28b8 Fix bug 62856 2023-06-03 12:15:23 +03:00
1bd7c77ead Merge pull request #1199 from ONLYOFFICE/fix/bug60993
fix bug 60993
2023-06-03 00:42:56 +03:00
26e5245cf6 fixes 2023-06-02 21:23:03 +03:00
672b9fd118 fix space before table 2023-06-02 18:56:00 +03:00
c96b59cbbf [android] Fix merge 2023-06-02 18:25:41 +03:00
81ec34b6f9 Remove initialize/dispose v8 in x2t on mobile platforms 2023-06-02 16:05:18 +03:00
f29d83a80b Merge branch 'release/v7.4.0' into vboxtester 2023-06-02 15:59:47 +03:00
b5c44805fb Merge pull request #1198 from ONLYOFFICE/fix/bug61651
Fix bug 61651
2023-06-02 15:05:14 +03:00
01bfa49aba fix epub EncodeXmlString 2023-06-02 14:52:28 +03:00
7c0bef3c04 fix bug #62853 2023-06-02 14:23:10 +03:00
7aeaec211a fix fb2 EncodeXmlString 2023-06-02 14:08:23 +03:00
a3de9703bf fix bug #62855 2023-06-02 13:18:48 +03:00
af743b7e25 Fix linux build 2023-06-02 10:46:56 +03:00
d4b6a05717 For bug 61940 2023-06-02 00:52:09 +03:00
de51600d34 [android] Copy icu extra to assets 2023-06-01 16:51:46 +03:00
c64379636e fixes 2023-06-01 14:05:45 +03:00
d2f9c59b5f Merge branch 'release/v7.4.0' into vboxtester 2023-06-01 13:32:17 +03:00
30675ab8b9 Merge pull request #1197 from ONLYOFFICE/feature/pluginsmanager
Fix bug 62807
2023-06-01 13:31:23 +03:00
fbadc56797 Fix bug 62807 2023-06-01 13:17:42 +03:00
a568aa02c4 fix bug #62840 2023-06-01 13:12:12 +03:00
099d49b3a7 Merge branch 'release/v7.4.0' into feature/pluginsmanager 2023-06-01 12:10:12 +03:00
55a200e71d for bug 62807 2023-06-01 12:09:46 +03:00
c6586a9a17 fixes 2023-06-01 12:05:11 +03:00
fbcf56be9e . 2023-05-31 21:47:49 +03:00
83fdc52baf Merge branch 'release/v7.4.0' into vboxtester 2023-05-31 17:21:15 +03:00
966eac2367 fix bug #60467 2023-05-31 15:26:11 +03:00
32c185c089 fix bug #62303 2023-05-31 14:00:30 +03:00
cb66e15faf for bug #62789 2023-05-30 15:59:07 +03:00
f6a102353d fixes 2023-05-30 10:08:49 +03:00
2247d47e4b working test
alfa
2023-05-29 23:15:14 +03:00
cb77b0989c Merge pull request #1196 from ONLYOFFICE/feature/pluginsmanager
Fix bug 62807
2023-05-29 20:14:30 +03:00
5832049ebc . 2023-05-29 19:28:49 +03:00
43bc3c92b3 working script 2023-05-29 19:22:22 +03:00
50007b47ee Fix bug 62807 2023-05-29 19:19:45 +03:00
b98c51b020 fix bug #62790 2023-05-29 19:07:14 +03:00
0c5e670ad1 fix bug #45218 2023-05-29 17:54:49 +03:00
e41b892b58 Fix typo 2023-05-29 18:01:30 +05:00
527af6f669 Refactoring android build 2023-05-29 15:49:49 +03:00
5e6f84ec74 Add files to docker archive 2023-05-29 15:23:11 +03:00
3c7d05a33e Fix build 2023-05-29 12:49:26 +05:00
c2d48fdd32 Fix typo 2023-05-28 21:38:43 +03:00
ebf6e9e995 Update v8 version for android 2023-05-28 17:09:09 +05:00
f87f2a47d5 Fix bug 62751 2023-05-28 11:55:11 +03:00
5728bcda76 new base funcs 2023-05-27 20:00:02 +03:00
ceadb68bc6 ExecuteCommand and base funcs
GetVms, StartVm, StopVm, GetScreenshot
2023-05-27 11:26:15 +03:00
3aa94ae6ae command runner 2023-05-27 09:57:20 +03:00
b8095b3f82 to linux development 2023-05-26 22:47:05 +03:00
7448a331e9 Merge pull request #1194 from ONLYOFFICE/feature/pluginsmanager
Fixes 62704, 62727
2023-05-26 13:53:39 +03:00
940bb840be minors 2023-05-26 13:42:27 +03:00
967b0aec72 autorename options 2023-05-26 11:31:27 +03:00
852989d0c9 fix bug 62704
checking permissions for the working folder
2023-05-25 17:39:52 +03:00
c733399b88 fix bug #60467 2023-05-25 16:32:33 +03:00
8c92a944ad Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-05-25 14:32:33 +03:00
0456f9b362 fix bug #62728 2023-05-25 14:32:03 +03:00
4ec7942649 Fix typo 2023-05-25 13:49:46 +03:00
13410416a5 fix bud 62727 2023-05-25 13:30:46 +03:00
b4d00a7a47 fix bug #62498 2023-05-24 15:40:33 +03:00
9d497e48c9 Merge pull request #1193 from ONLYOFFICE/feature/pluginsmanager
Restore error description
2023-05-23 17:47:36 +05:00
759a159005 bug fix #62707 2023-05-23 15:36:36 +03:00
92e6fa06b5 Merge branch 'release/v7.4.0' into feature/pluginsmanager 2023-05-23 15:26:57 +03:00
7b93de3e8a bug fix #62707 2023-05-23 15:26:46 +03:00
ca3e65468b fix bug #62712 2023-05-22 21:55:39 +03:00
5d378ddb41 minor 2023-05-22 20:03:57 +03:00
ba05993073 settings folder tolower 2023-05-22 19:42:33 +03:00
6438c1cd4b For bug 62605 2023-05-22 12:49:06 +03:00
07ad714d3a Merge pull request #1191 from ONLYOFFICE/fix/build-linux
linux fix build debug
2023-05-21 00:42:16 +05:00
1c87c34db9 Add flags for convertation to images 2023-05-20 21:57:38 +03:00
8f4956102a Fix bug 62696 2023-05-20 20:09:56 +03:00
0d8fcd1bef linux fix build debug 2023-05-20 09:22:38 +03:00
4db5c55544 Merge pull request #1190 from ONLYOFFICE/fix/pm-linux
Refactoring config parsing
2023-05-20 01:24:55 +05:00
709ac0b868 Merge branch 'release/v7.4.0' into fix/pm-linux 2023-05-19 21:53:57 +03:00
dd73d3347f Fix build 2023-05-19 11:55:43 +03:00
e98f981a46 fix bug #59026 2023-05-18 18:49:08 +03:00
d6b7aefe51 bullshit off 2023-05-17 23:31:07 +03:00
f612ca64e0 Merge pull request #1189 from ONLYOFFICE/fix/pm-linux
minor fixes
2023-05-18 01:08:00 +05:00
e3a582ee67 minor 2023-05-17 21:57:15 +03:00
fa68ba2f0d fix config spaces 2023-05-17 21:07:49 +03:00
3387f67f7e Merge pull request #1187 from ONLYOFFICE/fix/pm-linux
linux fixes
2023-05-17 22:32:28 +05:00
383e9bc971 speedup 2023-05-17 20:15:33 +03:00
c67aea9543 fix bug #62630 2023-05-17 19:53:56 +03:00
0e64e3467b linux: fix plugin version 2023-05-17 19:49:38 +03:00
cc2027edab For bug 62654 2023-05-17 19:33:08 +03:00
da3739942f Merge pull request #1186 from ONLYOFFICE/fix/pm-linux
linux fix: args
2023-05-17 21:06:58 +05:00
80d5783b3b linux fix: args 2023-05-17 16:21:31 +03:00
dbd5aeadd2 fix bug #62634 2023-05-17 13:49:04 +03:00
d57b69731b fix bug #62610 2023-05-16 15:44:33 +03:00
248f9a5362 fix bug #62498 2023-05-16 12:22:50 +03:00
204ef06b1a . 2023-05-16 10:30:06 +03:00
f9171cb342 small optimization 2023-05-16 08:55:25 +03:00
6d80b8537f fix bug #62174 2023-05-15 19:40:02 +03:00
c5a09b75d6 fix bug #62115 2023-05-15 18:44:55 +03:00
1c8687e07f Fix build with c++11 2023-05-15 17:58:19 +05:00
28745ae49f Refacroring work with arraybuffer for support new v8 versions 2023-05-15 15:33:35 +03:00
d6b5523406 Merge pull request #1185 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-05-15 16:17:09 +05:00
fc1d61799b Merge branch hotfix/v7.3.3 into master 2023-05-15 06:44:54 +00:00
358903d331 Fix typo 2023-05-14 01:41:32 +05:00
46e8d03eeb fix bug #62579 2023-05-12 18:29:52 +03:00
554ad261cf fix bug #62572 2023-05-12 18:15:49 +03:00
78c662ea55 Merge pull request #1183 from ONLYOFFICE/feature/pluginsmanager
pluginsmanager - update on server
2023-05-12 12:29:48 +05:00
98a02441de [server] update by config
- update if plugin exists
- install if plugin is not installed and not removed before
2023-05-12 10:27:14 +03:00
efb3075e0e removing by config 2023-05-12 09:43:48 +03:00
da703d88ca Merge pull request #1182 from ONLYOFFICE/feature/pluginsmanager
pluginsmanager
2023-05-12 11:02:24 +05:00
dc73c8b2b6 minor 2023-05-12 08:33:20 +03:00
1404829b68 change settings folder 2023-05-12 08:18:48 +03:00
be9f8ba8e6 minor 2023-05-11 22:46:50 +03:00
f858b76fd4 minors
--print-removed option
2023-05-11 22:26:20 +03:00
3914b9a9d5 fix update 2023-05-11 20:47:41 +03:00
e19d1c6735 fix bug #62530 2023-05-11 19:11:43 +03:00
041d8a3dc4 install/remove settings feature 2023-05-11 18:42:12 +03:00
31ee203b92 Fix bugs in metafile to svg conversion 2023-05-11 18:03:56 +03:00
3d7eefcd3d Merge pull request #1179 from ONLYOFFICE/feature/shape-vertical-text-align
Feature/shape vertical text align
2023-05-11 16:24:19 +03:00
82db1cd0d1 fix bug #62327 2023-05-11 15:25:49 +03:00
14ea99e880 fix bug #32006 2023-05-11 14:55:17 +03:00
7363c995dd fix bug #62527 2023-05-10 21:04:26 +03:00
66a2edf5d2 fix bug #62525 2023-05-10 20:38:35 +03:00
36e5cada88 Fix bug 62353 2023-05-10 18:21:38 +03:00
01e9bb8cef Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-05-10 18:04:49 +03:00
9887883626 Fix build for macos/ios 2023-05-10 18:03:56 +03:00
3d828f9683 fix bug #62512 2023-05-10 17:29:57 +03:00
2d890247ab fix bug #62443 2023-05-10 16:40:07 +03:00
5acc2513c8 . 2023-05-10 11:02:18 +03:00
d3dc902f23 Fix export methods 2023-05-09 11:40:02 +05:00
11ae76f9f0 Fix build 2023-05-07 10:29:50 +03:00
7340469a8c Fix bug 61386 2023-05-07 00:23:47 +03:00
92e03fd7b6 Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-05-06 17:16:40 +03:00
7a12a4d43e Fix typo 2023-05-06 17:15:49 +03:00
c59f679043 Merge pull request #1177 from ONLYOFFICE/feature/pmutility
Bug fix #62372
2023-05-06 18:35:43 +05:00
3cb1503632 Disable ssl in wget commands on old macos 2023-05-05 22:17:49 +03:00
b2b0c74cd4 unknown param check 2023-05-05 21:44:20 +03:00
a1376d647f help changes 2023-05-05 20:06:02 +03:00
dc17f5fe2e Fix bug #62372 2023-05-05 19:44:50 +03:00
6d45b90ac0 Add info class to export 2023-05-05 15:41:54 +03:00
7130c2d1bb fix bug #62358 2023-05-04 15:54:22 +03:00
e19db2847f Merge pull request #1176 from ONLYOFFICE/fix/bug62184
Fix bugs 62184, 61326, 59302
2023-05-04 15:49:08 +05:00
2e8bb7177c Fix NSImageReSaver::CorrectImage 2023-05-04 13:43:21 +03:00
c8ca57ea40 fix bug #62360 2023-05-03 20:20:02 +03:00
e7931e73d1 fix bug #62379 2023-05-03 19:54:46 +03:00
b096ce8098 Correction of font selection in metafile to svg conversion 2023-05-03 14:05:44 +03:00
ffc3149d4b Fixed a bug with font size in metafile to svg conversion 2023-05-03 12:07:58 +03:00
f4cc9ec38a Fix bug #62404 2023-05-03 12:07:19 +03:00
5c3760a907 Merge pull request #1175 from ONLYOFFICE/fix/swscanf
fix swscanf
2023-05-03 13:16:59 +05:00
6320c543c0 fix build linux 2023-05-03 11:14:29 +03:00
324dd2de49 . 2023-05-03 10:24:49 +03:00
e07fd5ed24 Merge pull request #1174 from ONLYOFFICE/feature/pmutility
pluginsmanager: fix sync names
2023-05-03 12:17:27 +05:00
19295c1037 minor 2023-05-02 21:51:52 +03:00
7ad0e7e9fe minor 2023-05-02 20:52:23 +03:00
ce9ede6820 fix: sync plugins names 2023-05-02 20:38:43 +03:00
379f474739 fix bug #60760 2023-05-02 20:03:33 +03:00
a2662a6f2b Merge pull request #1173 from ONLYOFFICE/feature/pmutility
Feature/pmutility
2023-05-02 21:23:31 +05:00
c52893306d minors 2023-05-02 19:05:41 +03:00
3a9a2b5ee7 Merge branch 'release/v7.4.0' into feature/pmutility 2023-05-02 19:00:31 +03:00
8df04c48ad update plugins feature 2023-05-02 18:57:45 +03:00
f7b0565233 odf chart 2023-05-02 11:06:56 +03:00
ef7fb15efe Fix build android on macos 2023-04-29 01:49:50 +05:00
e32b53d662 Merge pull request #1171 from ONLYOFFICE/feature/pmutility
Feature/pmutility
2023-04-28 21:34:23 +05:00
0b683226e9 Fix linux/macos build 2023-04-28 19:33:15 +03:00
73924f3ae0 restore plugin feature 2023-04-28 18:33:22 +03:00
e8ecef51dd fix locale 2023-04-28 16:58:47 +03:00
5bf730e1d6 minors 2023-04-28 16:23:57 +03:00
091f3a3a8e fix search 2023-04-28 14:11:40 +03:00
ffa8467c9e default init, backup feature 2023-04-28 13:28:17 +03:00
398c69c01e odf chart refactoring 2023-04-28 12:39:29 +03:00
a48ed74102 Merge pull request #1170 from ONLYOFFICE/fix/bug62143
Fix bug #62143
2023-04-28 13:29:11 +05:00
45628154d9 Fix bug #62143 2023-04-28 11:23:02 +03:00
2921e476c3 remove all plugins feature 2023-04-28 09:47:00 +03:00
e97fd44489 plugin manager utility 2023-04-27 21:52:38 +03:00
1dba0723c7 Add settings for disable all warnings 2023-04-27 14:34:26 +03:00
217ec901ed Merge pull request #1169 from ONLYOFFICE/fix/bug62305
Fix bug 62305
2023-04-27 13:51:17 +05:00
68723a5e81 Fix bug 62305 2023-04-27 11:28:10 +03:00
53810c07ac Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-04-27 10:47:04 +03:00
14fcc4dfac fix bug #62269 2023-04-27 10:46:43 +03:00
b4b1cae18e Fix typo 2023-04-27 10:41:12 +03:00
ab74e3fce7 Add test for font picker 2023-04-26 23:57:40 +03:00
4f48287d28 Fix font select (use unicode names for symbols > 128) 2023-04-26 23:40:15 +03:00
3b20ac3825 fix bug #62155 2023-04-26 23:08:57 +03:00
3f782ab389 odf chart refactoring 2023-04-26 20:35:23 +03:00
c22d4c60c0 Merge pull request #1166 from ONLYOFFICE/fix/bug62304
Fix bug 62304
2023-04-26 20:55:12 +05:00
9349ddf604 Fix bug 62304 2023-04-26 18:50:15 +03:00
70c4f045ea Fix build 2023-04-26 20:34:11 +05:00
d955de5bdb Merge pull request #1165 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-04-26 18:46:14 +05:00
0bd9cead65 Revert previous commits and just export CHash class. 2023-04-26 16:23:18 +03:00
c282e86832 Fix build hash wasm module 2023-04-26 16:16:10 +03:00
cd91baaabe Refactoring and move hash algs outside js embeds engine 2023-04-26 16:15:02 +03:00
727a7722bb Merge pull request #1164 from ONLYOFFICE/feature/hash
Feature/hash
2023-04-26 03:05:15 +05:00
0d47bdc47d Fix bug 61888 2023-04-26 00:43:09 +03:00
cd458b81ec fix bug #62274 2023-04-25 20:45:57 +03:00
4beb4c8d70 fix bug #62116 2023-04-25 16:44:19 +03:00
aa56efb495 Fix bug #62144 2023-04-25 13:50:31 +03:00
44016b4ccc Merge branch 'release/v7.4.0' into feature/shape-vertical-text-align 2023-04-25 14:08:12 +07:00
d2158ded6f Merge branch 'release/v7.4.0' into 'feature/hash' 2023-04-24 19:43:31 +04:00
34790c680a Hash in embed and WASM were reworked to prevent code duplication 2023-04-24 16:40:23 +04:00
4dfa989980 Test reworked. Added 76 tests. 2023-04-24 16:36:06 +04:00
99ba013151 Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-04-23 21:46:18 +03:00
857957e824 [builder] Fix error on first start (with fonts in user folder) 2023-04-22 22:00:40 +03:00
c0972a5b4a Disable any exports in js engine 2023-04-22 21:48:06 +05:00
c0f231fa92 Fix export/import classes 2023-04-22 21:12:47 +05:00
6ec0609de3 Remove empty doctrenderer mode 2023-04-22 20:41:27 +05:00
43aacc8dd9 Fix for build_tools 7.4.0 2023-04-22 10:56:32 +03:00
f75d977661 Moved docterenderer embed and js_internal test to doctrenderer/test/ 2023-04-21 19:42:15 +04:00
48d19d9aa0 Fix bug #61968
Add support for datetime field when saving to pdf
2023-04-21 17:51:38 +05:00
16448245b8 Refactoring gtests 2023-04-21 14:02:36 +03:00
c8a03fec41 Fix html save 2023-04-21 11:12:38 +03:00
db05f4d373 Fix compile with gcc >= 10 2023-04-21 02:57:52 +03:00
b6e741c4a5 Refactoring 2023-04-21 01:19:40 +03:00
ff75d14e29 Fixes for comments 2023-04-21 00:42:32 +03:00
ed0bcfc642 Implemented google tests for Hash (works on mac) 2023-04-20 23:27:46 +04:00
33e6c14a04 Add toXml method to Api of PdfFile 2023-04-20 20:31:38 +05:00
f7b3ab2411 reincarnation pdf ToXml 2023-04-20 20:31:37 +05:00
ea49ffe242 Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-04-20 17:32:14 +03:00
471f739a66 Fix typo 2023-04-20 17:25:54 +03:00
a710a7b77c Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-04-20 17:19:47 +03:00
13ff65c6e9 Refactoring builder .com example 2023-04-20 17:17:26 +03:00
5050726d47 Fix bug #61761
Fix issue with saving text appearance in pdf in case of multiline text
2023-04-20 18:50:25 +05:00
3296d32168 Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-04-20 15:04:27 +03:00
11b59048cd Fix bug #62176 2023-04-20 13:32:42 +03:00
6b0513cd81 Fix bug #62178 2023-04-20 13:21:27 +03:00
e335a237a5 Update htmlrenderer test (ONLINE_WORD_TO_PDF case) 2023-04-20 14:47:37 +05:00
af6802e035 Update htmlrenderer test 2023-04-20 14:20:29 +05:00
01f01ec85f vertical text align 2023-04-20 08:15:05 +03:00
a3f7e83ccf Fixed memory leaks. Fixed tests for V8 2023-04-18 14:02:21 +03:00
09d87538e7 Embeded to V8. Also made some renamings 2023-04-18 13:21:31 +04:00
2f9726e455 fix bug #62117 2023-04-18 10:59:51 +03:00
5178cf0cb7 Embeded hash() and hash2() for JSC 2023-04-17 20:11:56 +04:00
0a517af106 Disable inspector for no main platforms 2023-04-15 08:36:27 +03:00
76fea998ea Fix build 2023-04-14 23:12:50 +03:00
721805535e . 2023-04-14 21:02:08 +03:00
1f5025b136 Begin to embeding hash functions 2023-04-14 21:21:44 +04:00
a61c267941 Merge pull request #1162 from ONLYOFFICE/hotfix/v7.3.3
Add define for reconnect timeout
2023-04-14 17:25:52 +03:00
6f4041b476 Fix build 2023-04-14 12:02:46 +05:00
97aad68726 Refactoring setup v8 version 2023-04-13 23:51:11 +03:00
e83a86ee56 Fix build 2023-04-13 23:33:15 +03:00
a6882895a5 Fix linux build 2023-04-13 22:25:41 +03:00
85ab308f80 Refactoring 2023-04-13 16:49:02 +03:00
c4bda0b403 Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-04-13 15:33:30 +03:00
0f492bce2b Refactoring 2023-04-13 15:32:38 +03:00
92f114a30f fix bug #61674 2023-04-13 13:08:53 +03:00
98f33c04be Merge pull request #1161 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-04-13 12:43:16 +03:00
34c36cae01 Added initialization of variables in CSvgClip 2023-04-13 12:22:14 +03:00
a6a4d74304 Merge pull request #1159 from ONLYOFFICE/feature/v8-inspector
Feature/v8 inspector
2023-04-12 20:49:11 +03:00
58112c000c Enable v8 8.9 by default 2023-04-12 15:37:59 +03:00
76c00154af fix bug #62056 2023-04-12 14:19:54 +03:00
4fec85c60b fix bug #62045 2023-04-12 13:47:32 +03:00
19c56e1b4d Changes for use _ITERATOR_DEBUG_LEVEL in debug by default 2023-04-12 11:23:45 +03:00
71e3768ed9 fix bug #61996 2023-04-11 22:30:46 +03:00
fb0e7f8d3f Fix xp build 2023-04-10 20:28:52 +03:00
f59e5745af V8 inspector now works only when environment variable is set 2023-04-10 17:57:06 +04:00
6b9ae7e71e [xp] Disable inspector 2023-04-09 13:39:00 +03:00
2601448513 [windows] Use _ITERATOR_DEBUG_LEVEL=0 in debug build 2023-04-08 22:18:31 +03:00
263e50601a Merge branch 'release/v7.4.0' into feature/v8-inspector 2023-04-08 22:16:44 +03:00
5d302dde81 fix bug #61586 2023-04-08 19:55:14 +03:00
e7e2e6b448 fix bug #61958 2023-04-07 17:23:28 +03:00
eb45d8dadc Correct pro files 2023-04-07 10:30:23 +03:00
3621bea6e1 Enable core_static_link_libstd by default 2023-04-07 09:41:24 +03:00
c60d06733b For bug #61864 2023-04-06 18:54:14 +03:00
9d9edd2cfc For bug #61784 2023-04-05 17:44:32 +03:00
7bc69064f7 Fix bug #61941 2023-04-05 17:35:42 +03:00
a43a03d84d fix bug #61239 2023-04-04 18:24:46 +03:00
647dd62537 Merge branch 'release/v7.4.0' of https://github.com/ONLYOFFICE/core into release/v7.4.0 2023-04-04 17:48:31 +03:00
942a9c6a79 fix bug #60282 2023-04-04 17:48:13 +03:00
b652c5754c Fix bug 61799 2023-04-04 17:48:08 +03:00
d9ed8f4780 fix bug #61586 2023-04-03 22:36:07 +03:00
44928cf416 fix bug #61721 2023-04-03 21:55:25 +03:00
1adfa0ea7e fix bug #47084 2023-04-03 21:55:01 +03:00
2dd276c427 Changed the principle of converting an Emf record DrawDriverString to svg 2023-04-03 20:11:47 +03:00
775d06de9d Fix build js module 2023-04-02 20:16:15 +03:00
9e62296b29 Fixed a bug with drawing DrawDriverString record in Emf+ 2023-03-31 18:37:44 +03:00
6c76366705 For bug#61864 2023-03-31 18:36:39 +03:00
e9aa3b4e81 fix bug #61811 2023-03-29 18:52:14 +03:00
df3ccf1837 fix bug #61814 2023-03-29 18:19:43 +03:00
b3ea4afe3f Merge pull request #1157 from ONLYOFFICE/fix/license
Fix license
2023-03-28 10:05:54 +03:00
d001298fcd Fix license 2023-03-27 15:47:53 +03:00
50c65fe0fd for bug #61784 2023-03-24 18:37:14 +03:00
8851731c74 fix bug #61768 2023-03-24 16:19:53 +03:00
0e456d167b . 2023-03-23 22:10:57 +03:00
a246923dce UserProtectedRange update 2023-03-23 11:26:37 +03:00
c7c2ab02a7 fix bug #59365 2023-03-21 13:32:47 +03:00
0f59c2254d Fix compile 2023-03-21 10:20:07 +03:00
9d9f6165b5 fix bug #61670 2023-03-20 21:34:14 +03:00
9ffb756c4f for bug #61641 2023-03-17 12:02:17 +03:00
4910d69a40 Add define for reconnect timeout 2023-03-16 22:36:48 +05:00
78d1f6f1e4 fix bug #61633 2023-03-16 20:27:30 +03:00
f8717b5af0 fix bug #61635 2023-03-16 14:41:22 +03:00
b921bebc79 chart filtering 2023-03-15 19:47:48 +03:00
fa85b389f2 Merge branch hotfix/v7.3.3 into master 2023-03-15 10:47:21 +00:00
8807404baf Move ECMACryptFile to CryproPP library project 2023-03-15 12:37:59 +05:00
ae92f47e54 Make it works for Windows
+ removed unnecessary `readFileContent()` from utils
+ moved `getPort()` from InspectorPool to WebsocketServer
2023-03-13 14:43:35 +04:00
9688ed3d4c Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2023-03-12 13:54:39 +03:00
673b733a8d Add gcc version to base.pri 2023-03-12 13:53:59 +03:00
1a89252004 Fix typo 2023-03-12 12:11:14 +03:00
a1fd606050 Fix build 2023-03-12 11:52:13 +03:00
6d7a1421b2 Merge pull request #1155 from ONLYOFFICE/hotfix/v7.3.3
Hotfix/v7.3.3
2023-03-12 11:16:21 +03:00
5b8510353d Push changes for base file (pdf/xps/djvu module) 2023-03-12 10:26:49 +03:00
6df5bf924a Merge pull request #1154 from ONLYOFFICE/fix/fix-bugs-v7.3.3
Fix/fix bugs v7.3.3
2023-03-12 00:02:52 +03:00
8ca40a44ce fix bug #61586 2023-03-11 13:38:14 +03:00
3fa6152e69 fix bug #61588 2023-03-11 12:42:23 +03:00
8bd4dcece3 Merge pull request #1152 from ONLYOFFICE/fix/v7.3.3-fix-bugs
Fix/v7.3.3 fix bugs
2023-03-10 18:15:01 +03:00
7afe09ce09 fix bug #59365 2023-03-10 17:18:34 +03:00
3df0892752 Merge pull request #1153 from ONLYOFFICE/fix/bug61577
Fix bug #61577
2023-03-10 17:04:07 +03:00
deffa006b5 Fixed bug #61577 2023-03-10 17:02:48 +03:00
12326b3a4f fix bug #61456 2023-03-10 14:09:39 +03:00
ad72c997f2 fix bug #61459 2023-03-10 12:18:14 +03:00
4552ab2d6f font embedding comment 2023-03-10 12:16:20 +03:00
741213b126 Merge pull request #1151 from ONLYOFFICE/fix/bug61404
Fix bug 61404
2023-03-09 22:33:44 +03:00
73524ccc22 Fix build 2023-03-09 14:45:10 +03:00
4ca669b9cd Fixed a bug with clips in metafile -> svg conversion 2023-03-09 12:34:29 +03:00
55578a0026 Changed the principle of working with clips in the metafile -> svg conversion 2023-03-07 19:14:46 +03:00
30733dfc71 Merge pull request #1150 from ONLYOFFICE/fix/fix-bug
fix checker for binary
2023-03-07 16:41:05 +03:00
530d1d1763 Fixed bug with rotated text position in metafile -> svg conversion 2023-03-07 15:23:47 +03:00
c252512786 fix checker for binary 2023-03-07 11:43:50 +03:00
b2a8407617 Inspector code wrapped in namespace NSJSBase
+ Added comment about based on repository
+ Removed unnecessary rows from `js_base.pri`
2023-03-07 11:33:29 +03:00
0a0a7baaf7 Merge remote-tracking branch 'origin/hotfix/v7.3.3' into develop 2023-03-07 11:14:48 +03:00
f41c850c0e Moved my_inspector to inspector
+ Prevented `call_func()` to break on first line
2023-03-07 10:40:07 +03:00
03a276fd88 Merge pull request #1149 from ONLYOFFICE/fix/bug61475
Fix bug #61475
2023-03-06 20:29:44 +03:00
d20b9321d4 Merge pull request #1148 from ONLYOFFICE/fix/v7.3.3-fix-bugs
fix bug #61508
2023-03-06 20:23:34 +03:00
42a4f8c909 Fix bug #61475 2023-03-06 20:18:36 +03:00
22842c069a fix bug #61508 2023-03-06 18:50:21 +03:00
8206a74694 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2023-03-06 18:46:42 +03:00
0aaff62cba . 2023-03-06 18:46:32 +03:00
0d66a203d6 PathCommandText for CPdfWriter
analogue of PathCommandText from graphic renderer for CPdfWriter
2023-03-06 18:14:54 +03:00
0d9052d25c Fixed bug with text position in metafile -> svg conversion 2023-03-06 14:13:19 +03:00
3c28cf6022 Fix build with c++17 2023-03-05 19:02:07 +05:00
fd865782a8 fix bug #60339 2023-03-04 20:03:14 +03:00
a977fe30f0 Added 'C' prefix to all class names 2023-03-03 18:17:01 +03:00
2c799de36a Now inspector works for older version of V8 too
- Replaced some arguments to `V8IsolateFirstArg`
- Fixed breakpoints issue on old V8 version
2023-03-03 18:11:22 +03:00
49a339ad56 Working with clips in metafile -> svg conversion 2023-03-03 17:26:16 +03:00
f2533bc6a0 fix bug #60847 2023-03-03 14:58:26 +03:00
a736c35880 Code reformatted to satisfy codestyle 2023-03-03 13:51:52 +03:00
ce64eca658 . 2023-03-03 00:00:12 +03:00
8a0c070990 fix bug #61456 2023-03-02 23:57:22 +03:00
00e54401da Fixed old inspector code 2023-03-02 21:00:07 +03:00
486ff2087c Implemented inspector for CJSObject::call_func() method
Redesigned websocket server connection initialization
2023-03-02 20:59:40 +03:00
b3cef38315 Merge pull request #1147 from ONLYOFFICE/feature/x2ttester
Fix bug 61452
2023-03-02 17:42:11 +03:00
8646fd4271 Fix bug 61452
passwords
2023-03-02 17:36:48 +03:00
b0cbf8520a Make server automatically disconnect when runScript() ends
+ Moved bool flag from CJSContextPrivate to Inspector
+ Replaced members JSContext* in Inspector and CInspectorPool to
v8::Isolate* cause of `call_func()` support
2023-03-02 16:22:13 +03:00
1d0bb53607 fix bug #61445 2023-03-02 16:04:56 +03:00
e83e025748 fix bug #61318 2023-03-02 14:25:08 +03:00
ea181c8110 Now code of runScript() continues on connecting to CDT
Before that, just another `runScript()` was calles from loop
+ Fixed error "Adress already in use" that used to appear sometimes
2023-03-02 14:19:42 +03:00
2f4756138c Inspector Pool implemented
Now inspector works with different CJSContext-s and different
CJSContextScope-s. But sometimes shows "Address already in use" error.
2023-03-02 13:12:28 +03:00
3ef0ed1d36 [copyright] Update address in Copyright 2023-03-01 23:21:57 +03:00
32a046f4d2 Now value from runScript() returns correctly
+ writed some TODOs
+ formatted brakets
+ restyled class definitions
+ added some comments
2023-03-01 18:42:30 +03:00
9f18768e5d Added support for recording EMR_GRADIENT FILL in EMF and working with clips 2023-03-01 17:10:35 +03:00
163ab8da25 Fixed segfault on deleting WebsocketServer
+ removed unnecessary `Listener` classes
2023-03-01 16:45:29 +03:00
fd1e49ec2d [FontMaps] Change built-in license to Common/license/header.license 2023-03-01 14:17:05 +03:00
66ac071c58 fix bug #61412 2023-03-01 12:46:15 +03:00
03d88de461 Merge pull request #1145 from ONLYOFFICE/feature/copyright-2023
Feature/copyright 2023
2023-03-01 10:10:48 +03:00
cd8ce24a70 fix bug #61406 2023-02-28 20:00:50 +03:00
a7c70687c9 for bug #61375 2023-02-28 19:37:01 +03:00
e412983314 Added the removal of excess from the font when converting metafile->svg 2023-02-28 19:25:05 +03:00
de278ff550 Fix bug #61404 2023-02-28 19:10:51 +03:00
5d0f0875be for bug #61375 2023-02-28 17:21:07 +03:00
fad145455e Moved all inspector initializing stuff to runScript()
Also now programm continues when debugging session is ending!
2023-02-28 16:42:07 +03:00
365d8bf95a Add test for all systems 2023-02-28 16:29:40 +03:00
7e5332eba5 [x2t] Add mhtml ext for bug 61381 2023-02-28 16:27:11 +03:00
a32ce7650f Used our runSript() method instead of one in utils.h 2023-02-28 15:43:15 +03:00
f7f5bb89c1 [copyright] Add Copyright 2023-02-28 14:56:22 +03:00
5102820231 [copyright] Fix invalid Copyright 2023-02-28 14:18:51 +03:00
313af0b405 Merge pull request #1144 from ONLYOFFICE/fix/bug61383
Fix bug #61383
2023-02-28 14:18:08 +03:00
4aa56f8aa0 For bug #61383 2023-02-28 13:22:12 +03:00
ffe2806bc8 fix bug #61353 2023-02-28 12:48:47 +03:00
7dcbd57aa7 Fix bug #61383 2023-02-28 12:44:41 +03:00
57ccbc0fb6 [copyright] Update Copyright 2023-02-28 11:16:40 +03:00
ff427c547d [copyright] Fix invalid Copyright 2023-02-28 01:12:57 +03:00
4d5a2967e3 [copyright] Update Copyright 2023-02-28 00:57:11 +03:00
cdb72bab80 fix bug #61375 2023-02-27 18:05:19 +03:00
9ea4cd8ba5 Writed my_inspector with working functionality 2023-02-27 12:20:02 +03:00
b15aff55d1 Refactoring socketio websocket realization 2023-02-26 12:42:33 +05:00
d3423f93eb Fix build 2023-02-24 13:55:59 +03:00
0f9cc64520 Fix bug 61302 2023-02-23 21:45:50 +03:00
2309f915b4 Fix bug 61296 2023-02-23 21:42:12 +03:00
a61543bff9 to develop 2023-02-22 18:47:05 +03:00
299e91c747 CurvedLeftArrow revert 2023-02-22 16:23:11 +03:00
6633335912 fix shapes scaling 2023-02-22 15:46:17 +03:00
60bae43495 Fix bug #61321 2023-02-22 10:08:10 +03:00
77297aedc8 Remove unused code 2023-02-22 09:42:47 +03:00
7ba98fe047 initial 2023-02-21 15:55:23 +03:00
c47e0369a1 . 2023-02-21 14:21:14 +03:00
416b120842 Merge remote-tracking branch 'origin/fix/coderefact' into develop 2023-02-21 13:09:12 +03:00
1e34dc736e . 2023-02-21 13:08:33 +03:00
4c20531b30 Merge remote-tracking branch 'origin/hotfix/v7.3.3' into develop 2023-02-21 13:06:23 +03:00
ecd2a5eba1 fix bug #61294 2023-02-21 12:22:15 +03:00
2ee8dead85 Merge branch 'develop' into fix/coderefact 2023-02-21 11:56:16 +03:00
88ae812a90 common shapetypes for doc, xls, pptx
TODO: make ShapeType as parent for PptShape
2023-02-21 11:55:59 +03:00
835f88edf5 add userProtectedRanges 2023-02-21 00:20:14 +03:00
698def3934 fix bug #61070 2023-02-20 11:51:47 +03:00
6228c41af4 chart refactoring
chart external rels
2023-02-20 09:59:06 +03:00
bb0d2eea84 Merge branch 'develop' into fix/coderefact 2023-02-17 15:27:58 +03:00
a704a74fed common shapes for xls, pptx 2023-02-17 15:23:50 +03:00
00e9550927 . 2023-02-17 10:46:38 +03:00
8e36d60e4b fix bug #61222 2023-02-16 22:17:12 +03:00
daa392556a fix bug #61243 2023-02-16 21:49:22 +03:00
eea5608399 Merge pull request #1143 from ONLYOFFICE/fix/pdfLinks
fix pdf Links
2023-02-16 20:11:28 +03:00
a4fd9eba94 Merge remote-tracking branch 'origin/fix/v.7.3.3-chart-ex' into develop 2023-02-16 19:29:00 +03:00
1f3a104356 chart refactoring 2023-02-16 19:24:16 +03:00
a03b876269 Use sync_close instead of close 2023-02-16 19:23:15 +03:00
eecf268ac9 fix pdf Links
part of 52583
2023-02-16 18:26:21 +03:00
907734a202 pptx short project
Logic pri
2023-02-15 20:04:19 +03:00
3a4792e858 add extension 2023-02-15 17:52:27 +03:00
223c16f90e refactoring chart ooxml 2023-02-15 17:51:17 +03:00
2eeaaa7197 xls short project
Logic pri
2023-02-15 17:28:12 +03:00
9b419ce470 pptx refact 2023-02-15 13:15:39 +03:00
7f17ec7b29 doc: shapetypes pri 2023-02-14 16:21:32 +03:00
1fbbabeff0 . 2023-02-14 13:31:37 +03:00
bd895669f5 Merge branch 'hotfix/v7.3.3' into fix/v.7.3.3-chart-ex 2023-02-13 17:47:34 +03:00
ce6aeb48b7 - test project 2023-02-13 14:47:56 +03:00
7e767f0f3f fix bug #61031 2023-02-13 13:19:26 +03:00
cf37e1edef fix bug #61054 2023-02-13 11:59:31 +03:00
1427de8435 Merge branch 'develop' into fix/coderefact 2023-02-13 11:02:06 +03:00
7550c08748 Removed unnecessary variable m_nEntered from CJSContextPrivate 2023-02-10 13:06:20 +03:00
eedcaa9768 . 2023-02-10 10:43:32 +03:00
c615afa80e . 2023-02-10 10:41:31 +03:00
93435fce9f Merge branch 'hotfix/v7.3.3' of https://github.com/ONLYOFFICE/core into hotfix/v7.3.3 2023-02-10 10:27:41 +03:00
c6d767d8d9 . 2023-02-10 10:27:24 +03:00
8a9861a583 Fix memory leaks. Add ARC in xcode frameworks 2023-02-10 11:32:53 +05:00
e71e4068e4 fix bug #61089 2023-02-09 20:37:28 +03:00
29804158f9 Merge pull request #1142 from ONLYOFFICE/fix/bug61103
Fix bug #61103
2023-02-09 16:21:31 +03:00
9683d6e78c fix bug #61117 2023-02-09 15:40:26 +03:00
4cfe02a387 Fix bug #61103 2023-02-09 15:09:04 +03:00
57145240be Merge pull request #1141 from ONLYOFFICE/feature/x2ttester
Fix bug 60966
2023-02-08 21:01:13 +03:00
7d6a29d063 Fix bug 60966
Add timeouts & update README
2023-02-08 20:18:21 +03:00
f5c4dab90b Update x2ttester
timeouts in lunix
2023-02-08 18:42:54 +03:00
fc0f496c5f Fixed crash on multiple Enters on same context 2023-02-08 17:01:58 +03:00
f79ad969a4 Merge pull request #1140 from ONLYOFFICE/fix/bug61090
Fix bug #61090
2023-02-08 16:31:53 +03:00
916635782d Fixed working with Clip in wmf to svg conversion 2023-02-08 16:23:54 +03:00
96ff2246fa Fix bug #61090 2023-02-08 16:23:17 +03:00
1b10918258 Fix test.pro 2023-02-08 13:50:37 +03:00
4c9e904d10 . 2023-02-08 09:45:16 +03:00
24acad0cd2 Method implementations moved to js_base.cpp. Exported CreateDefaults(). CJSLocalScope implemented. 2023-02-08 00:05:58 +03:00
edeebcc438 . 2023-02-07 17:53:37 +03:00
6fb6021ad3 Update x2ttester
Windows (bug 60966)
2023-02-07 15:56:53 +03:00
c14083795f . 2023-02-07 15:22:24 +03:00
11099d2575 Merge pull request #1139 from ONLYOFFICE/feature/android_packages
Added android packages
2023-02-07 13:12:11 +03:00
62d05c02fb Merge branch 'feature/odf_4' into develop 2023-02-07 11:56:50 +03:00
117edc9c96 fix main_document 2023-02-07 11:54:42 +03:00
a1195e038e add chart extensible 2023-02-07 10:25:47 +03:00
ff1e280d7d Merge branch 'develop' into feature/odf_4 2023-02-07 10:22:36 +03:00
000f64267f Merge pull request #1138 from ONLYOFFICE/fix/fix-develop
Fix/fix develop
2023-02-07 10:21:41 +03:00
1e5e533d68 Merge remote-tracking branch 'origin/hotfix/v7.3.3' into fix/fix-develop 2023-02-07 10:20:49 +03:00
ac0cdd8fa2 Merge branch 'develop' into fix/coderefact 2023-02-07 11:43:00 +05:00
bc33a5b2e3 Removed m_globalTemplate from CJSContextPrivate. Removed js_base.pri from test.pro 2023-02-06 18:36:43 +03:00
43514de87e CJSContext scopes rework. Global template added. 2023-02-06 14:51:28 +03:00
52071831de Fix crash on using emdedder data in isolates 2023-02-06 11:36:45 +03:00
a133ce4714 Merge pull request #1136 from ONLYOFFICE/fix/pre7.3.3
Fix/pre7.3.3
2023-02-05 20:04:20 +05:00
608b04ca26 For bug 61014 2023-02-05 11:52:22 +03:00
2b6ad83b36 Fix bug 60433 2023-02-04 23:49:41 +03:00
f121da9f47 Merge remote-tracking branch 'origin/release/v7.3.0' into develop 2023-02-04 17:49:33 +03:00
61d26acf71 Implemented methods Enter() and Exit() in class CJSContext 2023-02-03 17:42:10 +03:00
d6dfe0623f pptx forward decs 2023-02-02 15:14:17 +03:00
0b9dc3c296 for bug #60963 (change paragraph place) 2023-02-02 13:08:34 +03:00
47e0ccbe29 fix bug #60963 2023-02-02 12:32:50 +03:00
5d720e75f5 . 2023-02-02 11:03:33 +03:00
ad03ae0390 fix group ole/math_equation in sheets from/to ods 2023-02-01 20:06:57 +03:00
90d709972d Merge pull request #1134 from ONLYOFFICE/fix/v7.3.0-fix-bugs
Fix/v7.3.0 fix bugs
2023-02-01 17:59:43 +03:00
6f8251fe04 pptx forward decs 2023-02-01 10:06:56 +03:00
f77d3440f6 Merge pull request #1133 from ONLYOFFICE/feature/pre_7.3.1
Add support tls & no tls in socketio (double code)
2023-01-31 23:01:31 +05:00
d5ab557578 fix build 2023-01-31 16:35:31 +03:00
1b84274673 Add support tls & no tls in socketio (double code) 2023-01-31 18:07:33 +05:00
f601d95d27 package embedding in binary ms 2023-01-31 11:31:26 +03:00
c16d63c011 Merge branch release/v7.3.0 into master 2023-01-31 07:57:44 +00:00
4e0e0265d0 fix bug #51001 2023-01-30 11:36:01 +03:00
bbf661e74e Fix bug 60874 2023-01-27 23:00:04 +03:00
e5253bbf35 Merge pull request #1130 from ONLYOFFICE/fix/v7.3.0-fix-60848
fix bug #60848
2023-01-27 17:15:50 +05:00
c2591eea02 fix bug #60848 2023-01-27 14:02:04 +03:00
cf0e9febe5 Merge pull request #1129 from ONLYOFFICE/fix/v7.3.0-fix-bugs
for bug #60804
2023-01-26 23:35:19 +05:00
a3696b07df for bug #60804 2023-01-26 20:50:27 +03:00
32e1be7493 Fix bug 60858 2023-01-26 20:01:17 +03:00
46a37c9199 [android] Add publish url 2023-01-26 09:35:33 +03:00
aea4996a45 Fix bug 55616 2023-01-25 21:03:23 +03:00
28257fca25 Fix bug 60850 2023-01-25 19:10:26 +03:00
3b779ded76 pptx minor forward decs 2023-01-25 18:45:15 +03:00
f846881e88 Merge pull request #1128 from ONLYOFFICE/fix/bug60827
Fix bug 60827
2023-01-25 17:30:35 +03:00
961e955ee4 Fix escape characters im pdf metadata 2023-01-25 17:06:13 +03:00
ac7569bc51 Merge pull request #1127 from ONLYOFFICE/fix/bug60827
Fix bug 60827
2023-01-25 14:42:33 +03:00
1cd49c52d2 Fix bug 60827 2023-01-25 14:40:19 +03:00
d49b74c0e0 minors 2023-01-25 13:03:11 +03:00
8338ff75c8 Merge pull request #1124 from ONLYOFFICE/fix/x2ttester
Fix bug 60241
2023-01-25 12:31:10 +03:00
a215476303 fix bug #60823 2023-01-25 11:37:59 +03:00
7e765011b8 fix bug #60739 2023-01-25 11:28:43 +03:00
c2e4fcfebd [android] Add upload to github packages 2023-01-25 11:26:55 +03:00
e649ecb7a0 Fix memory leak 2023-01-25 01:00:33 +03:00
fc45ed4aaf Merge pull request #1126 from ONLYOFFICE/fix/bug60690
fix typo
2023-01-24 18:40:25 +03:00
5c6956b5d5 fix 2023-01-24 18:37:59 +03:00
8a728e2ec9 Merge pull request #1125 from ONLYOFFICE/fix/bug60690
Fix bug 60690
2023-01-24 18:34:41 +03:00
9a515fc99e fix SetChanged 2023-01-24 18:30:53 +03:00
71ab0560f2 fix bDropEmpty 2023-01-24 18:29:20 +03:00
255c8cd547 Fix bug 60690 2023-01-24 18:24:47 +03:00
e36b2bcd93 bDropEmpty path for fill and clip 2023-01-24 16:47:27 +03:00
79aede17c6 test page 2023-01-24 16:36:05 +03:00
23afcb430c Fix bug 60674 2023-01-24 16:24:53 +03:00
5d4d2d817c fix bug #60735 2023-01-24 16:07:34 +03:00
8a2234d2b5 Update README 2023-01-24 13:40:28 +03:00
3526b286c3 . 2023-01-24 11:32:37 +03:00
d0b9a8e052 . 2023-01-24 10:21:35 +03:00
497ec9b2f1 fix bug #60797 2023-01-23 23:15:18 +03:00
7a4353bc4a Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-23 20:56:53 +03:00
0b2fa174d5 Add ctDocInfo command in check commands 2023-01-23 20:55:34 +03:00
9b0cd732e3 fix bug #60794 2023-01-23 20:52:58 +03:00
062e410efc Merge pull request #1123 from ONLYOFFICE/fix/v7.3.0-fix-bugs
fix bug #60739
2023-01-23 20:37:17 +03:00
1faa2c3f77 fix bug #60739 2023-01-23 20:36:25 +03:00
43ebeec93c . 2023-01-23 20:32:21 +03:00
32a851b4e4 Merge commit 'a039a36b8fec3c6060b38aef476d8ce8e1845c76' into feature/odf_4 2023-01-23 19:56:11 +03:00
70c7635af6 Fix bug 60241 2023-01-23 16:17:59 +03:00
7ae87cf15a Merge pull request #1121 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2023-01-23 15:59:28 +03:00
c73e91094f Merge pull request #1120 from ONLYOFFICE/fix/bug60665
Fix bug 60665
2023-01-23 15:58:20 +03:00
98df4659b5 Fix bug 59621 2023-01-23 15:26:01 +03:00
b2e2b06fc2 Fix bug 60665 2023-01-23 14:34:33 +03:00
a039a36b8f fix bug #60725 2023-01-23 12:01:47 +03:00
d6c4b2b95c Merge pull request #1119 from ONLYOFFICE/fix/html-docinfo
Fix html DocInfo
2023-01-23 10:15:36 +03:00
eb34cb7e23 Fix non-clean build 2023-01-22 20:29:16 +05:00
bc26f0bda4 Fix build 2023-01-22 17:50:09 +03:00
210d5ef30d Fix build in modern systems 2023-01-22 17:01:01 +03:00
b174c2c601 fix bug #60726 2023-01-22 15:13:54 +03:00
fa075d0224 Add support bundle_xcframeworks build flag 2023-01-22 13:24:46 +05:00
4a6c0e340b update external 2023-01-20 18:30:44 +03:00
65604849ac fix bug #60338 2023-01-20 18:18:50 +03:00
276de3c7b0 fix fb2 escaping characters 2023-01-20 17:42:09 +03:00
0ccd31865d fix bug #60674 2023-01-20 16:52:08 +03:00
ab2f79bd19 epub fix DocInfo 2023-01-20 16:08:55 +03:00
33ac9e4f5e Merge pull request #1118 from ONLYOFFICE/fix/metafile_bugs
Fix bug in metafile conversion
2023-01-20 15:52:19 +03:00
7f1e2370d2 fb2 fix DocInfo 2023-01-20 14:55:39 +03:00
a2aec43d22 doctrenderer delete asc_getCoreProps and x2t fix fb2/epub 2023-01-20 14:54:22 +03:00
aaae4d7728 [x2t] For bug 60665 2023-01-20 08:45:32 +03:00
2d1e08fbd1 Fix bug 60683 2023-01-19 22:42:10 +03:00
de4e27f5d7 Merge pull request #1117 from ONLYOFFICE/fix/x2ttester
Fix bug 60671
2023-01-19 19:09:53 +03:00
60e79db7b0 Fix misprint 2023-01-19 19:01:31 +03:00
00114714d1 Fix 2023-01-19 18:57:58 +03:00
62f98a8cc5 Fix
substr -> find
2023-01-19 18:42:00 +03:00
c6d9a22d16 Fix bug in metafile conversion 2023-01-19 18:37:00 +03:00
fab1c09db3 Fix 2023-01-19 18:27:09 +03:00
1911f11e51 Fix bug 60671 2023-01-19 18:01:40 +03:00
dfec7cb0bb . 2023-01-19 16:57:19 +03:00
8f11112c43 . 2023-01-19 16:35:55 +03:00
5071a61692 Merge pull request #1116 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-01-19 13:39:48 +03:00
bd2736ab09 Fix bug in metafile conversion 2023-01-19 12:54:09 +03:00
04196de46e . 2023-01-19 12:23:15 +03:00
e4c334e84c Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-19 10:39:52 +03:00
6214f187e0 fix bug #60510 2023-01-19 10:37:08 +03:00
55857b803a Fix bug 60276 2023-01-18 23:55:31 +03:00
d1c68f38d7 Fix bug in metafile conversion 2023-01-18 19:49:29 +03:00
ab80f5e399 Fix bug in metafile to svg conversion 2023-01-18 18:38:08 +03:00
457e4dadce Merge pull request #1114 from ONLYOFFICE/fix/bug60648
Fix bug 60648
2023-01-18 13:22:15 +03:00
f556fcf3fc fix m_bChanged in vector 2023-01-18 12:45:10 +03:00
fd88dbd7df fix bug #60515 2023-01-18 12:37:58 +03:00
97f440ebab Fix bug 60648
related bug 59523
2023-01-18 11:27:23 +03:00
3dcc8e916d Merge pull request #1113 from ONLYOFFICE/fix/x2ttester
Fix bug 60241
2023-01-18 10:41:44 +03:00
a1a7b903b6 fix bug #60490 2023-01-17 23:25:23 +03:00
a9a7c3fb22 fix bug #59365 2023-01-17 22:51:44 +03:00
c76f50a2f8 Merge pull request #1105 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2023-01-17 16:15:48 +03:00
830ef2ad60 refactoring
includes using forward declarations
2023-01-17 15:42:33 +03:00
55c2b426f4 Merge pull request #1112 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-01-17 14:59:06 +03:00
c5729090b3 Merge pull request #1111 from ONLYOFFICE/fix/bug60468
Fix bug #60468
2023-01-17 14:58:34 +03:00
d3a98c0164 Added scaling of patterns in metafile to svg conversion 2023-01-17 14:46:37 +03:00
2bd9d2fdf3 Fix bug #60609 2023-01-17 12:35:57 +03:00
7065c1a563 Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt2' into release/v7.3.0 2023-01-17 12:20:02 +03:00
866a36448f Fix bug in metafile to svg conversion 2023-01-17 11:57:29 +03:00
02155b0b97 Fix bug #60608 2023-01-17 11:56:46 +03:00
8e15985b83 Fix
Doesnt create any folders, if no output formats
2023-01-17 11:47:50 +03:00
96b5eae285 fix bug #59405 2023-01-17 10:23:25 +03:00
1792a24827 Merge branch 'develop' into fix/coderefact 2023-01-16 21:17:13 +03:00
898844453d Fix bug #60468 2023-01-16 19:33:07 +03:00
e9e87d89c9 Merge pull request #1110 from ONLYOFFICE/fix/bug60405
Fix bug #60405
2023-01-16 18:07:01 +03:00
5f31790f7a Fix bug #60405 2023-01-16 17:13:48 +03:00
ff9884b73d Fix 2023-01-16 17:06:41 +03:00
27bf69fd98 Fix bug 60513 2023-01-16 15:25:07 +03:00
e71d04bd9d Merge pull request #1109 from ONLYOFFICE/fix/v7.3.0-fix-bugs
.
2023-01-16 15:10:20 +03:00
3b802bac97 . 2023-01-16 15:09:38 +03:00
2129ed7492 Merge pull request #1108 from ONLYOFFICE/fix/v7.3.0-fix-bugs
Fix/v7.3.0 fix bugs
2023-01-16 15:08:49 +03:00
96a7298071 Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt2' into fix/v7.3.0-fix-bugs 2023-01-16 15:04:08 +03:00
da6c775fb8 fix bug #55298 2023-01-16 15:03:53 +03:00
a445b973c2 Fix bug 60241 2023-01-16 14:33:29 +03:00
8f5a7218b8 Merge pull request #1106 from ONLYOFFICE/fix/metafile_to_svg
Fix bugs in metafile to svg conversion
2023-01-15 22:53:24 +03:00
c4ea1ee198 Merge pull request #1107 from ONLYOFFICE/fix/metafile_to_raster
Fix bug in metafile to raster conversion
2023-01-15 22:53:00 +03:00
4d678fc7a7 For bug 60488 2023-01-15 22:28:57 +03:00
0f1d473360 [test] Update test 2023-01-15 17:40:51 +03:00
738fea25e6 Fix bug 60141 2023-01-14 22:03:05 +03:00
c0097de544 docx refactoring
Correct includes using forward declarations
2023-01-14 10:59:34 +03:00
c07ae1bbb4 Merge branch 'develop' into fix/coderefact 2023-01-13 17:23:19 +03:00
349bed9dbc Fix bug #58904 2023-01-13 17:17:37 +03:00
b848c1b828 . 2023-01-13 17:14:51 +03:00
032ec1dffd Merge pull request #1101 from ONLYOFFICE/fix/bug60483
Fix bug 60483
2023-01-13 17:10:49 +03:00
b04bd26758 Merge pull request #1104 from ONLYOFFICE/fix/bug60114
Fix bug 60114
2023-01-13 16:43:30 +03:00
d67a10268a Fix bug 60114 2023-01-13 16:35:38 +03:00
1a7be8a6e8 Merge branch 'develop' into fix/coderefact 2023-01-13 15:52:36 +03:00
0d1877efb7 fix bug #59407 2023-01-13 15:40:14 +03:00
d43ff48bc6 Fix bug 60114 2023-01-13 14:57:09 +03:00
e02c6e81be Fix bug #60541 2023-01-13 13:30:52 +03:00
d23d795160 Fix bug 60139 2023-01-13 13:20:06 +03:00
2b5ffd05a2 Fix bug #60486 2023-01-13 13:11:01 +03:00
e297f32b31 fix bug #60542 2023-01-13 12:28:02 +03:00
06716f1607 . 2023-01-13 12:07:22 +03:00
0f64eadedb Fix bug 60511 2023-01-13 11:38:26 +03:00
13d1d3d3e9 x2t fix 2023-01-13 10:37:35 +03:00
6a5f065833 Merge branch 'develop' into fix/coderefact 2023-01-13 07:22:12 +03:00
1204a9a501 Add getPaths method to zip engine 2023-01-12 23:20:54 +03:00
1b6c278b87 minor 2023-01-12 22:45:54 +03:00
996475fca2 . 2023-01-12 22:29:34 +03:00
243214b060 . 2023-01-12 22:14:07 +03:00
7382845517 . 2023-01-12 22:02:50 +03:00
463befcc67 Merge remote-tracking branch 'origin/fix/coderefact' into develop 2023-01-12 16:08:55 +03:00
b1148caaed Merge remote-tracking branch 'origin/fix/bug59621' into develop 2023-01-12 16:08:39 +03:00
c37105e4ae Xlsx refactoring
Correct includes using forward declarations.
x2t compiled(debug/release) and checked.
2023-01-12 15:44:13 +03:00
8e7e317e4b Fix bug in metafile to svg conversion 2023-01-12 13:40:18 +03:00
05ffb10eaa fix part of 59407 bug 2023-01-12 13:36:10 +03:00
b1474a84c4 SetDocumentInfo 2023-01-12 11:05:05 +03:00
ec547778b5 Xlsx refactoring
correct includes using forward declarations
2023-01-12 09:26:29 +03:00
c14b1c73bf Xlsx refactoring
correct includes vai forward declarations
2023-01-11 21:53:50 +03:00
454ef30d56 creator 2023-01-11 17:54:12 +03:00
0570672f95 Merge pull request #1100 from ONLYOFFICE/fix/bug58644
Fix bug 58644
2023-01-11 16:11:03 +03:00
cf8b06f9c2 Merge pull request #1103 from ONLYOFFICE/fix/metafile_to_raster
Fixing bugs in converting metafile to raster
2023-01-11 16:09:07 +03:00
ba77b4632c Merge pull request #1102 from ONLYOFFICE/fix/metafile_to_svg
Fixing bugs in converting metafile to svg
2023-01-11 16:08:50 +03:00
40c65b46be Fix bug #60486 2023-01-11 15:53:08 +03:00
a4ec604b1b Fix bug #60485 2023-01-11 15:10:19 +03:00
9ae3d1623c Added a condition to the creation of lines in the metafile conversion to svg 2023-01-11 13:28:29 +03:00
551d356b79 Fixed a bug with creating a pattern in converting a metafile to svg 2023-01-11 13:11:39 +03:00
931e81a8a0 Refactoring 2023-01-11 12:51:16 +03:00
64a1fd5e7b Fixed a bug with inverted text in metafile to svg conversion 2023-01-11 12:47:58 +03:00
25b61c9838 Fixed bug #60480 2023-01-11 12:47:40 +03:00
d1dde6f1a0 Fix bug #60478 2023-01-10 19:29:57 +03:00
57427336fa Fix bug 60483 2023-01-10 15:59:19 +03:00
c2ef4a871c Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-10 14:24:51 +03:00
cd1e176b1d fix bug #60491 2023-01-10 14:24:39 +03:00
de1339af79 [mobile] Add document protection defines 2023-01-10 14:17:37 +03:00
2171b5530b fix bug #59705 2023-01-10 14:10:39 +03:00
1a6a9b5cb5 Fix bug 58644 2023-01-10 13:34:24 +03:00
3001b0b6d2 Fixed a bug in converting metafile to svg 2023-01-09 21:54:30 +03:00
2011bf6464 Fix bug #60471 2023-01-09 20:20:58 +03:00
f70be27826 Fix bug #60461 2023-01-09 19:29:26 +03:00
27b407ba48 Remove not used websocket engine 2023-01-01 19:51:50 +03:00
ee22dd9b26 . 2022-12-31 00:53:47 +03:00
3941d51d1e add chart animatin. Fix part of 59407 2022-12-30 18:01:02 +03:00
24236ed509 Merge branch 'develop' into fix/coderefact 2022-12-30 16:56:59 +03:00
11f645cb2b Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2022-12-30 16:54:42 +03:00
dd02f82697 Merge branch 'develop' into fix/coderefact 2022-12-30 16:36:19 +03:00
fba7ca95f8 . 2022-12-30 15:08:19 +03:00
d2a7f573c6 . 2022-12-30 12:38:56 +03:00
b0769432d3 Merge remote-tracking branch 'origin/fix/coderefact' into develop 2022-12-30 12:16:52 +03:00
bd343c88d1 Merge remote-tracking branch 'origin/release/v7.3.0' into develop 2022-12-30 12:15:42 +03:00
243d8dd2e1 xls impl separation
current step is needed to compare the implementations of shapes and further merge with pptx
2022-12-30 12:15:40 +03:00
2a8e7667bd xls changes
revert common xls-pptx shapes (required common BaseShape)
2022-12-29 19:27:45 +03:00
be7a75c7c9 Merge pull request #1099 from ONLYOFFICE/fix/metafile_to_svg
Fix metafile to svg conversion
2022-12-29 18:43:19 +03:00
a8e5a98d5f Fix bug #60398 2022-12-29 18:22:37 +03:00
cac8df19c1 Fix bug #60397 2022-12-29 18:22:14 +03:00
4fa275fd55 bindoc: -unused includes 2022-12-29 14:16:08 +03:00
fe04849ca4 Refactoring 2022-12-29 11:47:19 +03:00
8182c95dfc txt: -unused includes 2022-12-29 08:20:01 +03:00
36a4aaad45 docx: - unused includes 2022-12-28 20:29:38 +03:00
419437b1fa Merge pull request #1098 from ONLYOFFICE/fix/bug57911
Fix bug 57911
2022-12-28 20:09:59 +03:00
6e78bc880d refactoring 2022-12-28 17:28:57 +03:00
29ec077815 Refactoring 2022-12-28 16:47:57 +03:00
8a054f5cdf Fix indents 2022-12-28 14:14:01 +03:00
4310394fc7 fix error empty font 2022-12-28 13:51:47 +03:00
bc7aa9d328 fix bug #60361 2022-12-28 13:32:50 +03:00
1cd73fd770 for bug #60323 2022-12-28 11:51:17 +03:00
11ddc810d7 fix place js_get_stream_id 2022-12-28 11:46:04 +03:00
e3e3f8a4e6 upd for #6e14576
ComplexTypes_AdditionConstructors: constructor calls a virtual function
2022-12-28 09:05:05 +03:00
69ff1ca505 Senf ranges to pdf/xps module 2022-12-27 15:44:35 +03:00
5c46c77beb Merge remote-tracking branch 'origin/fix/coderefact' into develop 2022-12-26 15:43:26 +03:00
975a2409ab Merge remote-tracking branch 'origin/release/v7.3.0' into develop 2022-12-26 15:42:48 +03:00
6e14576097 fix: constructor calls a virtual function
docx, pptx
2022-12-26 12:15:47 +03:00
848a1762f9 fix bug #60307 2022-12-23 16:13:27 +03:00
492d86393e fix bug #60314 2022-12-23 15:48:58 +03:00
a70e9c63bc Merge pull request #1097 from ONLYOFFICE/fix/bug59025
Fix bug 59025
2022-12-23 13:12:33 +03:00
a90cdc2cdb Fix bug 59025 2022-12-23 12:57:05 +03:00
37d77e458b fix bug #60305 2022-12-22 18:58:04 +03:00
2b1db43259 for bug #60299 2022-12-22 17:59:09 +03:00
5f80804661 fix 2022-12-22 15:34:45 +03:00
fba86b7071 InitializeFontsRanges 2022-12-22 14:52:41 +03:00
539d067dc4 fix bug #60270 2022-12-22 12:41:01 +03:00
54b8c99431 rebase js_get_stream_id 2022-12-21 18:25:28 +03:00
c280e9c829 ppt, xls common shapes
duplicate shapes have been removed
2022-12-21 13:48:44 +03:00
69e0524960 fix bug #59960 2022-12-21 13:37:40 +03:00
36810c9127 oform 2022-12-20 20:16:54 +03:00
e4fa81b16b Merge pull request #1089 from ONLYOFFICE/fix/bug56904
Fix bugs 56130, 56904, 59379
2022-12-20 19:51:23 +03:00
3c2f982bb2 Rebuild module 2022-12-20 18:10:14 +03:00
c6930b4ffd fix IsNeedCMap 2022-12-20 17:36:42 +03:00
abec59d9bf define 2022-12-20 17:14:34 +03:00
86edbdf9a5 fix 56130 2022-12-20 16:42:43 +03:00
b7fc8748d2 fix 2022-12-20 16:12:05 +03:00
e9a116c1c8 Merge pull request #1094 from ONLYOFFICE/fix/x2ttester
Fix bug 60093
2022-12-20 15:04:28 +03:00
cd3b39581d protect (+) 2022-12-20 11:16:30 +03:00
24e04314d8 Merge branch hotfix/v7.2.2 into master 2022-12-20 07:55:40 +00:00
0368fa0f36 fix bug #40946 2022-12-19 21:22:22 +03:00
eb169b49ed setCMap for drawingfile_base 2022-12-19 18:17:07 +03:00
eaf3b7fd9f create IsNeedCMap and three types of getting CMap 2022-12-19 17:53:58 +03:00
d60d5eca86 ppt shapes (pri impl separation) 2022-12-18 10:02:52 +03:00
6a966c9cb9 xls, ppt, pptx changes
- implicit includes have been resolved
- preparation before common shapes(pri)
- x2t compiled
2022-12-17 14:19:53 +03:00
cba1724045 Fix bug #59714 2022-12-16 17:52:13 +03:00
a637e40bad Merge remote-tracking branch 'origin/fix/coderefact' into develop 2022-12-16 16:01:31 +03:00
cdf3918489 Merge remote-tracking branch 'origin/release/v7.3.0' into develop 2022-12-16 15:57:52 +03:00
77529ecc7e Merge pull request #1095 from ONLYOFFICE/fix/metafileToSvg
Refactoring metafile to svg conversion
2022-12-16 14:07:19 +03:00
902f7a33d1 Fixed typos 2022-12-16 11:53:52 +03:00
48ae9df1cf Fix ignore file 2022-12-16 11:51:30 +03:00
06668af052 Add test app 2022-12-16 11:47:33 +03:00
a6e7d21f80 Fix build 2022-12-16 11:10:18 +03:00
84d1d8a68d Add sources for keychain plugin 2022-12-15 23:17:16 +03:00
5890849e42 Hatches generation has been moved to a separate class 2022-12-15 21:34:16 +03:00
086c0e71cc fix bug #59193 2022-12-15 19:31:10 +03:00
3404bea247 fix bug #59917 2022-12-15 19:06:58 +03:00
a5756e42ce for bug #59496 2022-12-15 16:07:35 +03:00
fb2e149f95 Refactoring and combining code 2022-12-15 16:01:27 +03:00
4d94f248e2 pri for all shapes (ppt + pptx)
x2t compiled and checked.
TODO: _T->L
2022-12-15 12:51:42 +03:00
e91f52ca16 minors
DEFINE_SHAPE_CLASS for ppt & pptx
2022-12-15 09:47:48 +03:00
e77311983a fix build
x2t compiled
2022-12-14 21:44:42 +03:00
c0a833fac6 pptx shapes refact + pri 2022-12-14 21:13:51 +03:00
2c0c356371 . 2022-12-14 16:35:12 +03:00
a7c9bf8f1d . 2022-12-14 16:29:19 +03:00
2093579b77 limits pri 2022-12-14 15:50:01 +03:00
7b1715cfcf Update readme 2022-12-14 14:31:43 +03:00
22b709b4d7 . 2022-12-14 12:15:58 +03:00
f0ffe097da . 2022-12-14 12:05:04 +03:00
27c918d810 . 2022-12-14 11:49:09 +03:00
de8746898a fix build 2022-12-14 11:34:59 +03:00
3bd847237b beauty code pptx limits 2022-12-14 00:23:15 +03:00
7f2e1ed97d Fix bug 60093 2022-12-13 22:19:53 +03:00
7aea6bf451 operator= by string problem 2022-12-13 21:00:29 +03:00
4cd3b71c07 fix bug #56631 2022-12-13 20:40:57 +03:00
791c786bf7 Refactoring modules [hash, oform, all] 2022-12-13 18:26:43 +03:00
41a358764f watermark id 2022-12-13 18:25:39 +03:00
3d077122c6 Merge pull request #1093 from ONLYOFFICE/fix/x2ttester
Fix BOM
2022-12-13 17:13:45 +03:00
f3a393080c Fix BOM 2022-12-13 17:11:39 +03:00
71553d5aa4 Merge pull request #1092 from ONLYOFFICE/fix/x2ttester
Fix bugs
2022-12-13 16:33:28 +03:00
e97569a4bb Fix bug 60129 2022-12-13 15:24:21 +03:00
cd56cb6dc8 comments 2022-12-13 14:08:57 +03:00
162e96cebd Developing 2022-12-13 13:02:56 +03:00
6d29cda8ea Add code for engine_base.js 2022-12-13 12:45:08 +03:00
f215c343b4 Merge pull request #1091 from ONLYOFFICE/fix/bug60110
Fix bug #60110
2022-12-13 11:24:12 +03:00
f3b8e8158a Add compiled module 2022-12-13 11:21:49 +03:00
9d31985ae0 Merge pull request #1090 from ONLYOFFICE/fix/x2t
Fix/x2t
2022-12-13 10:01:48 +03:00
28c99c4d4f Fix bug 60118 2022-12-12 22:57:11 +03:00
b31ceac8c9 Fix 2022-12-12 22:49:21 +03:00
e9a17f9593 Fix bug 60120 2022-12-12 22:31:47 +03:00
35b301b382 Fix bug #60110 2022-12-12 20:29:18 +03:00
fdb49b7b69 load CMapData and create CMapToMemory 2022-12-12 18:03:31 +03:00
7f47ac262c fix bug #60112 2022-12-12 18:02:29 +03:00
db6ab0b003 Merge remote-tracking branch 'origin/release/v7.3.0' into develop 2022-12-12 17:43:44 +03:00
4325e5f9d3 . 2022-12-12 17:42:58 +03:00
2e2258f369 . 2022-12-12 17:39:53 +03:00
0e604235fb fix bug #60111 2022-12-12 17:39:03 +03:00
fc3f8e61fa Merge remote-tracking branch 'origin/release/v7.3.0' into develop 2022-12-12 17:26:03 +03:00
4551f1eadc . 2022-12-12 17:24:50 +03:00
74866e2898 . 2022-12-12 17:19:31 +03:00
14f04509a7 . 2022-12-12 17:18:51 +03:00
eb5180471e Fix compile module 2022-12-12 16:45:13 +03:00
796190157a Optimize code 2022-12-12 16:19:48 +03:00
297f963990 Refactoring oform plugin module 2022-12-12 16:13:14 +03:00
fdf39011dd Refactoring 2022-12-12 16:07:49 +03:00
044c8b59c2 CMap file 2022-12-12 15:28:29 +03:00
f69aab7562 Add methods for sign/keys module 2022-12-12 14:52:33 +03:00
6a14a4daad Merge remote-tracking branch 'origin/release/v7.3.0' into develop 2022-12-12 11:37:20 +03:00
d79a6977dc . 2022-12-11 21:18:14 +03:00
aa20538015 - precompiled odf 2022-12-11 17:15:08 +03:00
36b6e4b5ff . 2022-12-11 16:21:44 +03:00
4eae0651d6 ppt build fix. ready to merge 2022-12-11 16:08:37 +03:00
2fd4e80650 Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 15:48:32 +03:00
99fee71d3a . 2022-12-11 15:05:37 +03:00
291dbbe0bb Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 14:22:25 +03:00
8a49166605 . 2022-12-11 13:57:44 +03:00
8d649c370b fix build 2022-12-11 13:45:59 +03:00
baf917818c Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 13:28:50 +03:00
585d2e5a4a fix build 2022-12-11 13:16:16 +03:00
6ca66fa683 Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 11:51:41 +03:00
ddc20afc2c . 2022-12-11 09:34:25 +03:00
cd7f4e5c1f Merge remote-tracking branch 'origin/fix/refact-ppt3' into release/v7.3.0 2022-12-11 09:19:40 +03:00
d5dbf1b8eb Separate some h and cpp (Reader/Records) 2022-12-10 15:23:36 +03:00
676cdaf04a remove iostream includes and using namespace in header file 2022-12-10 14:54:44 +03:00
3cd9e6d397 add missing license - part 2 2022-12-10 13:42:34 +03:00
ab6424731c add missing license 2022-12-10 13:20:52 +03:00
3870d16cbc PPT_FORMAT -> PPT in all project 2022-12-10 13:16:21 +03:00
e802ed01e1 Fix SSlidePersist build problem 2022-12-10 12:20:34 +03:00
74bac4cec6 Reformat records. SSlidePersist build problem 2022-12-10 11:47:59 +03:00
85a5dcd7ee Merge branch 'release/v7.3.0' into fix/refact 2022-12-10 10:39:24 +03:00
aeaa86c88f odf minor 2022-12-10 10:39:02 +03:00
0da7b35757 rtf include changes 2022-12-09 23:44:55 +03:00
690a75022c sepatate h files. No records 2022-12-09 19:56:49 +03:00
5d57702985 create CMapDirToFile 2022-12-09 18:49:31 +03:00
2d0baac6fe change namespace PPT_FORMAT -> PPT 2022-12-09 18:01:24 +03:00
b1c9245223 Fix compile modules 2022-12-09 17:07:06 +03:00
3685bb311c Add cert engine for oform 2022-12-09 17:03:24 +03:00
4673d68387 . 2022-12-08 18:50:53 +03:00
98175e438f Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-08 18:22:59 +03:00
8d01de861f ready to merge
rtf format refactored.
x2t compiled.
2022-12-08 17:57:42 +03:00
5aa6386249 Fix bug 60054 2022-12-08 17:39:56 +03:00
2341689208 clear 2022-12-08 17:02:48 +03:00
6823e0e241 fix 2022-12-08 17:01:02 +03:00
31b5771a19 file length comparison 2022-12-08 16:59:58 +03:00
c1b84ee96f Merge branch 'release/v7.3.0' into fix/refact 2022-12-08 14:37:04 +03:00
237d20eed2 RtfFile refact
OOXml/Writer folder
2022-12-08 14:31:37 +03:00
dd988ad3cf RtfFile/Format refact 2022-12-08 13:30:24 +03:00
c609c616f0 . 2022-12-08 09:31:32 +03:00
93cb4b1be3 fix bug #59977 2022-12-07 18:52:34 +03:00
4b1190f54b Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-07 15:56:22 +03:00
664c14b894 ready to merge
doc format done.
2022-12-07 15:20:44 +03:00
dbb4b67491 Fix previous commit 2022-12-07 15:11:33 +03:00
1c10b51ec2 Merge branch 'release/v7.3.0' into fix/refact 2022-12-07 15:00:58 +03:00
a280d5822c Doc format refactored
x2t compiled.
2022-12-07 15:00:36 +03:00
bf6747d362 Fix previous commit 2022-12-07 14:56:10 +03:00
b96ab6bd1f Fix build 2022-12-07 14:52:18 +03:00
1d61dba795 Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2022-12-07 14:40:32 +03:00
cc522274b6 Change app for server sharing 2022-12-07 14:39:45 +03:00
7bf7e80100 Add missed file 2022-12-07 10:40:17 +03:00
528e3e3e15 Remove unneeded code 2022-12-07 00:10:38 +03:00
d69ff8e495 Add comment 2022-12-06 20:50:22 +03:00
59153b1a38 Fix build for multiply arches at the same time 2022-12-06 19:48:07 +03:00
f1499aeae4 generate autogen 2022-12-06 18:29:15 +03:00
657d04adb2 get binary cmap 2022-12-06 18:24:12 +03:00
c46f81630d Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-06 17:48:59 +03:00
55d5573e17 Add ignore file 2022-12-06 17:04:50 +03:00
2aed22cd6b FIx previous commit 2022-12-06 16:35:29 +03:00
8796dacf93 Add socketio worked version 2022-12-06 16:33:47 +03:00
24fc302a32 ready to merge
x2t compiled with pptx optimization
2022-12-06 14:26:01 +03:00
5dbfc32c3e Merge branch 'release/v7.3.0' into fix/refact 2022-12-06 13:34:59 +03:00
90283fab8a pptx: optimization on
without AVSINLINE
2022-12-06 13:34:38 +03:00
d809afc62a fix bug #59976 2022-12-06 12:37:02 +03:00
5a7ed95b7e fix bug #60000 2022-12-06 12:21:33 +03:00
eb73c4592b Merge pull request #1088 from ONLYOFFICE/fix/bug35023
Fix bug 35023 and other fixes
2022-12-06 10:36:31 +03:00
aa55140bd7 . 2022-12-06 09:53:34 +03:00
b4f7005f7b Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-06 09:48:19 +03:00
c085828e02 . 2022-12-06 09:29:40 +03:00
147fd5de04 x2t compiled
pptx: pch disabled.
2022-12-06 09:17:43 +03:00
e38498ecba Merge branch 'release/v7.3.0' into fix/refact 2022-12-05 20:28:58 +03:00
fbea298e13 pptx done 2022-12-05 20:27:53 +03:00
e0eecd44cb precompiled - lite mode 2022-12-05 19:20:09 +03:00
a214c3a7cd fix debug build 2022-12-05 19:12:31 +03:00
ce07772680 small refactoring 2022-12-05 17:41:48 +03:00
f38ddc22f1 Merge pull request #1075 from ONLYOFFICE/fix/bug59524
Fix bug 59524
2022-12-05 16:05:45 +03:00
b2e5f6a039 openjpeg support 2022-12-05 16:02:57 +03:00
86dc8b5eb0 . 2022-12-05 15:23:39 +03:00
83060ec8a0 Fixed bug 2022-12-05 15:16:21 +03:00
fab394f33f Removed unnecessary 2022-12-05 15:12:34 +03:00
6506542e35 pptx: Logic/(Runs, Table, Transitions, Path2D)
pch turn off temporarily
2022-12-05 14:34:51 +03:00
d5fa2f3070 Merge pull request #1083 from ONLYOFFICE/fix/bug59250
Fix bug 59250
2022-12-05 09:44:28 +03:00
73116f6375 . 2022-12-05 09:28:44 +03:00
e2d2aba8e5 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-05 08:54:52 +03:00
b4820e0e05 fix build linux/macos 2022-12-05 08:21:54 +03:00
46ab617a67 Merge branch 'release/v7.3.0' into fix/refact 2022-12-04 13:35:56 +03:00
3541a01301 Merge pull request #1087 from ONLYOFFICE/fix/x2ttester
Fix bug 60002
2022-12-04 13:33:33 +03:00
bddf255598 pptx: Logic/(Colors, Fills, Media, Path2D) 2022-12-04 13:30:17 +03:00
9b58a31759 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-04 10:09:48 +03:00
6d27258090 pptx: Logic/Bullets & Logic/Effects 2022-12-04 00:12:56 +03:00
0507f52a84 Fix bug 60002 2022-12-03 15:54:07 +03:00
2203b9a98e odf pch 2022-12-03 10:26:35 +03:00
96380b314e x2t compiled (debug/release)
debug: compilation speed up
2022-12-02 22:52:40 +03:00
8502c3cea3 Update precompiled.h 2022-12-02 20:42:30 +03:00
c1673b148c Update precompiled.h 2022-12-02 20:40:44 +03:00
04c84c7a9a fix TxtXmlFormatLib + pch files (not final) 2022-12-02 20:38:05 +03:00
53dfc2f2d1 Fixed bugs 2022-12-02 19:06:48 +03:00
2e77b8ef2f Fixed memory leak 2022-12-02 19:05:58 +03:00
62d6f365cb all CMap for Adobe-GB1 2022-12-02 17:16:14 +03:00
eb67c01e34 Merge pull request #1085 from ONLYOFFICE/fix/x2ttester
Fix/x2ttester
2022-12-01 21:37:21 +03:00
0a72a6d1c8 Refactoring 2022-12-01 21:34:49 +03:00
d7d64cbead Refactoring 2022-12-01 21:23:44 +03:00
519e950218 Fixed bug 35023 2022-12-01 17:59:42 +03:00
fb3152fe65 Merge branch 'release/v7.3.0' into fix/refact 2022-12-01 14:43:12 +03:00
4130df7b6c PPTXFormat: Logic (root files)
PPTXFormatLib compiled(release/debug).
x2t compiled.
2022-12-01 14:37:40 +03:00
d529009e26 fix txt 2022-12-01 10:41:59 +03:00
5362ad02db Refactoring 2022-12-01 00:31:38 +03:00
98e3fc20d5 Refactoring 2022-12-01 00:24:09 +03:00
15f10641aa Update x2t readme 2022-12-01 00:12:09 +03:00
572dfd97ce x2t/x2ttester/standardarttester update 2022-12-01 00:08:56 +03:00
d6022efefb Add new algs 2022-11-30 21:48:07 +03:00
de0146e007 Merge pull request #1084 from ONLYOFFICE/fix/bug57911
Fix bug 57911
2022-11-30 19:26:13 +03:00
837b4d5d9b fix 2022-11-30 17:07:39 +03:00
472677cc61 Fix bug 57911
Also partially fixed 58084
2022-11-30 16:44:47 +03:00
641b77da3b minor 2022-11-30 16:19:06 +03:00
583eb8d41e Merge branch 'release/v7.3.0' into fix/refact 2022-11-30 16:04:56 +03:00
ce17a08b17 PPTXFormat: Limit 2022-11-30 16:02:28 +03:00
6cf6013fd6 fix link 2022-11-30 14:57:25 +03:00
e5812bb7c7 Refactoring 2022-11-30 14:50:16 +03:00
239fb5115a . 2022-11-30 14:16:59 +03:00
7f22fa5ce2 fix mac build 2022-11-30 13:10:52 +03:00
712014cfd8 . 2022-11-30 11:40:45 +03:00
a2ac053f85 Merge branch 'release/v7.3.0' into fix/refact 2022-11-30 11:39:10 +03:00
446b8da69a PPTXFormat: ShowPr, Presentation
checked on debug build
2022-11-30 11:33:37 +03:00
27fbc6fa06 . 2022-11-30 11:27:04 +03:00
cc160a50c8 . 2022-11-30 10:56:03 +03:00
ce3aa935d4 build fix after commit 21046ac 2022-11-30 10:09:36 +03:00
8828e9c678 PPTXFormat: Theme, ViewProps 2022-11-30 09:23:02 +03:00
10365d431a unzip fix 2022-11-30 01:43:07 +03:00
def2fb7f85 . 2022-11-29 22:42:58 +03:00
b77268485d . 2022-11-29 22:29:27 +03:00
21046acdd7 . 2022-11-29 22:17:24 +03:00
4a86601909 Merge branch 'release/v7.3.0' into fix/refact 2022-11-29 19:38:35 +03:00
246e62242c fix after merge 2022-11-29 19:27:27 +03:00
9bddef6976 fix namespaces 2022-11-29 19:17:57 +03:00
5f9526d4a0 sync 2022-11-29 18:56:32 +03:00
f382bc9bc8 Merge branch 'release/v7.3.0' into fix/refact 2022-11-29 18:42:55 +03:00
9363fb6e68 PPTXFormat cpp
part 1
2022-11-29 18:32:26 +03:00
566c44a74b revert ppt 2022-11-29 17:09:15 +03:00
a327e4e1fe [x2t] Fix ContentTypes writing for XlsIO library(minfin) 2022-11-29 16:17:34 +03:00
5e37534f4f fix 2022-11-29 14:59:07 +03:00
e1acff706f fix 2022-11-29 13:59:57 +03:00
a87e1d3467 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-11-29 12:42:35 +03:00
7dc713d4fb fix 2022-11-29 12:41:54 +03:00
958badadf9 Merge remote-tracking branch 'origin/fix/refact-ppt' into release/v7.3.0 2022-11-29 11:27:23 +03:00
30f804bfd9 BinDocument refactoring 2022-11-29 09:45:40 +03:00
5399478419 Merge branch 'release/v7.3.0' into fix/refact 2022-11-28 21:10:48 +03:00
b0fe9d0c5b Added .cpp files for all files 2022-11-28 18:49:17 +03:00
adfdac39ef Added .cpp files for all records 2022-11-28 17:37:12 +03:00
9edbe9fee2 fix 2022-11-28 13:57:57 +03:00
502f612aa2 Fix bug 59250 2022-11-28 13:48:21 +03:00
eb5eb69be3 fix bug #59786 2022-11-28 13:32:50 +03:00
ad3faa301d references 2022-11-28 13:14:17 +03:00
dba6f3c705 - unused files 2022-11-27 21:06:01 +03:00
a44a287ca9 . 2022-11-26 11:54:16 +03:00
1b2a57a220 minor 2022-11-26 11:19:09 +03:00
0f929b4a88 build fix after merge 2022-11-25 20:20:45 +03:00
92aa553740 Merge branch 'release/v7.3.0' into fix/refact 2022-11-25 19:01:41 +03:00
f7e0d6e004 OOXML/XlsxFormat done 2022-11-25 18:37:50 +03:00
df7390ad2a build fix 2022-11-25 14:11:39 +03:00
47679d47ba . 2022-11-25 10:43:28 +03:00
524f4cc285 XlsxFormat changes
part 2
2022-11-25 10:17:04 +03:00
4a74b4a934 XlsxFormat changes
part 1
2022-11-24 20:52:35 +03:00
7efd8f5962 Merge pull request #1080 from ONLYOFFICE/release/v7.3.0
Fix build
2022-11-24 10:43:55 +03:00
e544845048 Merge pull request #1079 from ONLYOFFICE/release/v7.3.0
Fix build
2022-11-24 10:02:56 +03:00
1dd6e91180 fix build (inline)
must be agreed with the top)
2022-11-23 22:52:51 +03:00
26c2029300 Merge pull request #1077 from ONLYOFFICE/release/v7.3.0
Release/v7.3.0
2022-11-23 19:25:39 +03:00
d15762cb36 OOXML/DocxFormat done 2022-11-23 19:06:13 +03:00
78dcd9065c fix JPXStream2 2022-11-23 17:23:57 +03:00
3e092303c1 Merge branch 'release/v7.3.0' into develop 2022-11-23 10:47:04 +03:00
00d9ed438b docx cpp
+Math, +Media, +Settings
2022-11-22 21:14:38 +03:00
2fe7f309af logic to cpp 2022-11-22 16:52:21 +03:00
7e515862a5 build fix 2022-11-22 00:06:36 +03:00
194f2f6b26 . 2022-11-21 23:53:48 +03:00
b2665a2e68 . 2022-11-21 23:10:02 +03:00
4fa833bac2 DocxFormat Opt
to cpp:
- Diagram
- Drawing
- External
- Logic

Without core_release:
145MB -> 129MB
2022-11-21 23:00:31 +03:00
d173bfa1be [x2t] For bug 55472 2022-11-07 14:51:50 +03:00
c971cc1199 Change project params 2022-11-05 13:48:47 +03:00
0d95984c2a Change framework version (4.7.5 => 4.5) 2022-11-05 13:42:04 +03:00
e4d8ee832f Merge pull request #1064 from ONLYOFFICE/release/v7.3.0
Release/v7.3.0
2022-11-04 22:20:37 +03:00
76b8b83952 Merge remote-tracking branch 'origin/feature/odf_3' into feature/odf_4 2022-05-30 13:23:27 +03:00
e79c577a14 Fonts 2022-05-30 12:42:47 +04:00
f67c76eef0 Fonts 2022-05-30 12:41:10 +04:00
35b7a817f6 Merge remote-tracking branch 'origin/feature/odf_3' into feature/odf_4 2022-05-25 10:36:43 +03:00
569ef80535 Fonts and size 2022-05-24 18:16:56 +04:00
affd63ee09 Fonts and size 2022-05-13 15:58:14 +04:00
da1f26f028 Fonts and size 2022-05-13 14:00:06 +04:00
230b11a060 colorized log and lim 2022-04-20 17:29:15 +04:00
b3b1b89b1f colorized diacritics 2022-04-14 12:22:24 +04:00
aadea510b0 colorized formulas 2022-04-13 10:20:12 +04:00
dc9db9c4fc colorized math formulas 2022-04-11 21:33:05 +04:00
ddee54c7c5 color styles 2022-04-05 19:54:35 +04:00
9440 changed files with 281639 additions and 566273 deletions

3
.gitignore vendored
View File

@ -43,3 +43,6 @@ Thumbs.db
DesktopEditor/fontengine/js/common/freetype-2.10.4
*_resource.rc
.qtc_clangd
Common/3dParty/openssl/openssl/

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,14 @@ core_android {
CORE_BOOST_LIBS = $$PWD/build/android/lib/$$CORE_BUILDS_PLATFORM_PREFIX
}
bundle_xcframeworks {
xcframework_platform_ios_simulator {
CORE_BOOST_LIBS = $$PWD/build/ios_xcframework/ios_simulator/lib/$$CORE_BUILDS_PLATFORM_PREFIX
} else {
CORE_BOOST_LIBS = $$PWD/build/ios_xcframework/ios/lib/$$CORE_BUILDS_PLATFORM_PREFIX
}
}
core_windows {
VS_VERSION=140
VS_DEBUG=

View File

@ -291,8 +291,8 @@ generateOut()
$BOOST_SRC/iphonesim-build/stage/lib/libboost_${NAME}.a \
-o $SRCDIR/build/ios/lib/libboost_${NAME}.a
lipo $SRCDIR/build/ios/lib/libboost_${NAME}.a -remove i386 -o $SRCDIR/build/ios/lib/libboost_${NAME}.a
lipo $SRCDIR/build/ios/lib/libboost_${NAME}.a -remove armv4t -o $SRCDIR/build/ios/lib/libboost_${NAME}.a
#lipo $SRCDIR/build/ios/lib/libboost_${NAME}.a -remove i386 -o $SRCDIR/build/ios/lib/libboost_${NAME}.a
#lipo $SRCDIR/build/ios/lib/libboost_${NAME}.a -remove armv4t -o $SRCDIR/build/ios/lib/libboost_${NAME}.a
done
doneSection

View File

@ -327,3 +327,13 @@ SOURCES += \
../zdeflate.cpp \
../zinflate.cpp \
../zlib.cpp
# OfficeCryptReader
include($$CORE_ROOT_DIR/Common/3dParty/boost/boost.pri)
HEADERS += \
$$CORE_ROOT_DIR/OfficeCryptReader/source/ECMACryptFile.h \
$$CORE_ROOT_DIR/OfficeCryptReader/source/CryptTransform.h
SOURCES += \
$$CORE_ROOT_DIR/OfficeCryptReader/source/ECMACryptFile.cpp \
$$CORE_ROOT_DIR/OfficeCryptReader/source/CryptTransform.cpp

2
Common/3dParty/googletest/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
googletest/
build/

View File

@ -0,0 +1,12 @@
CORE_GTEST_PATH=$$PWD/googletest/googletest
CONFIG += c++14
CORE_GTEST_PATH_INCLUDE = $$CORE_GTEST_PATH/include
INCLUDEPATH += $$CORE_GTEST_PATH
INCLUDEPATH += $$CORE_GTEST_PATH_INCLUDE
SOURCES += \
$$CORE_GTEST_PATH/src/gtest-all.cc \
$$CORE_GTEST_PATH/src/gtest_main.cc

View File

@ -1282,7 +1282,10 @@ namespace NSCSS
Scale(nValue, enScalingDirection);
sValueString += std::to_wstring(nValue);
sValueString += std::to_wstring(nValue);
if (!iswdigit(sValueTemp.back()))
sValueString += sValueTemp.back();
}
else
sValueString += sValueTemp;

View File

@ -2023,7 +2023,7 @@ namespace NSCSS
if (sValue.empty())
return BorderSide();
const std::vector<std::wstring> arValues = NS_STATIC_FUNCTIONS::GetWordsW(sValue, L" ");
const std::vector<std::wstring> arValues = NS_STATIC_FUNCTIONS::GetWordsW(NS_STATIC_FUNCTIONS::NormalizeRGB(sValue), L" ");
BorderSide oBorderSide;
for (std::wstring sValue : arValues)
{

View File

@ -315,6 +315,26 @@ namespace NSCSS
return sValue.empty() ? false : std::all_of(sValue.begin(), sValue.end(), [] (const wchar_t& cChar) { return iswdigit(cChar); });
}
inline std::wstring NormalizeRGB(const std::wstring& wsValue)
{
std::wstring wsNewValue = wsValue;
size_t unBegin = 0, unEnd;
while (std::wstring::npos != (unBegin = wsNewValue.find(L"rgb(", unBegin)))
{
unEnd = wsNewValue.find(L")", unBegin);
while ((unBegin = wsNewValue.find(L" ", unBegin)) != std::wstring::npos && unBegin < unEnd)
{
wsNewValue.replace(unBegin, 1, L",");
++unBegin;
}
}
return wsNewValue;
}
inline std::wstring ConvertRgbToHex(const std::wstring& sRgbValue)
{
size_t posFirst = sRgbValue.find_first_of(L"01234567890");

View File

@ -17,12 +17,12 @@ if not base.is_dir("gumbo-parser"):
base.replaceInFile(base_directory + "/gumbo-parser/src/tag.c", "isspace(*c)", "isspace((unsigned char)*c)")
if not base.is_dir("katana-parser"):
base.cmd("git", ["clone", "https://github.com/hackers-painters/katana-parser.git"])
base.cmd_in_dir("katana-parser", "git", ["checkout", "499118d32c387a893fdc9dda2cb95eee524bdb9b"])
base.cmd("git", ["clone", "https://github.com/jasenhuang/katana-parser.git"])
base.cmd_in_dir("katana-parser", "git", ["checkout", "be6df458d4540eee375c513958dcb862a391cdd1"])
# fix katana
base.replaceInFile(base_directory + "/katana-parser/src/tokenizer.c", "static inline bool katana_is_html_space(char c);", "static inline bool2 katana_is_html_space(char c);")
base.replaceInFile(base_directory + "/katana-parser/src/tokenizer.c", "inline bool katana_is_html_space(char c)", "static inline bool katana_is_html_space(char c)")
base.replaceInFile(base_directory + "/katana-parser/src/tokenizer.c", "static inline bool2 katana_is_html_space(char c);", "static inline bool katana_is_html_space(char c);")
base.replaceInFile(base_directory + "/katana-parser/src/parser.c", "katanaget_text(parser->scanner)", "/*katanaget_text(parser->scanner)*/\"error\"")
base.replaceInFile(base_directory + "/katana-parser/src/parser.c", "#define KATANA_PARSER_STRING(literal) (KatanaParserString){", "#define KATANA_PARSER_STRING(literal) {")

File diff suppressed because it is too large Load Diff

View File

@ -27,9 +27,18 @@ core_mac {
core_ios {
INCLUDEPATH += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/include
LIBS += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/libicudata.a
LIBS += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/libicui18n.a
LIBS += $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build/libicuuc.a
ICU_LIBS_PATH_IOS = $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build
bundle_xcframeworks {
xcframework_platform_ios_simulator {
ICU_LIBS_PATH_IOS = $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build_xc/simulator
} else {
ICU_LIBS_PATH_IOS = $$PWD/$$CORE_BUILDS_PLATFORM_PREFIX/build_xc
}
}
LIBS += $$ICU_LIBS_PATH_IOS/libicudata.a
LIBS += $$ICU_LIBS_PATH_IOS/libicui18n.a
LIBS += $$ICU_LIBS_PATH_IOS/libicuuc.a
}
core_android {

View File

@ -199,20 +199,25 @@ function build() {
echo "preparing $1 toolchain"
export BUILD_DIR="${PWD}/build-${2}"
export BUILD_DIR="${PWD}/build-${5}"
SDKROOT="$(xcodebuild -version -sdk $4 | grep -E '^Path' | sed 's/Path: //')"
ARCH=$2
ICU_FLAGS="-I$ICU_SOURCE/common/ -I$ICU_SOURCE/tools/tzcode/ "
IOS_MIN_VER = "-miphoneos-version-min=11.0"
if [ "$4" = "iphonesimulator" ]; then
IOS_MIN_VER = "-mios-simulator-version-min=11.0"
fi;
export ADDITION_FLAG="-DIOS_SYSTEM_FIX"
export CXX="$(xcrun -find clang++)"
export CC="$(xcrun -find clang)"
export CFLAGS="-fembed-bitcode -isysroot $SDKROOT -I$SDKROOT/usr/include/ -I./include/ -arch $ARCH -miphoneos-version-min=9.0 $ICU_FLAGS $CFLAGS ${ADDITION_FLAG}"
export CXXFLAGS="${CXXFLAGS} -fembed-bitcode -stdlib=libc++ -isysroot $SDKROOT -I$SDKROOT/usr/include/ -I./include/ -arch $ARCH -miphoneos-version-min=9.0 $ICU_FLAGS ${ADDITION_FLAG}"
export LDFLAGS="-fembed-bitcode -stdlib=libc++ -L$SDKROOT/usr/lib/ -isysroot $SDKROOT -Wl,-dead_strip -miphoneos-version-min=9.0 -lstdc++ ${ADDITION_FLAG}"
export CFLAGS="-fembed-bitcode -isysroot $SDKROOT -I$SDKROOT/usr/include/ -I./include/ -arch $ARCH $IOS_MIN_VER $ICU_FLAGS $CFLAGS ${ADDITION_FLAG}"
export CXXFLAGS="${CXXFLAGS} -fembed-bitcode -stdlib=libc++ -isysroot $SDKROOT -I$SDKROOT/usr/include/ -I./include/ -arch $ARCH $IOS_MIN_VER $ICU_FLAGS ${ADDITION_FLAG}"
export LDFLAGS="-fembed-bitcode -stdlib=libc++ -L$SDKROOT/usr/lib/ -isysroot $SDKROOT -Wl,-dead_strip $IOS_MIN_VER -lstdc++ ${ADDITION_FLAG}"
mkdir -p ${BUILD_DIR}
cd ${BUILD_DIR}
@ -221,7 +226,6 @@ function build() {
make clean
make -j4
make install
cd ..
}
@ -232,19 +236,25 @@ echo "------------------------------------------------------"
echo " ICU build armv7 libraries"
echo "------------------------------------------------------"
build "armv7" "armv7" "armv7-apple-darwin" "iphoneos"
build "armv7" "armv7" "armv7-apple-darwin" "iphoneos" "armv7"
echo "------------------------------------------------------"
echo " ICU build arm64 libraries"
echo "------------------------------------------------------"
build "arm64" "arm64" "aarch64-apple-darwin" "iphoneos"
build "arm64" "arm64" "aarch64-apple-darwin" "iphoneos" "arm64"
echo "------------------------------------------------------"
echo " ICU combining x86_64 libraries"
echo "------------------------------------------------------"
build "x86_64" "x86_64" "x86_64-apple-darwin" "iphonesimulator"
build "x86_64" "x86_64" "x86_64-apple-darwin" "iphonesimulator" "x86_64"
echo "------------------------------------------------------"
echo " ICU combining arm64 (simulator) libraries"
echo "------------------------------------------------------"
build "arm64" "arm64" "aarch64-apple-darwin" "iphonesimulator" "sim-arm64"
cd ..
@ -259,13 +269,31 @@ function buildUniversal() {
"${PWD}/ios/build-armv7/lib/$1armv7.a"
}
function buildUniversalXC() {
lipo -create -output "${PWD}/ios/build_xc/$1.a" \
"${PWD}/ios/build-arm64/lib/$1arm64.a"
lipo -create -output "${PWD}/ios/build_xc/simulator/${1}.a" \
"${PWD}/ios/build-sim-arm64/lib/$1arm64.a" \
"${PWD}/ios/build-x86_64/lib/$1x86_64.a"
}
mkdir -p build
mkdir -p ios/build
mkdir -p ios/build_xc
mkdir -p ios/build_xc/simulator
mkdir -p ios/build/include
mkdir -p ios/build_xc/include
mkdir -p ios/build/include/unicode
mkdir -p ios/build_xc/include/unicode
cp ${ICU_SOURCE}/common/unicode/*.h ios/build/include/unicode
cp ${ICU_SOURCE}/common/unicode/*.h ios/build_xc/include/unicode
buildUniversal "libicuuc"
buildUniversal "libicui18n"
buildUniversal "libicudata"
buildUniversalXC "libicuuc"
buildUniversalXC "libicui18n"
buildUniversalXC "libicudata"

View File

@ -2,3 +2,4 @@
# Except this file
!.gitignore
!ixwebsocket.pri
!openssl.pri

View File

@ -1,22 +1,18 @@
OPENSSL_LIBS_DIRECTORY = $$PWD/../openssl/build/$$CORE_BUILDS_PLATFORM_PREFIX/lib
core_android {
ABI_PATH = $$replace(CORE_BUILDS_PLATFORM_PREFIX, "android_", "")
contains(ABI_PATH, "armv7" ) {
ABI_PATH = $$replace(ABI_PATH, "armv7", "armeabi-v7a")
}
contains(ABI_PATH, "arm64_v8a" ) {
ABI_PATH = $$replace(ABI_PATH, "arm64_v8a", "arm64-v8a")
}
ABI_PATH = $$replace(ABI_PATH, "armv7", "armeabi-v7a")
}
contains(ABI_PATH, "arm64_v8a" ) {
ABI_PATH = $$replace(ABI_PATH, "arm64_v8a", "arm64-v8a")
}
INSTALL_FOLDER = $$PWD/IXWebSocket/build/android/$$ABI_PATH
exists($$INSTALL_FOLDER/usr):INSTALL_FOLDER=$$INSTALL_FOLDER/usr
INCLUDEPATH += $$INSTALL_FOLDER/include
LIBS += $$INSTALL_FOLDER/lib/libixwebsocket.a
OPENSSL_LIBS_DIRECTORY = $$PWD/../openssl/build/android/$$ABI_PATH/lib
}
core_ios {
@ -24,8 +20,6 @@ core_ios {
INCLUDEPATH += $$PWD/IXWebSocket/build/ios/ixwebsocket-universal/include
LIBS += $$PWD/IXWebSocket/build/ios/ixwebsocket-universal/lib/libixwebsocket.a
OPENSSL_LIBS_DIRECTORY = $$PWD/../openssl/build/ios/openssl-universal/lib
}
core_linux {
@ -57,11 +51,3 @@ core_windows {
LIBS += -lshlwapi
}
core_windows {
LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.lib
LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.lib
} else {
LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.a
LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.a
}

View File

@ -83,19 +83,19 @@ function configure_make() {
if [[ "${ARCH}" == "x86_64" ]]; then
./Configure android-x86_64 --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method
./Configure android-x86_64 --prefix="${PREFIX_DIR}" no-shared no-tests enable-ssl3 enable-ssl3-method enable-md2 no-asm
elif [[ "${ARCH}" == "x86" ]]; then
./Configure android-x86 --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method
./Configure android-x86 --prefix="${PREFIX_DIR}" no-shared no-tests enable-ssl3 enable-ssl3-method enable-md2 no-asm
elif [[ "${ARCH}" == "arm" ]]; then
./Configure android-arm --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method
./Configure android-arm --prefix="${PREFIX_DIR}" no-shared no-tests enable-ssl3 enable-ssl3-method enable-md2 no-asm
elif [[ "${ARCH}" == "arm64" ]]; then
./Configure android-arm64 --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method
./Configure android-arm64 --prefix="${PREFIX_DIR}" no-shared no-tests enable-ssl3 enable-ssl3-method enable-md2 no-asm
else
log_error "not support" && exit 1
@ -103,6 +103,9 @@ function configure_make() {
log_info "make $ABI start..."
sed -ie 's/LIB_CFLAGS=/LIB_CFLAGS=-fvisibility=hidden /g' ./Makefile
sed -ie 's/LIB_CXXFLAGS=/LIB_CXXFLAGS=-fvisibility=hidden /g' ./Makefile
make clean >"${OUTPUT_ROOT}/log/${ABI}.log"
if make -j$(get_cpu_count) >>"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1; then
make install_sw >>"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1

View File

@ -18,9 +18,9 @@ source ./build-common.sh
export PLATFORM_TYPE="iOS"
export IOS_MIN_TARGET="10.0"
export ARCHS=("armv7" "arm64" "i386" "x86_64")
export SDKS=("iphoneos" "iphoneos" "iphonesimulator" "iphonesimulator")
export PLATFORMS=("iPhoneOS" "iPhoneOS" "iPhoneSimulator" "iPhoneSimulator")
export ARCHS=("armv7" "arm64" "i386" "x86_64" "sim_arm64")
export SDKS=("iphoneos" "iphoneos" "iphonesimulator" "iphonesimulator" "iphonesimulator")
export PLATFORMS=("iPhoneOS" "iPhoneOS" "iPhoneSimulator" "iPhoneSimulator" "iphonesimulator")
# for test !!!
# export ARCHS=("armv7")
@ -45,6 +45,9 @@ function get_ios_arch() {
x86_64)
echo "x86-64"
;;
sim_arm64)
echo "sim-arm64"
;;
esac
}
@ -66,6 +69,9 @@ function ios_get_build_host() {
x86-64)
echo "x86_64-ios-darwin"
;;
sim-arm64)
echo "aarch64-ios-darwin"
;;
esac
}
@ -111,6 +117,13 @@ function set_ios_cpu_feature() {
export LDFLAGS="-arch x86_64 -target x86_64-ios-darwin -march=x86-64 -isysroot ${sysroot} -L${sysroot}/usr/lib "
export CXXFLAGS="-std=c++11 -arch x86_64 -target x86_64-ios-darwin -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -fstrict-aliasing -DIOS -mios-simulator-version-min=${ios_min_target} -I${sysroot}/usr/include"
;;
sim-arm64)
export CC="xcrun -sdk iphonesimulator clang -arch arm64"
export CXX="xcrun -sdk iphonesimulator clang++ -arch arm64"
export CFLAGS="-arch arm64 -target aarch64-apple-darwin -march=armv8 -mcpu=generic -Wno-unused-function -fstrict-aliasing -Oz -Wno-ignored-optimization-argument -DIOS -isysroot ${sysroot} -fembed-bitcode -mios-simulator-version-min=${ios_min_target} -I${sysroot}/usr/include"
export LDFLAGS="-arch arm64 -target aaarch64-apple-darwin -march=armv8 -isysroot ${sysroot} -fembed-bitcode -L${sysroot}/usr/lib "
export CXXFLAGS="-std=c++11 -arch arm64 -target aarch64-apple-darwin -march=armv8 -mcpu=generic -fstrict-aliasing -fembed-bitcode -DIOS -mios-simulator-version-min=${ios_min_target} -I${sysroot}/usr/include"
;;
*)
log_error "not support" && exit 1
;;

View File

@ -38,6 +38,7 @@ echo TOOLS_ROOT=${TOOLS_ROOT}
LIB_VERSION="OpenSSL_1_1_1d"
LIB_NAME="openssl-1.1.1d"
LIB_DEST_DIR="${pwd_path}/build/ios/openssl-universal/lib"
LIB_DEST_DIR_XC="${pwd_path}/build/ios/openssl-xc/lib"
init_log_color
@ -53,11 +54,17 @@ rm -rf "${LIB_DEST_DIR}" "${LIB_NAME}"
function configure_make() {
ARCH=$1
ARCH_NAME=$1
ARCH=$ARCH_NAME
if [ "$ARCH" = "sim_arm64" ]; then
ARCH = "arm64"
fi;
SDK=$2
PLATFORM=$3
log_info "configure $ARCH start..."
log_info "configure $ARCH_NAME start..."
if [ -d "${LIB_NAME}" ]; then
rm -fr "${LIB_NAME}"
@ -75,56 +82,62 @@ function configure_make() {
exit -1
fi
PREFIX_DIR="${pwd_path}/build/ios/${ARCH}"
PREFIX_DIR="${pwd_path}/build/ios/${ARCH_NAME}"
if [ -d "${PREFIX_DIR}" ]; then
rm -fr "${PREFIX_DIR}"
fi
mkdir -p "${PREFIX_DIR}"
OUTPUT_ROOT=${TOOLS_ROOT}/build/ios/${ARCH}
OUTPUT_ROOT=${TOOLS_ROOT}/build/ios/${ARCH_NAME}
mkdir -p ${OUTPUT_ROOT}/log
set_ios_cpu_feature "openssl" "${ARCH}" "${IOS_MIN_TARGET}" "${CROSS_TOP}/SDKs/${CROSS_SDK}"
set_ios_cpu_feature "openssl" "${ARCH_NAME}" "${IOS_MIN_TARGET}" "${CROSS_TOP}/SDKs/${CROSS_SDK}"
ios_printf_global_params "$ARCH" "$SDK" "$PLATFORM" "$PREFIX_DIR" "$OUTPUT_ROOT"
ios_printf_global_params "$ARCH_NAME" "$SDK" "$PLATFORM" "$PREFIX_DIR" "$OUTPUT_ROOT"
unset IPHONEOS_DEPLOYMENT_TARGET
if [[ "${ARCH}" == "x86_64" ]]; then
if [[ "${ARCH_NAME}" == "x86_64" ]]; then
# openssl1.1.1d can be set normally, 1.1.0f does not take effect
./Configure darwin64-x86_64-cc no-shared --prefix="${PREFIX_DIR}"
./Configure darwin64-x86_64-cc no-shared --prefix="${PREFIX_DIR}" enable-md2
sed -i -e 's/-mtune=intel//g' "Makefile"
elif [[ "${ARCH}" == "armv7" ]]; then
elif [[ "${ARCH_NAME}" == "armv7" ]]; then
# openssl1.1.1d can be set normally, 1.1.0f does not take effect
./Configure iphoneos-cross no-shared --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method
./Configure iphoneos-cross no-shared --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method enable-md2
sed -ie "s!-fno-common!-fno-common -fembed-bitcode !" "Makefile"
elif [[ "${ARCH}" == "arm64" ]]; then
elif [[ "${ARCH_NAME}" == "arm64" ]]; then
# openssl1.1.1d can be set normally, 1.1.0f does not take effect
./Configure iphoneos-cross no-shared --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method
./Configure iphoneos-cross no-shared --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method enable-md2
sed -ie "s!-fno-common!-fno-common -fembed-bitcode !" "Makefile"
elif [[ "${ARCH}" == "i386" ]]; then
elif [[ "${ARCH_NAME}" == "i386" ]]; then
# openssl1.1.1d can be set normally, 1.1.0f does not take effect
./Configure darwin-i386-cc no-shared --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method
./Configure darwin-i386-cc no-shared --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method enable-md2
sed -ie "s!-fno-common!-fno-common -fembed-bitcode !" "Makefile"
sed -i -e 's/-mtune=intel//g' "Makefile"
elif [[ "${ARCH_NAME}" == "sim_arm64" ]]; then
# openssl1.1.1d can be set normally, 1.1.0f does not take effect
./Configure iphoneos-cross no-shared --prefix="${PREFIX_DIR}" enable-ssl3 enable-ssl3-method enable-md2
sed -ie "s!-fno-common!-fno-common -fembed-bitcode !" "Makefile"
else
log_error "not support" && exit 1
fi
log_info "make $ARCH start..."
make clean >"${OUTPUT_ROOT}/log/${ARCH}.log"
if make -j8 >>"${OUTPUT_ROOT}/log/${ARCH}.log" 2>&1; then
make install_sw >>"${OUTPUT_ROOT}/log/${ARCH}.log" 2>&1
make install_ssldirs >>"${OUTPUT_ROOT}/log/${ARCH}.log" 2>&1
make clean >"${OUTPUT_ROOT}/log/${ARCH_NAME}.log"
if make -j8 >>"${OUTPUT_ROOT}/log/${ARCH_NAME}.log" 2>&1; then
make install_sw >>"${OUTPUT_ROOT}/log/${ARCH_NAME}.log" 2>&1
make install_ssldirs >>"${OUTPUT_ROOT}/log/${ARCH_NAME}.log" 2>&1
fi
popd
@ -143,28 +156,36 @@ log_info "lipo start..."
function lipo_library() {
LIB_SRC=$1
LIB_DST=$2
LIB_PATHS=("${ARCHS[@]/#/${pwd_path}/build/ios/}")
LIB_PATHS=("${LIB_PATHS[@]/%//lib/${LIB_SRC}}")
lipo ${LIB_PATHS[@]} -create -output "${LIB_DST}"
lipo -create -output "${LIB_DEST_DIR}/${LIB_SRC}.a" \
"${pwd_path}/build/ios/arm64/lib/${LIB_SRC}.a" \
"${pwd_path}/build/ios/armv7/lib/${LIB_SRC}.a" \
"${pwd_path}/build/ios/x86_64/lib/${LIB_SRC}.a"
}
function lipo_library_xc() {
LIB_SRC=$1
lipo -create -output "${LIB_DEST_DIR_XC}/${LIB_SRC}.a" \
"${pwd_path}/build/ios/arm64/lib/${LIB_SRC}.a"
lipo -create -output "${LIB_DEST_DIR_XC}/../simulator/lib/${LIB_SRC}.a" \
"${pwd_path}/build/ios/sim_arm64/lib/${LIB_SRC}.a" \
"${pwd_path}/build/ios/x86_64/lib/${LIB_SRC}.a"
}
function copy_include() {
DST=$1
if [ -d "${pwd_path}/build/ios/x86_64/include" ]; then
cp -r "${pwd_path}/build/ios/x86_64/include" "${DST}"
elif [ -d "${pwd_path}/build/ios/armv7/include" ]; then
cp -r "${pwd_path}/build/ios/armv7/include" "${DST}"
elif [ -d "${pwd_path}/build/ios/arm64/include" ]; then
cp -r "${pwd_path}/build/ios/arm64/include" "${DST}"
elif [ -d "${pwd_path}/build/ios/i386/include" ]; then
cp -r "${pwd_path}/build/ios/i386/include" "${DST}"
fi
cp -r "${pwd_path}/build/ios/arm64/include" "${1}"
}
mkdir -p "${LIB_DEST_DIR}"
lipo_library "libcrypto.a" "${LIB_DEST_DIR}/libcrypto.a"
lipo_library "libssl.a" "${LIB_DEST_DIR}/libssl.a"
lipo_library "libcrypto"
lipo_library "libssl"
copy_include "${LIB_DEST_DIR}/../"
mkdir -p "${LIB_DEST_DIR_XC}"
mkdir -p "${LIB_DEST_DIR_XC}/../simulator/lib"
lipo_library_xc "libcrypto"
lipo_library_xc "libssl"
copy_include "${LIB_DEST_DIR_XC}/../"
copy_include "${LIB_DEST_DIR_XC}/../simulator"
log_info "${PLATFORM_TYPE} ${LIB_NAME} end..."

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,14 +1,48 @@
OPEN_SSL_PLATFORM=$$CORE_BUILDS_PLATFORM_PREFIX
build_xp:OPEN_SSL_PLATFORM=$$join(OPEN_SSL_PLATFORM, OPEN_SSL_PLATFORM, "", "_xp")
INCLUDEPATH += $$PWD/build/$$OPEN_SSL_PLATFORM/include
core_windows:LIBS += -L$$PWD/build/$$OPEN_SSL_PLATFORM/lib -llibcrypto -llibssl
!core_windows:LIBS += -L$$PWD/build/$$OPEN_SSL_PLATFORM/lib -lcrypto -lssl
open_ssl_common {
DEFINES += COMMON_OPENSSL_BUILDING
HEADERS += $$PWD/common/common_openssl.h
SOURCES += $$PWD/common/common_openssl.cpp
}
OPENSSL_LIBS_DIRECTORY = $$PWD/build/$$OPEN_SSL_PLATFORM/lib
core_android {
OPENSSL_ABI_PATH = $$replace(CORE_BUILDS_PLATFORM_PREFIX, "android_", "")
contains(OPENSSL_ABI_PATH, "armv7" ) {
OPENSSL_ABI_PATH = $$replace(OPENSSL_ABI_PATH, "armv7", "armeabi-v7a")
}
contains(OPENSSL_ABI_PATH, "arm64_v8a" ) {
OPENSSL_ABI_PATH = $$replace(OPENSSL_ABI_PATH, "arm64_v8a", "arm64-v8a")
}
OPENSSL_LIBS_DIRECTORY = $$PWD/build/android/$$OPENSSL_ABI_PATH/lib
}
core_ios {
OPENSSL_LIBS_DIRECTORY = $$PWD/ios/openssl-universal/lib
bundle_xcframeworks {
xcframework_platform_ios_simulator {
OPENSSL_LIBS_DIRECTORY = $$PWD/build/ios/openssl-xc/simulator/lib
} else {
OPENSSL_LIBS_DIRECTORY = $$PWD/build/ios/openssl-xc/lib
}
}
}
core_windows {
LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.lib
LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.lib
} else {
LIBS += $$OPENSSL_LIBS_DIRECTORY/libssl.a
LIBS += $$OPENSSL_LIBS_DIRECTORY/libcrypto.a
}
INCLUDEPATH += $$OPENSSL_LIBS_DIRECTORY/../include

View File

@ -537,16 +537,27 @@ std::vector<uint64> AllocTable::follow( uint64 start )
if( start >= count() ) return chain;
uint64 p = start;
while( p < count() )
{
if( p == (uint64)Eof ) break;
if( p == (uint64)Bat ) break;
if( p == (uint64)MetaBat ) break;
if( p >= count() ) break;
chain.push_back( p );
if( data[p] >= count() ) break;
p = data[ p ];
}
std::map<uint64, char> used;
used.insert(std::make_pair(start, (char)0));
while (p < count())
{
if (p == (uint64)Eof) break;
if (p == (uint64)Bat) break;
if (p == (uint64)MetaBat) break;
if (p >= count()) break;
chain.push_back(p);
if (data[p] >= count()) break;
if (used.find(data[p]) != used.end())
{
//cycle
break;
}
p = data[p];
used.insert(std::make_pair(p, (char)0));
}
return chain;
}

1
Common/3dParty/socketio/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
socket.io-client-cpp/

View File

@ -1,12 +1,10 @@
.cipd
.gclient
.gclient_entries
.gclient*
v8
depot_tools
v8.data
v8_xp/.cipd
v8_xp/.gclient
v8_xp/.gclient_entries
v8_xp/.gclient*
v8_xp/v8
v8_xp/depot_tools
v8_xp/v8.data

View File

@ -3,7 +3,7 @@
# Based on Ubuntu
############################################################
# Set the base image to Ubuntu
FROM ubuntu:14.04
FROM ubuntu:18.04
# File Author / Maintainer
MAINTAINER onlyoffice.com
################## BEGIN INSTALLATION ######################
@ -23,12 +23,25 @@ RUN sudo apt-get install -y \
curl \
wget \
xz-utils \
zip
zip \
python2.7 \
python3 \
autoconf \
build-essential \
cmake \
pkg-config \
libc6-i386 \
gcc-multilib \
software-properties-common
WORKDIR /home/docker
RUN mkdir v8
WORKDIR /home/docker/v8
COPY ./build.sh ./build.sh
RUN ./build.sh
COPY ./build.py ./build.py
RUN sudo add-apt-repository -y ppa:deadsnakes/ppa
RUN sudo apt install -y python3.8
RUN sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1000
RUN sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1000
RUN python ./build.py
RUN zip -r ./build.zip ./build/*
RUN ls -al /home/docker/v8/build.zip
#End of docker Command

View File

@ -0,0 +1,199 @@
#!/usr/bin/env python
import sys
import platform
import os
import subprocess
import glob
import shutil
import codecs
# BASE --------------------------------------------
def host_platform():
ret = platform.system().lower()
if (ret == "darwin"):
return "mac"
return ret
def get_path(path):
if "windows" == host_platform():
return path.replace("/", "\\")
return path
def is_file(path):
return os.path.isfile(get_path(path))
def is_dir(path):
return os.path.isdir(get_path(path))
def copy_file(src, dst):
if is_file(dst):
delete_file(dst)
if not is_file(src):
print("copy warning [file not exist]: " + src)
return
return shutil.copy2(get_path(src), get_path(dst))
def delete_file(path):
if not is_file(path):
print("delete warning [file not exist]: " + path)
return
return os.remove(get_path(path))
def create_dir(path):
path2 = get_path(path)
if not os.path.exists(path2):
os.makedirs(path2)
return
def copy_dir(src, dst):
if is_dir(dst):
delete_dir(dst)
try:
shutil.copytree(get_path(src), get_path(dst))
except OSError as e:
print('Directory not copied. Error: %s' % e)
return
def delete_dir(path):
if not is_dir(path):
print("delete warning [folder not exist]: " + path)
return
shutil.rmtree(get_path(path), ignore_errors=True)
return
def cmd(prog, args=[], is_no_errors=False):
ret = 0
command = prog
for arg in args:
command += (" \"" + arg + "\"")
ret = subprocess.call(command, stderr=subprocess.STDOUT, shell=True)
if ret != 0 and True != is_no_errors:
sys.exit("Error (" + prog + "): " + str(ret))
return ret
def cmd2(prog, args=[], is_no_errors=False):
ret = 0
command = get_path(prog)
for arg in args:
command += (" " + arg)
print(command)
ret = subprocess.call(command, stderr=subprocess.STDOUT, shell=True)
if ret != 0 and True != is_no_errors:
sys.exit("Error (" + prog + "): " + str(ret))
return ret
def get_script_dir():
test_file = __file__
scriptPath = os.path.realpath(test_file)
scriptDir = os.path.dirname(scriptPath)
return scriptDir
def get_env(name):
return os.getenv(name, "")
def set_env(name, value):
os.environ[name] = value
return
def replaceInFile(path, text, textReplace):
if not is_file(path):
print("[replaceInFile] file not exist: " + path)
return
filedata = ""
with open(get_path(path), "r") as file:
filedata = file.read()
filedata = filedata.replace(text, textReplace)
delete_file(path)
with open(get_path(path), "w") as file:
file.write(filedata)
return
# -------------------------------------------------
def get_android_args(platform, sdk_ver=21):
gn_args = ["is_component_build=false",
"is_clang=true",
"is_debug=false",
"use_sysroot=true",
"target_os=\\\"android\\\"",
"target_cpu=\\\"" + platform + "\\\"",
"v8_target_cpu=\\\"" + platform + "\\\"",
"v8_enable_i18n_support=true",
"v8_static_library=true",
"v8_monolithic=true",
"use_custom_libcxx=false",
"android_ndk_version=\\\"21.1.6352462\\\"",
"android_sdk_version=\\\"" + str(sdk_ver) + "\\\"",
"clang_use_chrome_plugins=false",
"v8_use_external_startup_data=false",
"treat_warnings_as_errors=false"]
return gn_args
def deploy_libs():
if is_dir("../build"):
delete_dir("../build")
create_dir("../build")
platforms = ["arm64", "arm", "x86_64", "x86"]
dirs = ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
for index, item in enumerate(platforms):
input_dir = "./out.gn/android/" + platforms[index]
output_dir = "../build/" + dirs[index]
create_dir(output_dir)
copy_file(input_dir + "/icudtl.dat", output_dir + "/icudtl.dat")
copy_file(input_dir + "/icudtl_extra.dat", output_dir + "/icudtl_extra.dat")
copy_file(input_dir + "/obj/libv8_monolith.a", output_dir + "/libv8_monolith.a")
create_dir("../build/v8")
copy_dir("./include", "../build/v8/include")
copy_dir("./src", "../build/v8/src")
return
def make():
old_env = dict(os.environ)
old_cur = os.getcwd()
base_dir = get_script_dir()
os.chdir(base_dir)
if not is_dir("depot_tools"):
cmd("git", ["clone", "https://chromium.googlesource.com/chromium/tools/depot_tools.git"])
os.environ["PATH"] = base_dir + "/depot_tools" + os.pathsep + os.environ["PATH"]
if not is_dir("v8"):
cmd("./depot_tools/fetch", ["v8"], True)
copy_dir("./v8/third_party", "./v8/third_party_new")
v8_branch_version = "remotes/branch-heads/8.9"
cmd("./depot_tools/gclient", ["sync", "-r", v8_branch_version], True)
replaceInFile("./.gclient", "]", "];target_os=['android'];")
cmd("gclient", ["sync", "--force"], True)
copy_dir("./v8/third_party_new/ninja", "./v8/third_party/ninja")
if not is_file("v8/third_party/jinja2/tests.py.bak"):
copy_file("v8/third_party/jinja2/tests.py", "v8/third_party/jinja2/tests.py.bak")
replaceInFile("v8/third_party/jinja2/tests.py", "from collections import Mapping", "try:\n from collections.abc import Mapping\nexcept ImportError:\n from collections import Mapping")
os.chdir("v8")
cmd2("gn", ["gen", "out.gn/android/arm64", "--args=\"" + " ".join(get_android_args("arm64")) + "\""])
cmd("ninja", ["-C", "out.gn/android/arm64"])
cmd2("gn", ["gen", "out.gn/android/arm", "--args=\"" + " ".join(get_android_args("arm")) + "\""])
cmd("ninja", ["-C", "out.gn/android/arm"])
cmd2("gn", ["gen", "out.gn/android/x86_64", "--args=\"" + " ".join(get_android_args("x64", 16)) + "\""])
cmd("ninja", ["-C", "out.gn/android/x86_64"])
cmd2("gn", ["gen", "out.gn/android/x86", "--args=\"" + " ".join(get_android_args("x86", 16)) + "\""])
cmd("ninja", ["-C", "out.gn/android/x86"])
deploy_libs()
os.chdir(old_cur)
os.environ.clear()
os.environ.update(old_env)
make()

View File

@ -48,7 +48,7 @@ restore_build_gn()
if [ ! -d "v8" ]
then
fetch v8
./depot_tools/fetch v8
cd v8
git checkout -b 6.0 branch-heads/6.0

View File

@ -3,23 +3,34 @@ sys.path.append('./../../../../../build_tools/scripts')
import base
import os
if ("linux" == base.host_platform()):
if not base.is_dir("./build"):
base.bash("./build")
def build_func():
if ("linux" == base.host_platform()):
if not base.is_dir("./build"):
base.cmd("python", ["./build.py"])
if ("mac" == base.host_platform()):
if not base.is_file("./build.zip"):
base.bash("./run_docker")
if not base.is_dir("./build"):
base.configure_common_apps("./../../../../../build_tools/scripts/base.py")
base.extract("./build.zip", "./")
if not base.is_dir("v8"):
if not base.is_dir("depot_tools"):
base.cmd("git", ["clone", "https://chromium.googlesource.com/chromium/tools/depot_tools.git"])
old_cur = os.getcwd()
os.environ["PATH"] = old_cur + "/depot_tools" + os.pathsep + os.environ["PATH"]
base.cmd("./depot_tools/fetch", ["v8"], True)
os.chdir(old_cur + "/v8")
base.cmd("git", ["checkout", "-b", "6.0", "branch-heads/6.0"], True)
os.chdir(old_cur)
base.cmd("gclient", ["sync"])
if ("mac" == base.host_platform()):
if not base.is_file("./build.zip"):
base.bash("./run_docker")
if not base.is_dir("./build"):
base.configure_common_apps("./../../../../../build_tools/scripts/base.py")
base.extract("./build.zip", "./")
if not base.is_dir("v8"):
if not base.is_dir("depot_tools"):
base.cmd("git", ["clone", "https://chromium.googlesource.com/chromium/tools/depot_tools.git"])
old_cur = os.getcwd()
os.environ["PATH"] = old_cur + "/depot_tools" + os.pathsep + os.environ["PATH"]
base.cmd("./depot_tools/fetch", ["v8"], True)
base.cmd("./depot_tools/gclient", ["sync", "-r", "remotes/branch-heads/8.9"], True)
base.cmd("gclient", ["sync", "--force"], True)
return
# build function. for speed we just download the build archive
# archive built with this func
if False:
build_func()
else:
if not base.is_file("./build.7z"):
base.download("http://d2ettrnqo7v976.cloudfront.net/v8/android/build.7z", "./build.7z")
base.extract("./build.7z", "./")
base.copy_dir("./build/v8", "./v8")
base.delete_dir("./build/v8")

View File

@ -10,6 +10,7 @@ for image in $(docker images --format "{{.ID}}"); do
done
docker rm v8docker
docker build . -t v8_docker --build-arg CACHEBUST=0 --no-cache=true
#add --progress=plain for full logs from build.sh
docker build . -t v8_docker --build-arg CACHEBUST=0 --no-cache=true --platform linux/amd64
docker run -d --name v8docker v8_docker:latest
docker cp v8docker:/home/docker/v8/build.zip .

View File

@ -1,4 +1,6 @@
CORE_V8_PATH_OVERRIDE=$$PWD
!v8_version_60:CONFIG += v8_version_89
v8_version_89 {
CONFIG += c++14
CONFIG += use_v8_monolith
@ -6,6 +8,12 @@ v8_version_89 {
core_win_32:CONFIG += build_platform_32
core_linux_32:CONFIG += build_platform_32
core_android {
isEqual(CORE_BUILDS_PLATFORM_PREFIX, android_armv7):CONFIG += build_platform_32
isEqual(CORE_BUILDS_PLATFORM_PREFIX, android_x86):CONFIG += build_platform_32
}
!build_platform_32:DEFINES += V8_COMPRESS_POINTERS
CORE_V8_PATH_OVERRIDE = $$PWD/../v8_89
@ -14,6 +22,16 @@ v8_version_89 {
CORE_V8_PATH_INCLUDE = $$CORE_V8_PATH_OVERRIDE/v8
CORE_V8_PATH_LIBS = $$CORE_V8_PATH_INCLUDE/out.gn/$$CORE_BUILDS_PLATFORM_PREFIX/obj
core_android {
CORE_V8_PATH_INCLUDE = $$PWD/android/v8
CORE_V8_PATH_LIBS = $$PWD/android/build
isEqual(CORE_BUILDS_PLATFORM_PREFIX, android_arm64_v8a):CORE_V8_PATH_LIBS=$$CORE_V8_PATH_LIBS/arm64-v8a
isEqual(CORE_BUILDS_PLATFORM_PREFIX, android_armv7): CORE_V8_PATH_LIBS=$$CORE_V8_PATH_LIBS/armeabi-v7a
isEqual(CORE_BUILDS_PLATFORM_PREFIX, android_x86): CORE_V8_PATH_LIBS=$$CORE_V8_PATH_LIBS/x86
isEqual(CORE_BUILDS_PLATFORM_PREFIX, android_x86_64): CORE_V8_PATH_LIBS=$$CORE_V8_PATH_LIBS/x86_64
}
INCLUDEPATH += \
$$CORE_V8_PATH_INCLUDE \
$$CORE_V8_PATH_INCLUDE/include
@ -23,7 +41,6 @@ core_windows {
use_v8_monolith {
LIBS += -L$$CORE_V8_PATH_LIBS -lv8_monolith
core_debug:DEFINES += "_ITERATOR_DEBUG_LEVEL=0"
} else {
LIBS += -L$$CORE_V8_PATH_LIBS -lv8_base -lv8_libplatform -lv8_libbase -lv8_snapshot -lv8_libsampler
LIBS += -L$$CORE_V8_PATH_LIBS/third_party/icu -licui18n -licuuc
@ -64,3 +81,7 @@ core_mac {
QMAKE_CXXFLAGS += -Wall -Wno-inconsistent-missing-override
QMAKE_CFLAGS += -Wall -Wno-inconsistent-missing-override
}
core_android {
LIBS += -L$$CORE_V8_PATH_LIBS -lv8_monolith
}

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -524,6 +524,7 @@ public:
m_mapLCID2DefCodePage.insert(std::make_pair(0x40E, 1250));
m_mapLCID2DefCodePage.insert(std::make_pair(0x40F, 1252));
m_mapLCID2DefCodePage.insert(std::make_pair(0x410, 1252));
m_mapLCID2DefCodePage.insert(std::make_pair(0x412, 949));
m_mapLCID2DefCodePage.insert(std::make_pair(0x413, 1252));
m_mapLCID2DefCodePage.insert(std::make_pair(0x414, 1252));
m_mapLCID2DefCodePage.insert(std::make_pair(0x415, 1250));

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -24,6 +24,8 @@ core_linux {
SOURCES += $$PWD/src/FileTransporter_curl.cpp
}
core_mac {
use_v8:DEFINES += OLD_MACOS_SYSTEM
OBJECTIVE_SOURCES += $$PWD/src/FileTransporter_mac.mm
LIBS += -framework AppKit
}

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -49,323 +49,350 @@
namespace NSNetwork
{
namespace NSFileTransport
{
std::string wget_url_validate(const std::string& url)
{
std::string::size_type pos = 0;
const char* url_ptr = url.c_str();
while ('-' == *url_ptr++) // '\0' => break
++pos;
if (*url_ptr == '\0')
return "";
namespace NSFileTransport
{
std::string wget_url_validate(const std::string& url)
{
std::string::size_type pos = 0;
const char* url_ptr = url.c_str();
while ('-' == *url_ptr++) // '\0' => break
++pos;
if (*url_ptr == '\0')
return "";
return url.substr(pos);
}
return url.substr(pos);
}
int download_external(const std::wstring& sUrl, const std::wstring& sOutput, std::function<void(int)> func_onProgress = nullptr, std::function<bool(void)> func_checkAborted = nullptr)
{
pid_t pid;
int nReturnCode = -1;
std::string sUrlA = U_TO_UTF8(sUrl);
//sUrlA =("\"" + sUrlA + "\"");
std::string sOutputA = U_TO_UTF8(sOutput);
//sOutputA =("\"" + sOutputA + "\"");
int download_external(const std::wstring& sUrl, const std::wstring& sOutput, std::function<void(int)> func_onProgress = nullptr, std::function<bool(void)> func_checkAborted = nullptr)
{
pid_t pid;
int nReturnCode = -1;
std::string sUrlA = U_TO_UTF8(sUrl);
//sUrlA =("\"" + sUrlA + "\"");
std::string sOutputA = U_TO_UTF8(sOutput);
//sOutputA =("\"" + sOutputA + "\"");
if (0 != nReturnCode && NSFile::CFileBinary::Exists(L"/usr/bin/curl"))
{
int pipefd[2];
if(func_onProgress)
pipe(pipefd);
std::wstring sCurlBin = L"";
if (NSFile::CFileBinary::Exists(L"/usr/bin/curl"))
sCurlBin = L"/usr/bin/curl";
if (NSFile::CFileBinary::Exists(L"/usr/local/bin/curl"))
sCurlBin = L"/usr/local/bin/curl";
pid = fork(); // create child process
int status;
if (0 != nReturnCode && !sCurlBin.empty())
{
int pipefd[2];
if(func_onProgress)
pipe(pipefd);
switch (pid)
{
case -1: // error
break;
pid = fork(); // create child process
int status;
case 0: // child process
{
const char* nargs[10];
nargs[0] = "/usr/bin/curl";
nargs[1] = "--url";
nargs[2] = sUrlA.c_str();
nargs[3] = "--output";
nargs[4] = sOutputA.c_str();
func_onProgress == NULL ? nargs[5] = "--silent" : nargs[5] = "--progress-bar";
nargs[6] = "-L";
nargs[7] = "--connect-timeout";
nargs[8] = "10";
nargs[9] = NULL;
switch (pid)
{
case -1: // error
break;
const char* nenv[3];
nenv[0] = "LD_PRELOAD=";
nenv[1] = "LD_LIBRARY_PATH=";
nenv[2] = NULL;
case 0: // child process
{
std::string sProgramBinA = U_TO_UTF8(sCurlBin);
if(func_onProgress)
{
close(pipefd[0]); // close reading end in the child
const char* nargs[10];
nargs[0] = sProgramBinA.c_str();
nargs[1] = "--url";
nargs[2] = sUrlA.c_str();
nargs[3] = "--output";
nargs[4] = sOutputA.c_str();
func_onProgress == NULL ? nargs[5] = "--silent" : nargs[5] = "--progress-bar";
nargs[6] = "-L";
nargs[7] = "--connect-timeout";
nargs[8] = "10";
nargs[9] = NULL;
dup2(pipefd[1], 1); // send stdout to the pipe
dup2(pipefd[1], 2); // send stderr to the pipe
const char* nenv[3];
nenv[0] = "LD_PRELOAD=";
nenv[1] = "LD_LIBRARY_PATH=";
nenv[2] = NULL;
close(pipefd[1]); // this descriptor is no longer needed
}
if(func_onProgress)
{
close(pipefd[0]); // close reading end in the child
execve("/usr/bin/curl", (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
if(func_onProgress)
{
close(pipefd[1]);
// close the write end of the pipe in the parent
size_t size = 81;
char buffer[size];
std::string str;
ssize_t res = 1;
std::regex r(R"(\d+(?:\.\d+)?%)");
std::smatch sm;
std::string percentFull;
std::string percent;
int percentInt;
dup2(pipefd[1], 1); // send stdout to the pipe
dup2(pipefd[1], 2); // send stderr to the pipe
while (1)
{
if(func_checkAborted && func_checkAborted())
{
kill(pid, SIGTERM);
//while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
return nReturnCode;
}
close(pipefd[1]); // this descriptor is no longer needed
}
str.clear();
res = read(pipefd[0], buffer, sizeof(buffer));
execve(sProgramBinA.c_str(), (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
if(func_onProgress)
{
close(pipefd[1]);
// close the write end of the pipe in the parent
size_t size = 81;
char buffer[size];
std::string str;
ssize_t res = 1;
std::regex r(R"(\d+(?:\.\d+)?%)");
std::smatch sm;
std::string percentFull;
std::string percent;
int percentInt;
if(res == 0)
break;
while (1)
{
if(func_checkAborted && func_checkAborted())
{
kill(pid, SIGTERM);
//while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
return nReturnCode;
}
str.append(buffer);
str.clear();
res = read(pipefd[0], buffer, sizeof(buffer));
if(regex_search(str, sm, r))
{
percentFull = sm.str();
percent = percentFull.substr(0, percentFull.find("."));
percentInt = std::stoi(percent);
if(res == 0)
break;
if(percentInt >= 0 && percentInt <= 100)
func_onProgress(percentInt);
}
str.append(buffer);
if(str.find("100.0%") != std::string::npos)
break;
if(regex_search(str, sm, r))
{
percentFull = sm.str();
percent = percentFull.substr(0, percentFull.find("."));
percentInt = std::stoi(percent);
}
}
else {
int waitres;
while (1) // wait for child to complete
{
if(func_checkAborted && func_checkAborted())
{
kill(pid, SIGTERM);
return nReturnCode;
}
else if((waitres = waitpid(pid, &status, WNOHANG)) > 0)
{
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
}
}
}
if(percentInt >= 0 && percentInt <= 100)
func_onProgress(percentInt);
}
if (0 != nReturnCode && NSFile::CFileBinary::Exists(L"/usr/bin/wget"))
{
std::string sUrlValidateA = wget_url_validate(sUrlA);
if(str.find("100.0%") != std::string::npos)
break;
pid = fork(); // create child process
int status;
}
}
else {
int waitres;
while (1) // wait for child to complete
{
if(func_checkAborted && func_checkAborted())
{
kill(pid, SIGTERM);
return nReturnCode;
}
else if((waitres = waitpid(pid, &status, WNOHANG)) > 0)
{
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
}
}
}
switch (pid)
{
case -1: // error
break;
std::wstring sWgetBin = L"";
if (NSFile::CFileBinary::Exists(L"/usr/bin/wget"))
sWgetBin = L"/usr/bin/wget";
if (NSFile::CFileBinary::Exists(L"/usr/local/bin/wget"))
sWgetBin = L"/usr/local/bin/wget";
case 0: // child process
{
const char* nargs[8];
nargs[0] = "/usr/bin/wget";
nargs[1] = sUrlValidateA.c_str();
nargs[2] = "-O";
nargs[3] = sOutputA.c_str();
nargs[4] = "-q";
nargs[5] = "--connect-timeout=10";
nargs[6] = "--tries=2";
nargs[7] = NULL;
if (0 != nReturnCode && !sWgetBin.empty())
{
std::string sUrlValidateA = wget_url_validate(sUrlA);
const char* nenv[2];
nenv[0] = "LD_PRELOAD=";
nenv[1] = NULL;
pid = fork(); // create child process
int status;
execve("/usr/bin/wget", (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
int waitres;
while (1) // wait for child to complete
{
if(func_checkAborted && func_checkAborted())
{
kill(pid, SIGTERM);
return nReturnCode;
}
else if((waitres = waitpid(pid, &status, WNOHANG)) > 0)
{
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
}
}
switch (pid)
{
case -1: // error
break;
if (0 == nReturnCode)
{
if (!NSFile::CFileBinary::Exists(sOutput))
nReturnCode = -1;
}
case 0: // child process
{
std::string sProgramBinA = U_TO_UTF8(sWgetBin);
return nReturnCode;
}
#ifndef OLD_MACOS_SYSTEM
const char* nargs[8];
#else
const char* nargs[9];
#endif
int uploaddata_external(const std::wstring &sUploadUrl, const unsigned char* cData, const int nSize)
{
int nReturnCode = -1;
NSFile::CFileBinary oFileData;
std::wstring tempFileName = NSFile::CFileBinary::GetTempPath() + L"/tmpFileForUpload";
oFileData.CreateFileW(tempFileName);
oFileData.WriteFile(cData, nSize);
oFileData.CloseFile();
nargs[0] = sProgramBinA.c_str();
nargs[1] = sUrlValidateA.c_str();
nargs[2] = "-O";
nargs[3] = sOutputA.c_str();
nargs[4] = "-q";
nargs[5] = "--connect-timeout=10";
nargs[6] = "--tries=2";
std::string sUploadUrlA = U_TO_UTF8(sUploadUrl);
#ifndef OLD_MACOS_SYSTEM
nargs[7] = NULL;
#else
nargs[7] = "--no-check-certificate";
nargs[8] = NULL;
#endif
const char* nenv[2];
nenv[0] = "LD_PRELOAD=";
nenv[1] = NULL;
execve(sProgramBinA.c_str(), (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
int waitres;
while (1) // wait for child to complete
{
if(func_checkAborted && func_checkAborted())
{
kill(pid, SIGTERM);
return nReturnCode;
}
else if((waitres = waitpid(pid, &status, WNOHANG)) > 0)
{
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
}
}
if (0 == nReturnCode)
{
if (!NSFile::CFileBinary::Exists(sOutput))
nReturnCode = -1;
}
return nReturnCode;
}
int uploaddata_external(const std::wstring &sUploadUrl, const unsigned char* cData, const int nSize)
{
int nReturnCode = -1;
NSFile::CFileBinary oFileData;
std::wstring tempFileName = NSFile::CFileBinary::GetTempPath() + L"/tmpFileForUpload";
oFileData.CreateFileW(tempFileName);
oFileData.WriteFile(cData, nSize);
oFileData.CloseFile();
std::string sUploadUrlA = U_TO_UTF8(sUploadUrl);
if (0 != nReturnCode && NSFile::CFileBinary::Exists(L"/usr/bin/curl"))
{
pid_t pid = fork(); // create child process
int status;
if (0 != nReturnCode && NSFile::CFileBinary::Exists(L"/usr/bin/curl"))
{
pid_t pid = fork(); // create child process
int status;
switch (pid)
{
case -1: // error
break;
switch (pid)
{
case -1: // error
break;
case 0: // child process
{
//curl --request POST --data-binary "@template_entry.xml" $URL
auto pathTofile(std::string("@") + std::string(tempFileName.begin(), tempFileName.end()));
const char* nargs[9];
nargs[0] = "/usr/bin/curl";
nargs[1] = "--request";
nargs[2] = "POST";
nargs[3] = "--data-binary";
nargs[4] = pathTofile.c_str();
nargs[5] = sUploadUrlA.c_str();
nargs[6] = "--connect-timeout";
nargs[7] = "10";
nargs[8] = NULL;
case 0: // child process
{
//curl --request POST --data-binary "@template_entry.xml" $URL
auto pathTofile(std::string("@") + std::string(tempFileName.begin(), tempFileName.end()));
const char* nargs[9];
nargs[0] = "/usr/bin/curl";
nargs[1] = "--request";
nargs[2] = "POST";
nargs[3] = "--data-binary";
nargs[4] = pathTofile.c_str();
nargs[5] = sUploadUrlA.c_str();
nargs[6] = "--connect-timeout";
nargs[7] = "10";
nargs[8] = NULL;
const char* nenv[3];
nenv[0] = "LD_PRELOAD=";
nenv[1] = "LD_LIBRARY_PATH=";
nenv[2] = NULL;
const char* nenv[3];
nenv[0] = "LD_PRELOAD=";
nenv[1] = "LD_LIBRARY_PATH=";
nenv[2] = NULL;
execve("/usr/bin/curl", (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
NSFile::CFileBinary::Remove(tempFileName);
execve("/usr/bin/curl", (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
NSFile::CFileBinary::Remove(tempFileName);
return nReturnCode;
}
return nReturnCode;
}
int uploadfile_external(const std::wstring &sUploadUrl, const std::wstring &sUploadFilePath)
{
int nReturnCode = -1;
int uploadfile_external(const std::wstring &sUploadUrl, const std::wstring &sUploadFilePath)
{
int nReturnCode = -1;
std::string sUploadUrlA = U_TO_UTF8(sUploadUrl);
std::string sUploadFilePathA = U_TO_UTF8(sUploadFilePath);
std::string sUploadFileNameA = U_TO_UTF8(NSFile::GetFileName(sUploadFilePath));
std::string sUploadUrlA = U_TO_UTF8(sUploadUrl);
std::string sUploadFilePathA = U_TO_UTF8(sUploadFilePath);
std::string sUploadFileNameA = U_TO_UTF8(NSFile::GetFileName(sUploadFilePath));
if (0 != nReturnCode && NSFile::CFileBinary::Exists(L"/usr/bin/curl"))
{
pid_t pid = fork(); // create child process
int status;
if (0 != nReturnCode && NSFile::CFileBinary::Exists(L"/usr/bin/curl"))
{
pid_t pid = fork(); // create child process
int status;
switch (pid)
{
case -1: // error
break;
switch (pid)
{
case -1: // error
break;
case 0: // child process
{
//curl -v -F filename=image.jpg -F upload=@/home/vladimir/Pictures/Test.png $URL
auto filename(std::string("filename=") + sUploadFileNameA);
auto upload(std::string("upload=@") + sUploadFilePathA);
const char* nargs[10];
nargs[0] = "/usr/bin/curl";
nargs[1] = "-v";
nargs[2] = "-F";
nargs[3] = filename.c_str();
nargs[4] = "-F";
nargs[5] = upload.c_str();
nargs[6] = sUploadUrlA.c_str();
nargs[7] = "--connect-timeout";
nargs[8] = "10";
nargs[9] = NULL;
case 0: // child process
{
//curl -v -F filename=image.jpg -F upload=@/home/vladimir/Pictures/Test.png $URL
auto filename(std::string("filename=") + sUploadFileNameA);
auto upload(std::string("upload=@") + sUploadFilePathA);
const char* nargs[10];
nargs[0] = "/usr/bin/curl";
nargs[1] = "-v";
nargs[2] = "-F";
nargs[3] = filename.c_str();
nargs[4] = "-F";
nargs[5] = upload.c_str();
nargs[6] = sUploadUrlA.c_str();
nargs[7] = "--connect-timeout";
nargs[8] = "10";
nargs[9] = NULL;
const char* nenv[3];
nenv[0] = "LD_PRELOAD=";
nenv[1] = "LD_LIBRARY_PATH=";
nenv[2] = NULL;
const char* nenv[3];
nenv[0] = "LD_PRELOAD=";
nenv[1] = "LD_LIBRARY_PATH=";
nenv[2] = NULL;
execve("/usr/bin/curl", (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
execve("/usr/bin/curl", (char * const *)nargs, (char * const *)nenv);
exit(EXIT_SUCCESS);
break;
}
default: // parent process, pid now contains the child pid
while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
if (WIFEXITED(status))
{
nReturnCode = WEXITSTATUS(status);
}
break;
}
}
return nReturnCode;
}
}
return nReturnCode;
}
}
}
#endif

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -36,6 +36,7 @@
#include "../../../kernel_config.h"
#include <string>
#include <memory>
#include <map>
namespace NSNetwork
{
@ -44,10 +45,11 @@ namespace NSNetwork
class IWebSocket
{
public:
virtual void open() = 0;
virtual void open(const std::map<std::string, std::string>& query) = 0;
virtual void send(const std::string& message) = 0;
virtual void close() = 0;
virtual void setUrl(const std::string& url) = 0;
virtual bool setReconnectInfo(const int& attemtCount, const int& delay, const int& delayMax) { return false; }
virtual ~IWebSocket() {}
};
@ -61,7 +63,7 @@ namespace NSNetwork
virtual ~IListener() {}
};
// type : { "ixwebsocket" | "socketRocket" }
// type : { "ixwebsocket" | "socketRocket" | "socketio" }
KERNEL_DECL std::shared_ptr<IWebSocket> createWebsocket(const std::string& type, std::shared_ptr<IListener> listener, const std::string& url = "");
}
}

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -36,7 +36,7 @@ namespace NSNetwork
{
namespace NSWebSocket
{
void CIXWebSocket::open()
void CIXWebSocket::open(const std::map<std::string, std::string>& query)
{
ix::SocketTLSOptions tls;
tls.caFile = "NONE";

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -55,7 +55,7 @@ namespace NSNetwork
public:
virtual void open() override;
virtual void open(const std::map<std::string, std::string>& query) override;
virtual void send(const std::string& message) override;
virtual void close() override;
void receive(const ix::WebSocketMessagePtr& msg);

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -40,6 +40,10 @@
#include "./socketrocket/socketRocket_internal.h"
#endif
#ifdef USE_IOWEBSOCKET
#include "./socketio/socketio_internal.h"
#endif
namespace NSNetwork
{
namespace NSWebSocket
@ -65,6 +69,13 @@ namespace NSNetwork
return std::make_shared<CSocketRocket>(url, listener);
}
#endif
#ifdef USE_IOWEBSOCKET
if (sType == "socketio")
{
return std::make_shared<CIOWebSocket>(url, listener);
}
#endif
return nullptr;
}
}

View File

@ -0,0 +1,21 @@
#!/usr/bin/env python
import sys
sys.path.append('../../../../../../build_tools/scripts')
import base
file_path = "./socketio_internal_private_no_tls.h"
if not base.is_file(file_path):
file.delete_file(file_path)
base.copy_file("./socketio_internal_private.h", file_path)
header = "///////////////////////////////////////////////////////////\n"
header += "/// auto generated file. please use generator (make.py) ///\n"
header += "///////////////////////////////////////////////////////////\n"
header += "\n#pragma once"
base.replaceInFile(file_path, "#pragma once", header)
base.replaceInFile(file_path, "/socket.io-client-cpp/src/", "/socket.io-client-cpp/src_no_tls/")
base.replaceInFile(file_path, "sio::", "sio_no_tls::")
base.replaceInFile(file_path, "CIOWebSocket_private_tls", "CIOWebSocket_private_no_tls")

View File

@ -0,0 +1,74 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "socketio_internal_private.h"
#include "socketio_internal_private_no_tls.h"
namespace NSNetwork
{
namespace NSWebSocket
{
CIOWebSocket::CIOWebSocket(const std::string& url, std::shared_ptr<IListener> listener): CWebWorkerBase(url, listener)
{
if (0 == url.find("http://"))
m_internal = new CIOWebSocket_private_no_tls(this);
else
m_internal = new CIOWebSocket_private_tls(this);
}
void CIOWebSocket::open(const std::map<std::string, std::string>& query)
{
m_internal->open(query);
}
void CIOWebSocket::send(const std::string& message_str)
{
m_internal->send(message_str);
}
void CIOWebSocket::close()
{
m_internal->close();
}
CIOWebSocket::~CIOWebSocket()
{
delete m_internal;
}
bool CIOWebSocket::setReconnectInfo(const int& attemtCount, const int& delay, const int& delayMax)
{
m_internal->setReconnectInfo(attemtCount, delay, delayMax);
return true;
}
}
}

View File

@ -0,0 +1,91 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#ifndef _IO_WEB_SOCKET_H_
#define _IO_WEB_SOCKET_H_
#include "../websocketbase.h"
#include "../../../../../DesktopEditor/graphics/TemporaryCS.h"
namespace NSNetwork
{
namespace NSWebSocket
{
class CIOWebSocket;
class CIOWebSocket_private
{
protected:
CIOWebSocket* m_base;
NSCriticalSection::CRITICAL_SECTION m_oCS;
NSCriticalSection::CRITICAL_SECTION m_oCS_Events;
public:
CIOWebSocket_private(CIOWebSocket* base)
{
m_base = base;
m_oCS.InitializeCriticalSection();
m_oCS_Events.InitializeCriticalSection();
}
virtual ~CIOWebSocket_private()
{
m_oCS_Events.DeleteCriticalSection();
m_oCS.DeleteCriticalSection();
}
virtual void open(const std::map<std::string, std::string>& query) = 0;
virtual void send(const std::string& message) = 0;
virtual void close() = 0;
virtual void setReconnectInfo(const int& attemtCount, const int& delay, const int& delayMax) = 0;
};
class CIOWebSocket: public CWebWorkerBase
{
private:
CIOWebSocket_private* m_internal;
public:
CIOWebSocket(const std::string& url, std::shared_ptr<IListener> listener);
virtual ~CIOWebSocket();
public:
virtual void open(const std::map<std::string, std::string>& query) override;
virtual void send(const std::string& message) override;
virtual void close() override;
virtual bool setReconnectInfo(const int& attemtCount, const int& delay, const int& delayMax);
friend class CIOWebSocket_private;
friend class CIOWebSocket_private_tls;
friend class CIOWebSocket_private_no_tls;
};
}
}
#endif /* _IO_WEB_SOCKET_H_ */

View File

@ -0,0 +1,242 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "socketio_internal.h"
#include <iostream>
#include "../../../../3dParty/socketio/socket.io-client-cpp/src/internal/sio_packet.h"
#include "../../../../3dParty/socketio/socket.io-client-cpp/src/sio_client.h"
#include <memory>
#include "../../../../../DesktopEditor/graphics/BaseThread.h"
namespace NSNetwork
{
namespace NSWebSocket
{
class CIOWebSocket_private_tls : public CIOWebSocket_private
{
public:
std::shared_ptr<sio::client> m_socket;
// проблема закрытия сокета, пока он не приконнектился
bool m_connecting_in_process;
bool m_closing_in_progress;
public:
CIOWebSocket_private_tls(CIOWebSocket* base) : CIOWebSocket_private(base)
{
m_connecting_in_process = false;
m_closing_in_progress = false;
m_base = base;
}
~CIOWebSocket_private_tls()
{
close();
}
public:
void event_onConnected()
{
CTemporaryCS oCS(&m_oCS_Events);
m_connecting_in_process = false;
if (!m_closing_in_progress)
m_base->listener->onOpen();
}
void event_onClose(sio::client::close_reason const& reason)
{
CTemporaryCS oCS(&m_oCS_Events);
m_connecting_in_process = false;
if (!m_closing_in_progress)
m_base->listener->onClose(0, "");
}
void event_onFail()
{
CTemporaryCS oCS(&m_oCS_Events);
m_connecting_in_process = false;
if (!m_closing_in_progress)
m_base->listener->onError("");
}
public:
virtual void open(const std::map<std::string, std::string>& query) override
{
m_socket = std::make_shared<sio::client>();
m_socket->set_open_listener (std::bind(&CIOWebSocket_private_tls::event_onConnected, this));
m_socket->set_close_listener(std::bind(&CIOWebSocket_private_tls::event_onClose, this, std::placeholders::_1));
m_socket->set_fail_listener (std::bind(&CIOWebSocket_private_tls::event_onFail, this));
sio::message::ptr objAuth = sio::object_message::create();
//std::string sAuth;
std::map<std::string, std::string> queryDst = query;
std::map<std::string, std::string>::iterator iterAuth = queryDst.find("token");
if (iterAuth != queryDst.end())
{
objAuth->get_map()["token"] = sio::string_message::create(iterAuth->second);
//sAuth = "{\"token\":\"" + iterAuth->second + "\"}";
queryDst.erase(iterAuth);
}
//webSocket.connect(url, queryDst, sio::string_message::create(sAuth));
m_connecting_in_process = true;
m_socket->connect(m_base->url, queryDst, objAuth);
m_socket->socket()->on("message", [&](sio::event& event){
CTemporaryCS oCS(&m_oCS_Events);
if (m_closing_in_progress)
return;
const sio::message::ptr& message = event.get_message();
if (!message)
return;
// TODO: пока только текстовые и json команды
switch (message->get_flag())
{
case sio::message::flag_null:
{
m_base->listener->onMessage("null");
break;
}
case sio::message::flag_integer:
case sio::message::flag_double:
case sio::message::flag_boolean:
{
m_base->listener->onMessage("");
break;
}
case sio::message::flag_binary:
{
m_base->listener->onMessage("");
break;
}
case sio::message::flag_array:
{
m_base->listener->onMessage("");
break;
}
case sio::message::flag_object:
{
sio::packet_manager manager;
std::stringstream ss;
sio::packet packet("/", message);
manager.encode( packet, [&](bool isBinary, std::shared_ptr<const std::string> const& json)
{
ss << *json;
});
manager.reset();
std::string result = ss.str();
std::size_t indexList = result.find('[');
std::size_t indexObject = result.find('{');
std::size_t indexString = result.find('"');
std::size_t index = indexList;
if (indexObject != std::string::npos && indexObject < index)
index = indexObject;
if (indexString != std::string::npos && indexString < index)
index = indexString;
if (index != std::string::npos)
result = result.substr(index);
else
result = "";
m_base->listener->onMessage(result);
break;
}
case sio::message::flag_string:
{
m_base->listener->onMessage(message->get_string());
break;
}
default:
break;
}
});
}
virtual void send(const std::string& message_str) override
{
//CTemporaryCS (&m_internal->m_oCS);
// если json -то надо объект
if (0 == message_str.find("{") ||
0 == message_str.find("["))
{
sio::packet_manager manager;
sio::message::ptr message;
manager.set_decode_callback([&](sio::packet const& p)
{
message = p.get_message();
});
// Magic message type / ID
manager.put_payload("42" + message_str);
manager.reset();
m_socket->socket()->emit("message", message);
}
else
{
m_socket->socket()->emit("message", sio::string_message::create(message_str));
}
}
virtual void close() override
{
CTemporaryCS oCS(&m_oCS);
m_oCS_Events.Enter();
m_closing_in_progress = true;
m_oCS_Events.Leave();
// https://github.com/socketio/socket.io-client-cpp/issues/254
while (m_connecting_in_process)
NSThreads::Sleep(50);
m_socket.reset();
}
virtual void setReconnectInfo(const int& attemtCount, const int& delay, const int& delayMax) override
{
m_socket->set_reconnect_attempts(attemtCount);
m_socket->set_reconnect_delay(delay);
m_socket->set_reconnect_delay_max(delayMax);
}
};
}
}

View File

@ -0,0 +1,246 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
///////////////////////////////////////////////////////////
/// auto generated file. please use generator (make.py) ///
///////////////////////////////////////////////////////////
#pragma once
#include "socketio_internal.h"
#include <iostream>
#include "../../../../3dParty/socketio/socket.io-client-cpp/src_no_tls/internal/sio_packet.h"
#include "../../../../3dParty/socketio/socket.io-client-cpp/src_no_tls/sio_client.h"
#include <memory>
#include "../../../../../DesktopEditor/graphics/BaseThread.h"
namespace NSNetwork
{
namespace NSWebSocket
{
class CIOWebSocket_private_no_tls : public CIOWebSocket_private
{
public:
std::shared_ptr<sio_no_tls::client> m_socket;
// проблема закрытия сокета, пока он не приконнектился
bool m_connecting_in_process;
bool m_closing_in_progress;
public:
CIOWebSocket_private_no_tls(CIOWebSocket* base) : CIOWebSocket_private(base)
{
m_connecting_in_process = false;
m_closing_in_progress = false;
m_base = base;
}
~CIOWebSocket_private_no_tls()
{
close();
}
public:
void event_onConnected()
{
CTemporaryCS oCS(&m_oCS_Events);
m_connecting_in_process = false;
if (!m_closing_in_progress)
m_base->listener->onOpen();
}
void event_onClose(sio_no_tls::client::close_reason const& reason)
{
CTemporaryCS oCS(&m_oCS_Events);
m_connecting_in_process = false;
if (!m_closing_in_progress)
m_base->listener->onClose(0, "");
}
void event_onFail()
{
CTemporaryCS oCS(&m_oCS_Events);
m_connecting_in_process = false;
if (!m_closing_in_progress)
m_base->listener->onError("");
}
public:
virtual void open(const std::map<std::string, std::string>& query) override
{
m_socket = std::make_shared<sio_no_tls::client>();
m_socket->set_open_listener (std::bind(&CIOWebSocket_private_no_tls::event_onConnected, this));
m_socket->set_close_listener(std::bind(&CIOWebSocket_private_no_tls::event_onClose, this, std::placeholders::_1));
m_socket->set_fail_listener (std::bind(&CIOWebSocket_private_no_tls::event_onFail, this));
sio_no_tls::message::ptr objAuth = sio_no_tls::object_message::create();
//std::string sAuth;
std::map<std::string, std::string> queryDst = query;
std::map<std::string, std::string>::iterator iterAuth = queryDst.find("token");
if (iterAuth != queryDst.end())
{
objAuth->get_map()["token"] = sio_no_tls::string_message::create(iterAuth->second);
//sAuth = "{\"token\":\"" + iterAuth->second + "\"}";
queryDst.erase(iterAuth);
}
//webSocket.connect(url, queryDst, sio_no_tls::string_message::create(sAuth));
m_connecting_in_process = true;
m_socket->connect(m_base->url, queryDst, objAuth);
m_socket->socket()->on("message", [&](sio_no_tls::event& event){
CTemporaryCS oCS(&m_oCS_Events);
if (m_closing_in_progress)
return;
const sio_no_tls::message::ptr& message = event.get_message();
if (!message)
return;
// TODO: пока только текстовые и json команды
switch (message->get_flag())
{
case sio_no_tls::message::flag_null:
{
m_base->listener->onMessage("null");
break;
}
case sio_no_tls::message::flag_integer:
case sio_no_tls::message::flag_double:
case sio_no_tls::message::flag_boolean:
{
m_base->listener->onMessage("");
break;
}
case sio_no_tls::message::flag_binary:
{
m_base->listener->onMessage("");
break;
}
case sio_no_tls::message::flag_array:
{
m_base->listener->onMessage("");
break;
}
case sio_no_tls::message::flag_object:
{
sio_no_tls::packet_manager manager;
std::stringstream ss;
sio_no_tls::packet packet("/", message);
manager.encode( packet, [&](bool isBinary, std::shared_ptr<const std::string> const& json)
{
ss << *json;
});
manager.reset();
std::string result = ss.str();
std::size_t indexList = result.find('[');
std::size_t indexObject = result.find('{');
std::size_t indexString = result.find('"');
std::size_t index = indexList;
if (indexObject != std::string::npos && indexObject < index)
index = indexObject;
if (indexString != std::string::npos && indexString < index)
index = indexString;
if (index != std::string::npos)
result = result.substr(index);
else
result = "";
m_base->listener->onMessage(result);
break;
}
case sio_no_tls::message::flag_string:
{
m_base->listener->onMessage(message->get_string());
break;
}
default:
break;
}
});
}
virtual void send(const std::string& message_str) override
{
//CTemporaryCS (&m_internal->m_oCS);
// если json -то надо объект
if (0 == message_str.find("{") ||
0 == message_str.find("["))
{
sio_no_tls::packet_manager manager;
sio_no_tls::message::ptr message;
manager.set_decode_callback([&](sio_no_tls::packet const& p)
{
message = p.get_message();
});
// Magic message type / ID
manager.put_payload("42" + message_str);
manager.reset();
m_socket->socket()->emit("message", message);
}
else
{
m_socket->socket()->emit("message", sio_no_tls::string_message::create(message_str));
}
}
virtual void close() override
{
CTemporaryCS oCS(&m_oCS);
m_oCS_Events.Enter();
m_closing_in_progress = true;
m_oCS_Events.Leave();
// https://github.com/socketio/socket.io-client-cpp/issues/254
while (m_connecting_in_process)
NSThreads::Sleep(50);
m_socket.reset();
}
virtual void setReconnectInfo(const int& attemtCount, const int& delay, const int& delayMax) override
{
m_socket->set_reconnect_attempts(attemtCount);
m_socket->set_reconnect_delay(delay);
m_socket->set_reconnect_delay_max(delayMax);
}
};
}
}

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -51,7 +51,7 @@ namespace NSNetwork
CSocketRocket(const std::string& url, std::shared_ptr<IListener> listener);
~CSocketRocket();
virtual void open() override;
virtual void open(const std::map<std::string, std::string>& query) override;
virtual void send(const std::string& message) override;
virtual void close() override;
virtual void setUrl(const std::string& url) override;
@ -60,4 +60,4 @@ namespace NSNetwork
}
}
#endif /* _SOCKET_ROCKET_H_ */
#endif /* _SOCKET_ROCKET_H_ */

View File

@ -1,4 +1,5 @@
 /* (c) Copyright Ascensio System SIA 2010-2021
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -11,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -60,7 +61,7 @@ namespace NSNetwork
delete impl;
}
void CSocketRocket::open()
void CSocketRocket::open(const std::map<std::string, std::string>& query)
{
[impl->wrapped open];
}
@ -81,4 +82,4 @@ namespace NSNetwork
}
}
}
}

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2021
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -52,7 +52,7 @@ namespace NSNetwork
this->listener = listener;
}
virtual ~CWebWorkerBase() { close(); }
virtual void open() override {}
virtual void open(const std::map<std::string, std::string>& query) override {}
virtual void send(const std::string& message) override {}
virtual void close() override {}
virtual void setUrl(const std::string& url) override {this->url = url;}

View File

@ -1,10 +1,84 @@
core_mac:CONFIG += apple_platform
core_ios:CONFIG += apple_platform
apple_platform {
CONFIG += socketrocket
} else {
CONFIG += ixwebsocket
# since 7.3: ONLY socketio
#apple_platform:CONFIG += socketrocket
#!apple_platform:CONFIG += ixwebsocket
CONFIG += libsocketio
libsocketio:CONFIG += use_openssl
ixwebsocket:CONFIG += use_openssl
use_openssl {
include($$PWD/../../3dParty/openssl/openssl.pri)
}
libsocketio {
SOCKET_IO_LIB=$$PWD/../../3dParty/socketio/socket.io-client-cpp
INCLUDEPATH += \
$$SOCKET_IO_LIB/lib/websocketpp \
$$SOCKET_IO_LIB/lib/rapidjson/include \
$$SOCKET_IO_LIB/lib/asio/asio/include
HEADERS += \
$$SOCKET_IO_LIB/src/internal/sio_client_impl.h \
$$SOCKET_IO_LIB/src/internal/sio_packet.h \
$$SOCKET_IO_LIB/src/sio_message.h \
$$SOCKET_IO_LIB/src/sio_socket.h \
$$SOCKET_IO_LIB/src/sio_client.h
SOURCES += \
$$SOCKET_IO_LIB/src/internal/sio_client_impl.cpp \
$$SOCKET_IO_LIB/src/internal/sio_packet.cpp \
$$SOCKET_IO_LIB/src/sio_socket.cpp \
$$SOCKET_IO_LIB/src/sio_client.cpp
HEADERS += \
$$SOCKET_IO_LIB/src_no_tls/internal/sio_client_impl.h \
$$SOCKET_IO_LIB/src_no_tls/internal/sio_packet.h \
$$SOCKET_IO_LIB/src_no_tls/sio_message.h \
$$SOCKET_IO_LIB/src_no_tls/sio_socket.h \
$$SOCKET_IO_LIB/src_no_tls/sio_client.h
SOURCES += \
$$SOCKET_IO_LIB/src_no_tls/internal/sio_client_impl.cpp \
$$SOCKET_IO_LIB/src_no_tls/internal/sio_packet.cpp \
$$SOCKET_IO_LIB/src_no_tls/sio_socket.cpp \
$$SOCKET_IO_LIB/src_no_tls/sio_client.cpp
DEFINES += \
BOOST_DATE_TIME_NO_LIB \
BOOST_REGEX_NO_LIB \
ASIO_STANDALONE \
\
_WEBSOCKETPP_CPP11_STL_ \
_WEBSOCKETPP_CPP11_FUNCTIONAL_ \
_WEBSOCKETPP_CPP11_TYPE_TRAITS_ \
_WEBSOCKETPP_CPP11_CHRONO_ \
\
"SIO_TLS=1" \
"SIO_TLS_NO=0" \
"PING_TIMEOUT_INTERVAL=20000"
include($$PWD/../../3dParty/boost/boost.pri)
DEFINES += USE_IOWEBSOCKET
HEADERS += \
$$PWD/src/socketio/socketio_internal.h \
$$PWD/src/socketio/socketio_internal_private.h \
$$PWD/src/socketio/socketio_internal_private_no_tls.h
SOURCES += $$PWD/src/socketio/socketio_internal.cpp
core_linux:LIBS += -lpthread
core_windows {
LIBS += -lcrypt32
LIBS += -lUser32
}
}
HEADERS += \

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
@ -515,26 +515,26 @@ bool COfficeFileFormatChecker::isOfficeFile(const std::wstring & _fileName)
bEmptyFile = (dwReadBytes < 1);
if (isOOXFlatFormatFile(buffer, sizeRead))
if (isBinaryDoctFormatFile(buffer, sizeRead)) // min size - 4
{
nFileType = AVS_OFFICESTUDIO_FILE_CANVAS_WORD;
}
else if (isBinaryXlstFormatFile(buffer, sizeRead))// min size - 4
{
nFileType = AVS_OFFICESTUDIO_FILE_CANVAS_SPREADSHEET;
}
else if (isBinaryPpttFormatFile(buffer, sizeRead))// min size - 4
{
nFileType = AVS_OFFICESTUDIO_FILE_CANVAS_PRESENTATION;
}
else if (isOOXFlatFormatFile(buffer, sizeRead))
{
//nFileType;
}
else if ( isRtfFormatFile(buffer,sizeRead) ) // min size - 5
{
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_RTF;
}
else if ( isBinaryDoctFormatFile(buffer,sizeRead) ) // min size - 4
{
nFileType = AVS_OFFICESTUDIO_FILE_CANVAS_WORD;
}
else if ( isBinaryXlstFormatFile(buffer,sizeRead) )// min size - 4
{
nFileType = AVS_OFFICESTUDIO_FILE_CANVAS_SPREADSHEET;
}
else if ( isBinaryPpttFormatFile(buffer,sizeRead) )// min size - 4
{
nFileType = AVS_OFFICESTUDIO_FILE_CANVAS_PRESENTATION;
}
}
else if (isPdfFormatFile(buffer,sizeRead, sDocumentID) )// min size - 5
{
nFileType = AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF;
@ -613,7 +613,7 @@ bool COfficeFileFormatChecker::isOfficeFile(const std::wstring & _fileName)
else if (0 == sExt.compare(L".odp"))
nFileType = AVS_OFFICESTUDIO_FILE_PRESENTATION_ODP;
}
else if (0 == sExt.compare(L".mht"))
else if (0 == sExt.compare(L".mht") || 0 == sExt.compare(L".mhtml"))
nFileType = AVS_OFFICESTUDIO_FILE_DOCUMENT_MHT;
else if (0 == sExt.compare(L".csv") || 0 == sExt.compare(L".xlsx"))
nFileType = AVS_OFFICESTUDIO_FILE_SPREADSHEET_CSV;
@ -1140,9 +1140,9 @@ int COfficeFileFormatChecker::GetFormatByExtension(const std::wstring& sExt)
return AVS_OFFICESTUDIO_FILE_DOCUMENT_RTF;
if (L".txt" == ext)
return AVS_OFFICESTUDIO_FILE_DOCUMENT_TXT;
if (L".html" == ext)
if (L".html" == ext || L".htm" == ext)
return AVS_OFFICESTUDIO_FILE_DOCUMENT_HTML;
if (L".mht" == ext)
if (L".mht" == ext || L".mhtml" == ext)
return AVS_OFFICESTUDIO_FILE_DOCUMENT_MHT;
if (L".epub" == ext)
return AVS_OFFICESTUDIO_FILE_DOCUMENT_EPUB;

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,5 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -12,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -11,11 +11,19 @@ BUILD_NUMBER = $$(BUILD_NUMBER)
DEFINES += INTVER=$$VERSION
WIN_VERSION = $$replace(VERSION, \., ",")
DEFINES += WIN_INTVER=$$WIN_VERSION
PUBLISHER_NAME = $$(PUBLISHER_NAME)
isEmpty(PUBLISHER_NAME){
PUBLISHER_NAME = $$cat(copyright.txt)
}
APPLICATION_NAME_DEFAULT = $$(APPLICATION_NAME_DEFAULT)
!isEmpty(APPLICATION_NAME_DEFAULT){
DEFINES += "APPLICATION_NAME_DEFAULT=$${APPLICATION_NAME_DEFAULT}"
}
OO_BUILD_BRANDING = $$(OO_BRANDING)
OO_DESTDIR_BUILD_OVERRIDE = $$(DESTDIR_BUILD_OVERRIDE)
@ -31,6 +39,8 @@ win32 {
CURRENT_YEAR = $$system(date +%Y)
}
DEFINES += COPYRIGHT_YEAR=$${CURRENT_YEAR}
QMAKE_TARGET_COMPANY = $$PUBLISHER_NAME
QMAKE_TARGET_COPYRIGHT = Copyright (C) $${PUBLISHER_NAME} $${CURRENT_YEAR}. All rights reserved
@ -135,10 +145,21 @@ mac {
}
}
gcc {
COMPILER_VERSION = $$system($$QMAKE_CXX " -dumpversion")
COMPILER_MAJOR_VERSION_ARRAY = $$split(COMPILER_VERSION, ".")
COMPILER_MAJOR_VERSION = $$member(COMPILER_MAJOR_VERSION_ARRAY, 0)
lessThan(COMPILER_MAJOR_VERSION, 5): CONFIG += build_gcc_less_5
lessThan(COMPILER_MAJOR_VERSION, 6): CONFIG += build_gcc_less_6
}
# DEFINES
core_windows {
DEFINES += WIN32 _WIN32
DEFINES += NOMINMAX
# use default _ITERATOR_DEBUG_LEVEL value
#core_debug:DEFINES += "_ITERATOR_DEBUG_LEVEL=0"
}
core_win_64 {
DEFINES += WIN64 _WIN64
@ -206,6 +227,11 @@ core_linux {
}
}
core_linux {
equals(TEMPLATE, app):CONFIG += core_static_link_libstd
plugin:CONFIG += core_static_link_libstd
}
core_win_32 {
CORE_BUILDS_PLATFORM_PREFIX = win_32
}
@ -263,11 +289,23 @@ core_ios {
} else {
QMAKE_IOS_DEPLOYMENT_TARGET = 11.0
CONFIG += core_ios_main_arch
QMAKE_CFLAGS += -fembed-bitcode
QMAKE_CXXFLAGS += -fembed-bitcode
QMAKE_LFLAGS += -fembed-bitcode
QMAKE_CXXFLAGS += -fobjc-arc
bundle_xcframeworks {
xcframework_platform_ios_simulator {
QMAKE_APPLE_DEVICE_ARCHS=
QMAKE_APPLE_SIMULATOR_ARCHS=x86_64 arm64
} else {
QMAKE_APPLE_DEVICE_ARCHS = arm64
QMAKE_APPLE_SIMULATOR_ARCHS=
}
} else {
CONFIG += core_ios_main_arch
}
core_ios_main_arch {
QMAKE_APPLE_DEVICE_ARCHS = arm64
@ -276,10 +314,6 @@ core_ios {
core_ios_32 {
QMAKE_APPLE_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS armv7
}
} else {
plugin : TARGET = $$join(TARGET, TARGET, "", "_addition")
QMAKE_APPLE_DEVICE_ARCHS=
QMAKE_APPLE_SIMULATOR_ARCHS=
}
core_ios_nomain_arch {
@ -337,6 +371,7 @@ core_android {
}
core_debug {
DEFINES += _DEBUG
CORE_BUILDS_CONFIGURATION_PREFIX = debug
}
core_release {
@ -352,11 +387,9 @@ message($$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX)
# COMPILER
CONFIG += c++11
greaterThan(QT_MAJOR_VERSION, 5) {
!core_windows {
QMAKE_CXXFLAGS += -Wno-register
QMAKE_CFLAGS += -Wno-register
}
!core_windows {
QMAKE_CXXFLAGS += -Wno-register
QMAKE_CFLAGS += -Wno-register
}
core_linux {
@ -365,28 +398,34 @@ core_static_link_libstd {
message(core_static_link_libstd)
}
plugin {
QMAKE_CXXFLAGS += -fvisibility=hidden
QMAKE_CFLAGS += -fvisibility=hidden
TARGET_EXT = .so
}
}
core_mac {
plugin {
QMAKE_CXXFLAGS += -fvisibility=hidden
QMAKE_CFLAGS += -fvisibility=hidden
}
}
core_windows {
plugin {
TARGET_EXT = .dll
}
}
core_disable_all_warnings {
CONFIG += warn_off
!core_windows {
plugin:CONFIG += config_hidden_symbols
staticlib:CONFIG += config_hidden_symbols
}
config_hidden_symbols {
QMAKE_CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
QMAKE_CFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
core_mac:CONFIG += clang_no_exclude_libs
core_ios:CONFIG += clang_no_exclude_libs
!clang_no_exclude_libs {
plugin:QMAKE_LFLAGS += -Wl,--exclude-libs,ALL
equals(TEMPLATE, app) {
QMAKE_LFLAGS += -Wl,--exclude-libs,ALL
}
}
}
# BUILD_PATHS
@ -397,6 +436,16 @@ OBJECTS_DIR = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUI
MOC_DIR = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/moc
RCC_DIR = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/rcc
UI_DIR = $$PWD_ROOT_DIR/core_build/$$CORE_BUILDS_PLATFORM_PREFIX/$$CORE_BUILDS_CONFIGURATION_PREFIX/ui
bundle_xcframeworks {
xcframework_platform_ios_simulator {
OBJECTS_DIR = $$OBJECTS_DIR/simulator
MOC_DIR = $$MOC_DIR/simulator
RCC_DIR = $$RCC_DIR/simulator
UI_DIR = $$UI_DIR/simulator
}
}
build_xp {
OBJECTS_DIR = $$OBJECTS_DIR/xp
MOC_DIR = $$MOC_DIR/xp
@ -425,6 +474,13 @@ core_debug {
CORE_BUILDS_BINARY_PATH = $$OO_DESTDIR_BUILD_OVERRIDE
}
core_ios {
xcframework_platform_ios_simulator {
CORE_BUILDS_LIBRARIES_PATH = $$CORE_BUILDS_LIBRARIES_PATH/simulator
CORE_BUILDS_BINARY_PATH = $$CORE_BUILDS_BINARY_PATH/simulator
}
}
plugin {
DESTDIR = $$CORE_BUILDS_LIBRARIES_PATH
}
@ -506,3 +562,11 @@ defineTest(ADD_DEPENDENCY) {
ADD_INC_PATH = $$(ADDITIONAL_INCLUDE_PATH)
!isEmpty(ADD_INC_PATH):INCLUDEPATH += $$ADD_INC_PATH
!core_enable_all_warnings {
core_disable_all_warnings {
QMAKE_CXXFLAGS_WARN_OFF = -w
QMAKE_CFLAGS_WARN_OFF = -w
CONFIG += warn_off
}
}

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <functional>

View File

@ -1,35 +1,5 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*//*
* (c) Copyright Ascensio System SIA 2010-2019
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
@ -42,7 +12,7 @@
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "rbtree.h"
#include "rbtreeexception.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <iterator>

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <exception>

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "fstream_utils.h"
#include "fstream_wrapper.h"
#include "stream_utils.h"
@ -40,13 +40,30 @@ using namespace CFCPP;
CFCPP::Stream CFCPP::OpenFileStream(const std::wstring & filename, bool bRewrite, bool trunc)
{
BYTE* pUtf8 = nullptr;
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(_WIN64)
CFCPP::Stream st;
// it's not good, but otherwise file doesn't create or if use ios::app, then the seek for writing will be blocked
if (bRewrite)
std::wfstream create(filename, std::ios::app | std::ios::out);
if (trunc && bRewrite)
st.reset(new FStreamWrapper(filename, std::ios::binary | std::ios::in | std::ios::out | std::ios::trunc));
else if (bRewrite)
st.reset(new FStreamWrapper(filename, std::ios::binary | std::ios::in | std::ios::out));
else
st.reset(new FStreamWrapper(filename, std::ios::binary | std::ios::in));
return st;
#else
BYTE* pUtf8 = nullptr;
LONG lLen = 0;
NSFile::CUtf8Converter::GetUtf8StringFromUnicode(filename.c_str(), filename.length(), pUtf8, lLen, false);
std::string utf8filename((char*)pUtf8, lLen);
delete [] pUtf8;
return OpenFileStream(utf8filename, bRewrite, trunc);
#endif
}
CFCPP::Stream CFCPP::OpenFileStream(const std::string & filename, bool bRewrite, bool trunc)

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "stream.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <fstream>
@ -42,7 +42,11 @@ class FStreamWrapper : public IStream, public std::fstream
public:
FStreamWrapper(std::string filename, std::ios_base::openmode openmode) :
std::fstream(filename, openmode) {}
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(_WIN64)
FStreamWrapper(std::wstring filename, std::ios_base::openmode openmode) :
std::fstream(filename, openmode) {}
#endif
inline _INT64 tell() override {
return std::fstream::tellg();
}
@ -64,6 +68,9 @@ public:
inline void close() override {
std::fstream::close();
}
inline bool isError() override {
return (std::fstream::bad() || std::fstream::fail());
}
};
}

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <memory>
@ -48,6 +48,7 @@ namespace CFCPP
virtual void write (const char* buffer, _INT64 len) = 0;
virtual void flush() = 0;
virtual void close() = 0;
virtual bool isError() = 0;
};
using Stream = std::shared_ptr<IStream>;

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "stream_utils.h"
#include "fstream_wrapper.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "stream.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <exception>

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "cfitem.h"
#include "idirectoryentry.h"
#include "compoundfile_impl.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "guid.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "cfstorage.h"
#include "cfexception.h"
#include "compoundfile_impl.h"
@ -103,7 +103,7 @@ std::shared_ptr<CFStream> CFStorage::GetStream(const std::wstring& streamName)
}
else
{
throw CFItemNotFound(L"Cannot find item [" + streamName + L"] within the current storage");
return std::shared_ptr<CFStream>();
}
}

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RBTree/action.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "cfstream.h"
#include "cfexception.h"
#include "idirectoryentry.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Stream/stream.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "compoundfile_impl.h"
#include "directoryentry.h"
#include "cfexception.h"
@ -47,7 +47,7 @@ using namespace CFCPP;
CompoundFile::CompoundFile() : _impl(new CFCPP::CompoundFile_impl())
{
}
CompoundFile::CompoundFile(const std::wstring &fileName, CFSUpdateMode updateMode, CFSConfiguration configParameters) :
CompoundFile::CompoundFile(const std::wstring &fileName, CFSUpdateMode updateMode, int configParameters) :
_impl(new CFCPP::CompoundFile_impl(fileName, updateMode, configParameters))
{
}
@ -67,9 +67,9 @@ std::shared_ptr<CFStorage> CompoundFile::RootStorage()
{
return _impl->RootStorage();
}
void CompoundFile::Save(std::wstring wFileName)
bool CompoundFile::Save(std::wstring wFileName)
{
_impl->Save(wFileName);
return _impl->Save(wFileName);
}
void CompoundFile::Save(Stream stream)
{
@ -115,7 +115,7 @@ CompoundFile_impl::CompoundFile_impl() :
CompoundFile_impl(CFSVersion::Ver_3, CFSConfiguration::Default)
{}
CompoundFile_impl::CompoundFile_impl(const std::wstring &fileName, CFSUpdateMode updateMode, CFSConfiguration configParameters)
CompoundFile_impl::CompoundFile_impl(const std::wstring &fileName, CFSUpdateMode updateMode, int configParameters)
{
configuration = configParameters;
isValidationExceptionEnabled = !(configParameters & CFSConfiguration::NoValidationException);
@ -316,15 +316,23 @@ void CompoundFile_impl::Load(Stream stream)
}
}
void CompoundFile_impl::Save(std::wstring wFileName)
{
if (isDisposed)
throw CFException("Compound File closed: cannot save data");
bool CompoundFile_impl::Save(std::wstring wFileName)
{
if (isDisposed)
{
//throw CFException("Compound File closed: cannot save data");
return false;
}
Stream file = OpenFileStream(wFileName, true, true);
file->seek(0, std::ios::beg);
try
if (!file) return false;
if (file->isError()) return false;
file->seek(0, std::ios::beg);
bool result = true;
try
{
Save(file);
@ -343,7 +351,9 @@ void CompoundFile_impl::Save(std::wstring wFileName)
file->close();
throw CFException("Error saving file [" + fileName + "]", ex);
result = false;
}
return result;
}
@ -1796,7 +1806,6 @@ _INT32 CompoundFile_impl::GetSectorSize()
{
return 2 << (header->sectorShift - 1);
}
void CompoundFile_impl::Dispose(bool disposing)
{
try

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "cfstorage.h"
@ -56,7 +56,7 @@ class CompoundFile_impl;
class CompoundFile
{
public:
CompoundFile(const std::wstring &fileName, CFSUpdateMode updateMode, CFSConfiguration configParameters = Default);
CompoundFile(const std::wstring &fileName, CFSUpdateMode updateMode, int configParameters = Default);
CompoundFile(CFSVersion cfsVersion, CFSConfiguration configFlags);
CompoundFile(const std::wstring &fileName);
CompoundFile(Stream stream);
@ -64,7 +64,7 @@ public:
std::shared_ptr<CFStorage> RootStorage();
void Save(std::wstring wFileName);
bool Save(std::wstring wFileName);
void Save(Stream stream);
void Commit(bool releaseMemory = false);

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "compoundfile.h"
@ -49,7 +49,7 @@ class DirectoryEntry;
class CompoundFile_impl
{
public:
CompoundFile_impl(const std::wstring &fileName, CFSUpdateMode updateMode, CFSConfiguration configParameters = Default);
CompoundFile_impl(const std::wstring &fileName, CFSUpdateMode updateMode, int configParameters = Default);
CompoundFile_impl(CFSVersion cfsVersion, CFSConfiguration configFlags);
CompoundFile_impl(const std::wstring &fileName);
CompoundFile_impl(Stream stream);
@ -59,10 +59,9 @@ public:
// Main methods
std::shared_ptr<CFStorage> RootStorage();
void Save(std::wstring wFileName);
bool Save(std::wstring wFileName);
void Save(Stream stream);
void Commit(bool releaseMemory = false);
bool HasSourceStream() const;
bool ValidationExceptionEnabled() const;
@ -140,7 +139,7 @@ private:
CFSVersion getVersion() const;
public:
CFSConfiguration configuration = Default;
int configuration = Default;
std::unique_ptr<Header> header;
Stream sourceStream;

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "directoryentry.h"
#include <sstream>
#include "cfexception.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "svector.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <functional>

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../../OOXML/Base/Types_32.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "header.h"
#include "cfexception.h"
#include "streamrw.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "sector.h"

View File

@ -1,34 +1,34 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <map>

Some files were not shown because too many files have changed in this diff Show More