Claudio Cambra
|
45b123130f
|
Separate XPC init from file provider constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
423891230e
|
Separate starting of domain manager tasks from constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
58dc42a521
|
Get services using better non-url based method if available (macOS 13.0+)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
798f77fa2b
|
Improve domain discovery logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
43b7ae55df
|
Use accountStateFromFileProviderDomainIdentifier method in authenticateExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
6d4e785ebb
|
Remove unused extension ID NSString
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
be3bd7bb3b
|
Do not shadow sender()
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
784cd129fb
|
Remove all obj-c classes from fileproviderxpc.h
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
fca6b37804
|
Fix clang-tidy namespace concatenation warning
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
0856138b2e
|
Implement recognition of account state changing in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
c1fa6621ae
|
Move extension authentication into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
94bfa035c3
|
Define NSDictionary types in _clientCommServices
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
f728ec1b75
|
Add method to unauthenticate file provider extension in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
502d73814e
|
Cast clientCommServices to NSObject with correct protocol
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
23a3a3e554
|
Extract account id acquisition from clientCommService into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
8a8d3b3ef5
|
Remove redundant static in anonymous fileproviderxpc utils namespace
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
c9997ce5f9
|
Extract remote service object acquisistion from connection into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
595c23cf76
|
Extract file provider connection configuration into separate util function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
6f5b07c1ae
|
Fix clientcommservices datatype
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
95bebc5214
|
Clean up FileProviderXPC code, separate everything into single-responsibility methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
5ee2cfa749
|
Moved XPC Utils into separate file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
a0376a2dab
|
Move acquisition of file provider services to different function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
4a8d50144a
|
Move domain url acquisition to separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
8eaf4e6324
|
Move domain manager acquisition into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
59b8b8ef21
|
Upon acquisition of client communication services, send account configuration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
7716860bc9
|
Retrieve extension account ids over XPC, store client comm service per account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
eb774adc95
|
Check for protocol type in fileproviderxpc start
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
ee82968c69
|
Cache NSXPCConnections when starting FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
d4d0cf550e
|
Fix retain issues with domains in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
0b505a9c2c
|
Flatten FileProviderXPC::start()
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
25201116a0
|
Implement connection begin in XPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
9dddaf4f9f
|
Fix logging for fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
e8c1bbb953
|
Add relative symlink to ClientCommunicationProtocol in srd/gui/macOS
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
5cc8b6e7c2
|
Add starter FileProviderXPC class on client side
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2024-02-19 22:39:37 +08:00 |
|
Claudio Cambra
|
6ef73e24d7
|
[FileProvider] Add missing AccountState State case for notifying account state to extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-09-16 15:02:36 +02:00 |
|
Claudio Cambra
|
246347f88a
|
Do not initialise file provider module if not enabled in config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 16:02:39 +08:00 |
|
Claudio Cambra
|
2c3fa71405
|
Rename FileProviderDomainManager::Private to FileProviderDomainManager::MacImplementation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 16:02:38 +08:00 |
|
Claudio Cambra
|
f37e7cc3b6
|
Remove readdFileProviderDomain hack in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 16:02:38 +08:00 |
|
Claudio Cambra
|
9fff10fd5d
|
Do not use QSharedPointer to store FileProviderSocketControllers, use QPointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:29:54 +08:00 |
|
Claudio Cambra
|
4327b152fb
|
Move accountStateFromFileProviderDomainIdentifier to FileProviderDomainManager where we have methods to guarantee conversion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:28:47 +08:00 |
|
Claudio Cambra
|
95c6e7a3f4
|
Add informative messages after Q_ASSERTs for sockets in FileProviderSocketController for release mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:28:47 +08:00 |
|
Claudio Cambra
|
3254595fa4
|
Do not emit socketDestroyed twice in FileProviderSocketController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:28:47 +08:00 |
|
Claudio Cambra
|
6e84aa67a4
|
Clean up header for FileProviderSocketController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:28:47 +08:00 |
|
Claudio Cambra
|
578e8ea2d9
|
Clean up FileProviderSocketServer header, remove unnecessary ifdefs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:28:46 +08:00 |
|
Claudio Cambra
|
22fc43e7b0
|
Improve initialisation of C++ FileProvider class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:28:46 +08:00 |
|
Claudio Cambra
|
dbd4de08a7
|
Add availability guards around private implementation class of FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:36 +08:00 |
|
Claudio Cambra
|
d533d2a025
|
Do not try to compile code in FileProviderDomainManager requiring FileProvider components on macOS > 11.0
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:36 +08:00 |
|
Claudio Cambra
|
6e5c2ee04c
|
Do not initialise file provider components if system does not support file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:36 +08:00 |
|
Claudio Cambra
|
19dfbd0539
|
Add method to detect if File Provider functionality is available or not
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:36 +08:00 |
|
Claudio Cambra
|
017de893f0
|
Run poll timer for enumerator signalling to notify accounts without push notifications in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:33 +08:00 |
|
Claudio Cambra
|
bb2718824c
|
Use new convenience method to check if push notifications ready for account in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
4901b0653f
|
Add convenience method to retrieve registered domain ids in private FileProviderDomainManager class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
9dfa3d76a7
|
Add some additional converters for domain and account identifiers in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
fd87bffeef
|
Signal enumerator after reconnecting file provider domain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
89d48ec8cc
|
Submit tasks to do after readding file provider domain as completion blocks
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
002a75bca1
|
Add completion handler to readdFileProviderDomain method in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
810fa8d1ce
|
Handle situations where we might not get a manager for our desired domain in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
520e0cf2c6
|
Add readdFileProviderDomain convenience method to fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:32 +08:00 |
|
Claudio Cambra
|
29f346d494
|
Ensure that wipeAllFileProviderDomains doesn't break on macOS 11
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:31 +08:00 |
|
Claudio Cambra
|
d31a8be85c
|
Ensure registered domains are added and removed at appropriate times in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:31 +08:00 |
|
Claudio Cambra
|
ed4b40b415
|
Disconnect and reconnect file provider domains depending on account state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
178caaa7a8
|
Allow specifying disconnection of file provider domain message
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
287a4e4c0b
|
Unauthenticate the file provider extension when account is logged out
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
6d1fe0b4f7
|
Do not send account details to File Provider extension through socket controller if account not ready
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:29 +08:00 |
|
Claudio Cambra
|
d6126f477f
|
Make file provider domain disconnection reason string translatable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:28 +08:00 |
|
Claudio Cambra
|
7a18d9df3a
|
Disconnect the file provider domains when Nextcloud client is closed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:28 +08:00 |
|
Claudio Cambra
|
bc3fecfb08
|
Use asserts to check validity of pointers in private impl of fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:28 +08:00 |
|
Claudio Cambra
|
30b453f85e
|
Use specific functions for creating/converting domain identifiers and account Ids, prevent mismatches
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:28 +08:00 |
|
Claudio Cambra
|
712dde0a2f
|
Prevent removal of FileProvider domains on app shutdown
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:28 +08:00 |
|
Claudio Cambra
|
57f174d9e3
|
Ensure we wait for check for existing file provider domains to finish before rushing into creation of new domains in FileProviderDomainManager
This stops the needless deletion and the recreation of FP domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:28 +08:00 |
|
Claudio Cambra
|
ddd564bc5c
|
Ensure file provider domain pointers are correctly retained and released in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:28 +08:00 |
|
Claudio Cambra
|
85b9e7df03
|
Modernise Obj-C property notation in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:27 +08:00 |
|
Claudio Cambra
|
d528adf345
|
Sprinkle constness over C++ and Obj-C pointers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:27 +08:00 |
|
Claudio Cambra
|
9b4ba22c46
|
Use const auto in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:27 +08:00 |
|
Claudio Cambra
|
b2d76abf88
|
Use push notifications to notify file provider of changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
0a258f818b
|
Use consistent account ID type in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
331ce22e62
|
Scan for existing file provider domains on FileProviderDomainManager init
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
4e9d51e487
|
Add method to private FileProviderDomainManager to signal enumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
f7f6bffb0b
|
Stop wiping file provider domains on desktop client close/open
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
2ebd518b89
|
Use std::unique_ptr for private implementation class of FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:26 +08:00 |
|
Claudio Cambra
|
6bfdc10f7a
|
Use default constructor for private FileProviderDomainManager implementation class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:25 +08:00 |
|
Claudio Cambra
|
2f12d9b2bd
|
Remove setting connection status from fileproviderdomainmanager, this will be handled by the domain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:17 +08:00 |
|
Claudio Cambra
|
b154740575
|
Add ability for FileProviderDomainManager to wipe domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:17 +08:00 |
|
Claudio Cambra
|
a046eca3c3
|
Use safer separator for account details socket message
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:15 +08:00 |
|
Claudio Cambra
|
1cb7da9bac
|
Send account details over socket and simplify NextcloudAccount members, turn all to Strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:15 +08:00 |
|
Claudio Cambra
|
0b3f06a73f
|
Add ability for fileprovidersocketcontroller to send keychain account identifier over socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:09 +08:00 |
|
Claudio Cambra
|
969ee489e5
|
Initialise file provider socket controller by requesting file provder domain data over socket from FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:08 +08:00 |
|
Claudio Cambra
|
9f2fff3782
|
Add sendMessage to fileprovidersocketcontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:08 +08:00 |
|
Claudio Cambra
|
28a79d4767
|
Handle readyRead signal from socket in FileProviderSocketController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:08 +08:00 |
|
Claudio Cambra
|
ada4b98a93
|
Added working socket connection between desktop client local socket server and app extension socket client
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:08 +08:00 |
|
Claudio Cambra
|
c5560db690
|
Make the socket manager just manage the server, leave the socket controller in charge of controlling the socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
ffed4d7933
|
Make fileprovidersocketmanager keep track of connected sockets
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
7fc80bc4eb
|
Add basic FileProviderSocketController class to control the socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
92773e6b77
|
Rename FileProviderSocketController to FileProviderSocketManager, as it manages the sockets
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
de68b1bbb4
|
Implement basic local socket server to communicate with file provider extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
8ccd0368a1
|
Move file provider domain management to specific class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
8ff2c24e8b
|
Ensure file provider class is correctly deallocated and cleanup routines are run
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
2d27d6d072
|
Fix build with BUILD_TESTING activated
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:07 +08:00 |
|
Claudio Cambra
|
7d119457db
|
Move file provider components to macOS folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
|
2023-05-12 13:21:06 +08:00 |
|