Browse Source

Merge branch 'APPLEMAIL-33'

* APPLEMAIL-33: (27 commits)
  APPLEMAIL-33 Update service plist.
  APPLEMAIL-33 Modify some class and method documentation.
  APPLEMAIL-33 Add how to use PEPUpdatesXPCService module in Swift projects.
  APPLEMAIL-33 Add documentation to PEPNotificationXPCServiceDelegate.
  APPLEMAIL-33 Add documentation to PEPNotificationXPCClientService. Rename some properties.
  APPLEMAIL-33 Add documentation to PEPNotificationXPCApiProtocol. Change name to UpdateDownloadStatus.
  APPLEMAIL-33 Change documentation to PEPUpdateDownloader. Set to private unnecessary public properties.
  APPLEMAIL-33 Add documentation to PEPUpdateDownloadXPCService. Add needed projects to pEpMacOSAdapter scheme.
  APPLEMAIL-33 Add documentation to PEPUpdateDownloadXPCClientService.
  APPLEMAIL-33 Add documentation to PEPUpdateDownloadXPCApiProtocol
  APPLEMAIL-33 Delete unneeded implmentation part of PEPUpdatesXPCService umbrella. Change [self init] to [super init] when NSAssert is present.
  APPLEMAIL-33 Add typedef to NS_CLOSE_ENUM. Refactor name to xpcListenerEndpoint in PEPNotificationXPCService.
  APPLEMAIL-33 Use NS_CLOSE_ENUM in PEPNotificationXPCApiProtocol. Add NSAssert in default init methods.
  APPLEMAIL-33 Rename client services names in PEPUpdatesXPCService.
  APPLEMAIL-33 Refactor some function names.
  APPLEMAIL-33 Add PEPNotificationXPCService to PEPUpdatesApp. Modify some literals in PEPUpdatesApp. Delete unused code.
  APPLEMAIL-33 Add PEPUpdateDownloadApiClientService to PEPUpdatesApp. Create enpoint property in PEPNotificationXPCService.
  APPLEMAIL-33 PEPUpdatesXPCService module is used by PEPUpdatesApp.
  APPLEMAIL-33 Change some build config entries to PEPUpdatesApp. Add modulename to PEPUpdatesXPCService.
  APPLEMAIL-33 Clean main.m of unused code. Delete old folder PEPMacOSAdapterXPCService.
  ...
APPLEMAIL-42
David Alarcon 1 year ago
parent
commit
bc28acfd5b
52 changed files with 1675 additions and 473 deletions
  1. +584
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/project.pbxproj
  2. +0
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. +0
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  4. +81
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/xcshareddata/xcschemes/PEPUpdatesXPCService.xcscheme
  5. +35
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCClient/Interface/PEPNotificationXPCClientService.h
  6. +83
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCClient/XPCService/PEPNotificationXPCClientService.m
  7. +32
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/Interface/PEPNotificationXPCService.h
  8. +32
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/Interface/PEPNotificationXPCServiceDelegate.h
  9. +21
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPNotificationXPCApi.h
  10. +53
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPNotificationXPCApi.m
  11. +77
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPNotificationXPCService.m
  12. +33
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/Shared/PEPNotificationXPCApiProtocol.h
  13. +25
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCClient/Interface/PEPUpdateDownloadXPCClientService.h
  14. +79
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCClient/XPCService/PEPUpdateDownloadXPCClientService.m
  15. +24
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/Interface/PEPUpdateDownloadXPCService.h
  16. +19
    -9
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/UpdateDownloader/PEPUpdateDownloader.mm
  17. +18
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/XPCService/PEPUpdateDownloadXPCApi.h
  18. +52
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/XPCService/PEPUpdateDownloadXPCApi.m
  19. +77
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/XPCService/PEPUpdateDownloadXPCService.m
  20. +40
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/Shared/PEPUpdateDownloadXPCApiProtocol.h
  21. +19
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdatesXPCService.h
  22. +32
    -0
      Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/Shared/PEPUpdateDownloader.h
  23. +32
    -18
      Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/project.pbxproj
  24. +7
    -0
      Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  25. +8
    -0
      Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  26. +5
    -26
      Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/xcshareddata/xcschemes/p≡p updates.xcscheme
  27. +73
    -104
      Submodules/pEpNotifications/PEPUpdatesApp/AppDelegate.swift
  28. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/Assets.xcassets/AppIcon.appiconset/AppStore1024x1024-2.png
  29. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/Assets.xcassets/AppIcon.appiconset/Contents.json
  30. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/Assets.xcassets/Contents.json
  31. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/Base.lproj/Main.storyboard
  32. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/DownloadNotificationManager.swift
  33. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/DownloadStateNotifier.swift
  34. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/Info.plist
  35. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/PEPNotification.swift
  36. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/PEPUpdatesApp.entitlements
  37. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/Preview Content/Preview Assets.xcassets/Contents.json
  38. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/de.lproj/Localizable.strings
  39. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/de.lproj/Main.strings
  40. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/en.lproj/Localizable.strings
  41. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesApp/en.lproj/Main.strings
  42. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesAppTests/Info.plist
  43. +0
    -0
      Submodules/pEpNotifications/PEPUpdatesAppTests/pEpNotificationsTests.swift
  44. +36
    -36
      pEpMacOSAdapter.xcodeproj/project.pbxproj
  45. +0
    -15
      pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/All.xcscheme
  46. +85
    -15
      pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/pEpMacOSAdapter.xcscheme
  47. +0
    -50
      pEpMacOSAdapter/PEPMacOSAdapterProtocol.h
  48. +2
    -0
      pEpMacOSAdapter/foundation.pEp.adapter.macOS.plist
  49. +11
    -66
      pEpMacOSAdapter/main.m
  50. +0
    -18
      pEpMacOSAdapter/pEpMacOSAdapter.h
  51. +0
    -73
      pEpMacOSAdapter/pEpMacOSAdapter.m
  52. +0
    -43
      pEpMacOSAdapter/pEpUpdater.h

+ 584
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/project.pbxproj View File

@ -0,0 +1,584 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
4E61821525D58162007E040F /* PEPUpdateDownloadXPCClientService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E61821325D58162007E040F /* PEPUpdateDownloadXPCClientService.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E61821625D58162007E040F /* PEPUpdateDownloadXPCClientService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E61821425D58162007E040F /* PEPUpdateDownloadXPCClientService.m */; };
4E61823A25D59701007E040F /* PEPNotificationXPCClientService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E61823825D59701007E040F /* PEPNotificationXPCClientService.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E61823B25D59701007E040F /* PEPNotificationXPCClientService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E61823925D59701007E040F /* PEPNotificationXPCClientService.m */; };
4E61824D25D5A4C5007E040F /* PEPNotificationXPCServiceDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E61824C25D5A4C5007E040F /* PEPNotificationXPCServiceDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E797BB825D5255F0090F900 /* PEPNotificationXPCApiProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E797BAA25D5255F0090F900 /* PEPNotificationXPCApiProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E797BB925D5255F0090F900 /* PEPNotificationXPCService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E797BAC25D5255F0090F900 /* PEPNotificationXPCService.m */; };
4E797BBA25D5255F0090F900 /* PEPNotificationXPCService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E797BAD25D5255F0090F900 /* PEPNotificationXPCService.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E797BBB25D5255F0090F900 /* PEPUpdateDownloadXPCApiProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E797BB025D5255F0090F900 /* PEPUpdateDownloadXPCApiProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E797BBC25D5255F0090F900 /* PEPUpdateDownloader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4E797BB125D5255F0090F900 /* PEPUpdateDownloader.mm */; };
4E797BBD25D5255F0090F900 /* PEPUpdateDownloadXPCApi.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E797BB325D5255F0090F900 /* PEPUpdateDownloadXPCApi.h */; };
4E797BBE25D5255F0090F900 /* PEPUpdateDownloadXPCService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E797BB425D5255F0090F900 /* PEPUpdateDownloadXPCService.m */; };
4E797BBF25D5255F0090F900 /* PEPUpdateDownloadXPCApi.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E797BB525D5255F0090F900 /* PEPUpdateDownloadXPCApi.m */; };
4E797BC025D5255F0090F900 /* PEPUpdateDownloadXPCService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E797BB625D5255F0090F900 /* PEPUpdateDownloadXPCService.h */; settings = {ATTRIBUTES = (Public, ); }; };
4E797BC125D5255F0090F900 /* PEPUpdateDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E797BB725D5255F0090F900 /* PEPUpdateDownloader.h */; };
4E797D8C25D543520090F900 /* libdownloadclient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E797D2225D53CCC0090F900 /* libdownloadclient.a */; };
4EA193EA25D6829B00F5D802 /* PEPNotificationXPCApi.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EA193E825D6829B00F5D802 /* PEPNotificationXPCApi.h */; };
4EA193EB25D6829B00F5D802 /* PEPNotificationXPCApi.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA193E925D6829B00F5D802 /* PEPNotificationXPCApi.m */; };
4EC7BADE25DA6AB100F42C5B /* PEPUpdatesXPCService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EC7BADC25DA6AB100F42C5B /* PEPUpdatesXPCService.h */; settings = {ATTRIBUTES = (Public, ); }; };
4EC7BB1225DA6E3300F42C5B /* PEPUpdatesXPCService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4EC7BADC25DA6AB100F42C5B /* PEPUpdatesXPCService.h */; };
4EFEDAD625D6C55100EF9E09 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4EFEDAB425D6C2C000EF9E09 /* module.modulemap */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
4EFEDAD325D6C53D00EF9E09 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
4EC7BB1225DA6E3300F42C5B /* PEPUpdatesXPCService.h in CopyFiles */,
4EFEDAD625D6C55100EF9E09 /* module.modulemap in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
4E61821325D58162007E040F /* PEPUpdateDownloadXPCClientService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPUpdateDownloadXPCClientService.h; sourceTree = "<group>"; };
4E61821425D58162007E040F /* PEPUpdateDownloadXPCClientService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPUpdateDownloadXPCClientService.m; sourceTree = "<group>"; };
4E61823825D59701007E040F /* PEPNotificationXPCClientService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPNotificationXPCClientService.h; sourceTree = "<group>"; };
4E61823925D59701007E040F /* PEPNotificationXPCClientService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPNotificationXPCClientService.m; sourceTree = "<group>"; };
4E61824C25D5A4C5007E040F /* PEPNotificationXPCServiceDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPNotificationXPCServiceDelegate.h; sourceTree = "<group>"; };
4E797B9325D523FD0090F900 /* libPEPUpdatesXPCService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPUpdatesXPCService.a; sourceTree = BUILT_PRODUCTS_DIR; };
4E797BAA25D5255F0090F900 /* PEPNotificationXPCApiProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPNotificationXPCApiProtocol.h; sourceTree = "<group>"; };
4E797BAC25D5255F0090F900 /* PEPNotificationXPCService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPNotificationXPCService.m; sourceTree = "<group>"; };
4E797BAD25D5255F0090F900 /* PEPNotificationXPCService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPNotificationXPCService.h; sourceTree = "<group>"; };
4E797BB025D5255F0090F900 /* PEPUpdateDownloadXPCApiProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPUpdateDownloadXPCApiProtocol.h; sourceTree = "<group>"; };
4E797BB125D5255F0090F900 /* PEPUpdateDownloader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PEPUpdateDownloader.mm; sourceTree = "<group>"; };
4E797BB325D5255F0090F900 /* PEPUpdateDownloadXPCApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPUpdateDownloadXPCApi.h; sourceTree = "<group>"; };
4E797BB425D5255F0090F900 /* PEPUpdateDownloadXPCService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPUpdateDownloadXPCService.m; sourceTree = "<group>"; };
4E797BB525D5255F0090F900 /* PEPUpdateDownloadXPCApi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPUpdateDownloadXPCApi.m; sourceTree = "<group>"; };
4E797BB625D5255F0090F900 /* PEPUpdateDownloadXPCService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPUpdateDownloadXPCService.h; sourceTree = "<group>"; };
4E797BB725D5255F0090F900 /* PEPUpdateDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPUpdateDownloader.h; sourceTree = "<group>"; };
4E797BC625D526640090F900 /* libdownloadclient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libdownloadclient.a; sourceTree = BUILT_PRODUCTS_DIR; };
4E797D2225D53CCC0090F900 /* libdownloadclient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libdownloadclient.a; sourceTree = BUILT_PRODUCTS_DIR; };
4EA193E825D6829B00F5D802 /* PEPNotificationXPCApi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPNotificationXPCApi.h; sourceTree = "<group>"; };
4EA193E925D6829B00F5D802 /* PEPNotificationXPCApi.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPNotificationXPCApi.m; sourceTree = "<group>"; };
4EC7BADC25DA6AB100F42C5B /* PEPUpdatesXPCService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPUpdatesXPCService.h; sourceTree = "<group>"; };
4EFEDAB425D6C2C000EF9E09 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
4E797B9125D523FD0090F900 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4E797D8C25D543520090F900 /* libdownloadclient.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
4E61820925D57E19007E040F /* PEPUpdateDownloadXPCClient */ = {
isa = PBXGroup;
children = (
4E797BAF25D5255F0090F900 /* Interface */,
4E797BB225D5255F0090F900 /* XPCService */,
);
path = PEPUpdateDownloadXPCClient;
sourceTree = "<group>";
};
4E61820A25D57EBE007E040F /* PEPUpdateDownloadXPCService */ = {
isa = PBXGroup;
children = (
4E61820B25D57EEC007E040F /* Interface */,
4E61820C25D57EF3007E040F /* XPCService */,
4E61823525D591A2007E040F /* UpdateDownloader */,
);
path = PEPUpdateDownloadXPCService;
sourceTree = "<group>";
};
4E61820B25D57EEC007E040F /* Interface */ = {
isa = PBXGroup;
children = (
4E797BB625D5255F0090F900 /* PEPUpdateDownloadXPCService.h */,
);
path = Interface;
sourceTree = "<group>";
};
4E61820C25D57EF3007E040F /* XPCService */ = {
isa = PBXGroup;
children = (
4E797BB425D5255F0090F900 /* PEPUpdateDownloadXPCService.m */,
4E797BB325D5255F0090F900 /* PEPUpdateDownloadXPCApi.h */,
4E797BB525D5255F0090F900 /* PEPUpdateDownloadXPCApi.m */,
);
path = XPCService;
sourceTree = "<group>";
};
4E61820D25D57F21007E040F /* Shared */ = {
isa = PBXGroup;
children = (
4E797BB025D5255F0090F900 /* PEPUpdateDownloadXPCApiProtocol.h */,
);
path = Shared;
sourceTree = "<group>";
};
4E61823525D591A2007E040F /* UpdateDownloader */ = {
isa = PBXGroup;
children = (
4E797BB125D5255F0090F900 /* PEPUpdateDownloader.mm */,
);
path = UpdateDownloader;
sourceTree = "<group>";
};
4E61823725D59683007E040F /* Shared */ = {
isa = PBXGroup;
children = (
4E797BAA25D5255F0090F900 /* PEPNotificationXPCApiProtocol.h */,
);
path = Shared;
sourceTree = "<group>";
};
4E61823E25D59737007E040F /* PEPNotificationXPCClient */ = {
isa = PBXGroup;
children = (
4E797BA925D5255F0090F900 /* Interface */,
4E61824025D5976F007E040F /* XPCService */,
);
path = PEPNotificationXPCClient;
sourceTree = "<group>";
};
4E61823F25D5974F007E040F /* PEPNotificationXPCService */ = {
isa = PBXGroup;
children = (
4E61824B25D5A498007E040F /* Interface */,
4E797BAB25D5255F0090F900 /* XPCService */,
);
path = PEPNotificationXPCService;
sourceTree = "<group>";
};
4E61824025D5976F007E040F /* XPCService */ = {
isa = PBXGroup;
children = (
4E61823925D59701007E040F /* PEPNotificationXPCClientService.m */,
);
path = XPCService;
sourceTree = "<group>";
};
4E61824525D59EC9007E040F /* Shared */ = {
isa = PBXGroup;
children = (
4E797BB725D5255F0090F900 /* PEPUpdateDownloader.h */,
);
path = Shared;
sourceTree = "<group>";
};
4E61824B25D5A498007E040F /* Interface */ = {
isa = PBXGroup;
children = (
4E61824C25D5A4C5007E040F /* PEPNotificationXPCServiceDelegate.h */,
4E797BAD25D5255F0090F900 /* PEPNotificationXPCService.h */,
);
path = Interface;
sourceTree = "<group>";
};
4E797B8A25D523FD0090F900 = {
isa = PBXGroup;
children = (
4E797B9525D523FD0090F900 /* PEPUpdatesXPCService */,
4E797B9425D523FD0090F900 /* Products */,
4E797BC525D526640090F900 /* Frameworks */,
);
sourceTree = "<group>";
};
4E797B9425D523FD0090F900 /* Products */ = {
isa = PBXGroup;
children = (
4E797B9325D523FD0090F900 /* libPEPUpdatesXPCService.a */,
);
name = Products;
sourceTree = "<group>";
};
4E797B9525D523FD0090F900 /* PEPUpdatesXPCService */ = {
isa = PBXGroup;
children = (
4E61824525D59EC9007E040F /* Shared */,
4E797BAE25D5255F0090F900 /* PEPUpdateDownloadXPCService */,
4E797BA825D5255F0090F900 /* PEPNotificationXPCService */,
4EC7BADC25DA6AB100F42C5B /* PEPUpdatesXPCService.h */,
4EFEDAB425D6C2C000EF9E09 /* module.modulemap */,
);
path = PEPUpdatesXPCService;
sourceTree = "<group>";
};
4E797BA825D5255F0090F900 /* PEPNotificationXPCService */ = {
isa = PBXGroup;
children = (
4E61823725D59683007E040F /* Shared */,
4E61823E25D59737007E040F /* PEPNotificationXPCClient */,
4E61823F25D5974F007E040F /* PEPNotificationXPCService */,
);
path = PEPNotificationXPCService;
sourceTree = "<group>";
};
4E797BA925D5255F0090F900 /* Interface */ = {
isa = PBXGroup;
children = (
4E61823825D59701007E040F /* PEPNotificationXPCClientService.h */,
);
path = Interface;
sourceTree = "<group>";
};
4E797BAB25D5255F0090F900 /* XPCService */ = {
isa = PBXGroup;
children = (
4E797BAC25D5255F0090F900 /* PEPNotificationXPCService.m */,
4EA193E825D6829B00F5D802 /* PEPNotificationXPCApi.h */,
4EA193E925D6829B00F5D802 /* PEPNotificationXPCApi.m */,
);
path = XPCService;
sourceTree = "<group>";
};
4E797BAE25D5255F0090F900 /* PEPUpdateDownloadXPCService */ = {
isa = PBXGroup;
children = (
4E61820D25D57F21007E040F /* Shared */,
4E61820925D57E19007E040F /* PEPUpdateDownloadXPCClient */,
4E61820A25D57EBE007E040F /* PEPUpdateDownloadXPCService */,
);
path = PEPUpdateDownloadXPCService;
sourceTree = "<group>";
};
4E797BAF25D5255F0090F900 /* Interface */ = {
isa = PBXGroup;
children = (
4E61821325D58162007E040F /* PEPUpdateDownloadXPCClientService.h */,
);
path = Interface;
sourceTree = "<group>";
};
4E797BB225D5255F0090F900 /* XPCService */ = {
isa = PBXGroup;
children = (
4E61821425D58162007E040F /* PEPUpdateDownloadXPCClientService.m */,
);
path = XPCService;
sourceTree = "<group>";
};
4E797BC525D526640090F900 /* Frameworks */ = {
isa = PBXGroup;
children = (
4E797D2225D53CCC0090F900 /* libdownloadclient.a */,
4E797BC625D526640090F900 /* libdownloadclient.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
4E797B8F25D523FD0090F900 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
4E797BC125D5255F0090F900 /* PEPUpdateDownloader.h in Headers */,
4E797BBA25D5255F0090F900 /* PEPNotificationXPCService.h in Headers */,
4E797BB825D5255F0090F900 /* PEPNotificationXPCApiProtocol.h in Headers */,
4E61821525D58162007E040F /* PEPUpdateDownloadXPCClientService.h in Headers */,
4E797BBD25D5255F0090F900 /* PEPUpdateDownloadXPCApi.h in Headers */,
4E797BC025D5255F0090F900 /* PEPUpdateDownloadXPCService.h in Headers */,
4E61824D25D5A4C5007E040F /* PEPNotificationXPCServiceDelegate.h in Headers */,
4EC7BADE25DA6AB100F42C5B /* PEPUpdatesXPCService.h in Headers */,
4EA193EA25D6829B00F5D802 /* PEPNotificationXPCApi.h in Headers */,
4E797BBB25D5255F0090F900 /* PEPUpdateDownloadXPCApiProtocol.h in Headers */,
4E61823A25D59701007E040F /* PEPNotificationXPCClientService.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
4E797B9225D523FD0090F900 /* PEPUpdatesXPCService */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4E797B9C25D523FD0090F900 /* Build configuration list for PBXNativeTarget "PEPUpdatesXPCService" */;
buildPhases = (
4E797B8F25D523FD0090F900 /* Headers */,
4E797B9025D523FD0090F900 /* Sources */,
4E797B9125D523FD0090F900 /* Frameworks */,
4EFEDAD325D6C53D00EF9E09 /* CopyFiles */,
4EC7BB2E25DA6E9000F42C5B /* Copy artefacts to custom build dir */,
);
buildRules = (
);
dependencies = (
);
name = PEPUpdatesXPCService;
productName = PEPUpdatesXPCService;
productReference = 4E797B9325D523FD0090F900 /* libPEPUpdatesXPCService.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
4E797B8B25D523FD0090F900 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1240;
TargetAttributes = {
4E797B9225D523FD0090F900 = {
CreatedOnToolsVersion = 12.4;
LastSwiftMigration = 1240;
};
};
};
buildConfigurationList = 4E797B8E25D523FD0090F900 /* Build configuration list for PBXProject "PEPUpdatesXPCService" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 4E797B8A25D523FD0090F900;
productRefGroup = 4E797B9425D523FD0090F900 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
4E797B9225D523FD0090F900 /* PEPUpdatesXPCService */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
4EC7BB2E25DA6E9000F42C5B /* Copy artefacts to custom build dir */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Copy artefacts to custom build dir";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "CUSTOM_BUILD_DIR=${PROJECT_DIR}/build\nmkdir -p ${CUSTOM_BUILD_DIR}\necho \"{BUILD_DIR}: ${BUILD_DIR}\"\nREAL_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}\necho \"{REAL_BUILD_DIR}: ${REAL_BUILD_DIR}\"\ncp -R \"${REAL_BUILD_DIR}/usr/local/include\" ${CUSTOM_BUILD_DIR}\ncp \"${REAL_BUILD_DIR}/libPEPUpdatesXPCService.a\" ${CUSTOM_BUILD_DIR}\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
4E797B9025D523FD0090F900 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4E61823B25D59701007E040F /* PEPNotificationXPCClientService.m in Sources */,
4E797BBE25D5255F0090F900 /* PEPUpdateDownloadXPCService.m in Sources */,
4E797BB925D5255F0090F900 /* PEPNotificationXPCService.m in Sources */,
4EA193EB25D6829B00F5D802 /* PEPNotificationXPCApi.m in Sources */,
4E61821625D58162007E040F /* PEPUpdateDownloadXPCClientService.m in Sources */,
4E797BBF25D5255F0090F900 /* PEPUpdateDownloadXPCApi.m in Sources */,
4E797BBC25D5255F0090F900 /* PEPUpdateDownloader.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
4E797B9A25D523FD0090F900 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../../local/include",
"$(PROJECT_DIR)/../../../downloadclient",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "$(OTHER_LDFLAGS)";
SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "";
};
name = Debug;
};
4E797B9B25D523FD0090F900 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(PROJECT_DIR)/../../../local/include",
"$(PROJECT_DIR)/../../../downloadclient",
);
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = "$(OTHER_LDFLAGS)";
SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "";
};
name = Release;
};
4E797B9D25D523FD0090F900 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPUpdatesXPCService-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
USER_HEADER_SEARCH_PATHS = "$(inherited)";
};
name = Debug;
};
4E797B9E25D523FD0090F900 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = NQLYU6MGPN;
EXECUTABLE_PREFIX = lib;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
LIBRARY_SEARCH_PATHS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPUpdatesXPCService-Bridging-Header.h";
SWIFT_VERSION = 5.0;
USER_HEADER_SEARCH_PATHS = "$(inherited)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4E797B8E25D523FD0090F900 /* Build configuration list for PBXProject "PEPUpdatesXPCService" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4E797B9A25D523FD0090F900 /* Debug */,
4E797B9B25D523FD0090F900 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4E797B9C25D523FD0090F900 /* Build configuration list for PBXNativeTarget "PEPUpdatesXPCService" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4E797B9D25D523FD0090F900 /* Debug */,
4E797B9E25D523FD0090F900 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 4E797B8B25D523FD0090F900 /* Project object */;
}

Submodules/pEpNotifications/pEpNotifications.xcodeproj/project.xcworkspace/contents.xcworkspacedata → Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/project.xcworkspace/contents.xcworkspacedata View File


Submodules/pEpNotifications/pEpNotifications.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist → Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist View File


+ 81
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService.xcodeproj/xcshareddata/xcschemes/PEPUpdatesXPCService.xcscheme View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1240"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
buildImplicitDependencies = "NO">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "35380AC5247BBB03004A08A6"
BuildableName = "libdownloadclient.a"
BlueprintName = "downloadclient"
ReferencedContainer = "container:../../../downloadclient/downloadclient.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4E797B9225D523FD0090F900"
BuildableName = "libPEPUpdatesXPCService.a"
BlueprintName = "PEPUpdatesXPCService"
ReferencedContainer = "container:PEPUpdatesXPCService.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4E797B9225D523FD0090F900"
BuildableName = "libPEPUpdatesXPCService.a"
BlueprintName = "PEPUpdatesXPCService"
ReferencedContainer = "container:PEPUpdatesXPCService.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

+ 35
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCClient/Interface/PEPNotificationXPCClientService.h View File

@ -0,0 +1,35 @@
//
// PEPNotificationXPCClientService.h
// PEPUpdatesXPCService
//
// Created by David Alarcon on 11/2/21.
//
#import <Foundation/Foundation.h>
#import "PEPNotificationXPCApiProtocol.h"
@class PEPUpdateDownloader;
NS_ASSUME_NONNULL_BEGIN
/// Service to connect to the notifications XPC service.
@interface PEPNotificationXPCClientService : NSObject <PEPNotificationXPCApiProtocol>
/// Init the client service
/// @param xpcListenerEndpoint The anonymous endpoint from the update download notification status service
/// in pEp updates app.
/// @param updateDownloader The update downloader client that encapsulates the functionality of
/// downloadclient
- (instancetype)initWithListenerEndpoint:(NSXPCListenerEndpoint *)xpcListenerEndpoint
updateDownloader:(PEPUpdateDownloader *)updateDownloader;
/// Start the service and connect to the notification XPC service.
- (void)start ;
/// Stop the service.
- (void)stop;
@end
NS_ASSUME_NONNULL_END

+ 83
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCClient/XPCService/PEPNotificationXPCClientService.m View File

@ -0,0 +1,83 @@
//
// PEPNotificationXPCClientService.m
// PEPUpdatesXPCService
//
// Created by David Alarcon on 11/2/21.
//
#import "PEPNotificationXPCClientService.h"
#import "PEPUpdateDownloader.h"
@interface PEPNotificationXPCClientService ()
@property (nonatomic) NSXPCConnection *connection;
@property (nonatomic) id<PEPNotificationXPCApiProtocol> pEpDownloadNotification;
@property (nonatomic) NSXPCListenerEndpoint *endpoint;
@property (nonatomic) PEPUpdateDownloader *updateDownloader;
@end
@implementation PEPNotificationXPCClientService
- (instancetype)init {
NSAssert(NO, @"Use initWithListenerEndpoint:updateDownloader: instead.");
return nil;
}
- (instancetype)initWithListenerEndpoint:(NSXPCListenerEndpoint *)xpcListenerEndpoint
updateDownloader:(PEPUpdateDownloader *)updateDownloader {
if (self = [super init]) {
_endpoint = xpcListenerEndpoint;
_updateDownloader = updateDownloader;
}
return self;
}
- (void)start {
[self connectToXPCService];
}
- (void)stop {
self.connection = nil;
}
// MARK: - Private
- (void)connectToXPCService {
self.connection = [[NSXPCConnection alloc] initWithListenerEndpoint:self.endpoint];
NSXPCInterface *remoteObjectInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPNotificationXPCApiProtocol)];
self.connection.remoteObjectInterface = remoteObjectInterface;
__weak typeof(self) weakSelf = self;
self.connection.invalidationHandler = ^{
__strong typeof(weakSelf) strongSelf = weakSelf;
strongSelf.connection = nil;
NSLog(@"Connection has been invalidated.\n");
};
self.connection.interruptionHandler = ^{
__strong typeof(self) strongSelf = weakSelf;
strongSelf.connection.interruptionHandler = nil;
NSLog(@"Connection has been interrupted.\n");
};
// New connections always start in a suspended state
[self.connection resume];
// The remote object
self.pEpDownloadNotification = [self.connection remoteObjectProxyWithErrorHandler:^(NSError * _Nonnull error) {
}];
self.updateDownloader.subscriber = self.pEpDownloadNotification;
if (self.pEpDownloadNotification) {
[self.pEpDownloadNotification notifyDownload:UpdateDownloadStatusReady withName:@"" withFilename:@""];
}
}
// MARK: - PEPNotificationXPCApiProtocol
- (void)notifyDownload:(UpdateDownloadStatus)status withName:(NSString *)name withFilename:(NSString *)filename {
[self.pEpDownloadNotification notifyDownload:status withName:name withFilename:filename];
}
@end

+ 32
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/Interface/PEPNotificationXPCService.h View File

@ -0,0 +1,32 @@
//
// PEPNotificationXPCService.h
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol PEPNotificationXPCServiceDelegate;
NS_ASSUME_NONNULL_BEGIN
/// The notifications XPC service.
@interface PEPNotificationXPCService : NSObject <NSXPCListenerDelegate>
@property (nonatomic, readonly) NSXPCListenerEndpoint *xpcListenerEndpoint;
/// Init notifications service.
/// @param delegate The delegate that manage the update download notifications.
- (instancetype)initWithDelegate:(id<PEPNotificationXPCServiceDelegate>)delegate;
/// Begin listening for incoming XPC connections
- (void)start;
/// Stop listening for incoming XPC connections
- (void)stop;
@end
NS_ASSUME_NONNULL_END

+ 32
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/Interface/PEPNotificationXPCServiceDelegate.h View File

@ -0,0 +1,32 @@
//
// PEPNotificationXPCServiceDelegate.h
// PEPUpdatesXPCService
//
// Created by David Alarcon on 11/2/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// Protocol that manages the update download notifications.
@protocol PEPNotificationXPCServiceDelegate <NSObject>
/// An update is downloading.
/// @param name The name of the pEp product.
- (void)pEpNotificationIsDownloadingWithName:(NSString *)name;
/// An update has downloaded.
/// @param name The name of the pEp product.
/// @param filename The filename of the pEp product.
- (void)pEpNotificationDownloadDidArriveWithName:(NSString *)name filename:(NSString *)filename;
/// No update available.
- (void)pEpNotificationNoDownloadAvailable;
/// Ready to download updates and send notifications.
- (void)pEpNotificationReady;
@end
NS_ASSUME_NONNULL_END

+ 21
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPNotificationXPCApi.h View File

@ -0,0 +1,21 @@
//
// PEPNotificationXPCApi.h
// PEPUpdatesXPCService
//
// Created by David Alarcon on 12/2/21.
//
#import <Foundation/Foundation.h>
#import "PEPNotificationXPCApiProtocol.h"
#import "PEPNotificationXPCServiceDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface PEPNotificationXPCApi : NSObject <PEPNotificationXPCApiProtocol>
- (instancetype)initWithDelegate:(id<PEPNotificationXPCServiceDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END

+ 53
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPNotificationXPCApi.m View File

@ -0,0 +1,53 @@
//
// PEPNotificationXPCApi.m
// PEPUpdatesXPCService
//
// Created by David Alarcon on 12/2/21.
//
#import "PEPNotificationXPCApi.h"
@interface PEPNotificationXPCApi ()
@property (nonatomic, weak) id<PEPNotificationXPCServiceDelegate> delegate;
@end
@implementation PEPNotificationXPCApi
- (instancetype)init {
NSAssert(NO, @"Use initWithDelegate: instead.");
return nil;
}
- (instancetype)initWithDelegate:(id<PEPNotificationXPCServiceDelegate>)delegate {
if (self = [super init]) {
_delegate = delegate;
}
return self;
}
// MARK: - PEPNotificationXPCApiProtocol
- (void)notifyDownload:(UpdateDownloadStatus)status
withName:(nonnull NSString *)name
withFilename:(nonnull NSString *)filename {
switch (status) {
case UpdateDownloadStatusDownloading:
[self.delegate pEpNotificationIsDownloadingWithName:name];
break;
case UpdateDownloadStatusDownloadArrived:
[self.delegate pEpNotificationDownloadDidArriveWithName:name filename:filename];
break;
case UpdateDownloadStatusNoDownloadAvailable:
[self.delegate pEpNotificationNoDownloadAvailable];
break;
case UpdateDownloadStatusReady:
[self.delegate pEpNotificationReady];
break;
default:
NSAssert(NO, @"Unhandled case.");
}
}
@end

+ 77
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/PEPNotificationXPCService/XPCService/PEPNotificationXPCService.m View File

@ -0,0 +1,77 @@
//
// PEPNotificationXPCService.m
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import "PEPNotificationXPCService.h"
#import "PEPNotificationXPCServiceDelegate.h"
#import "PEPNotificationXPCApiProtocol.h"
#import "PEPNotificationXPCApi.h"
@interface PEPNotificationXPCService ()
@property (nonatomic, weak) id<PEPNotificationXPCServiceDelegate> delegate;
@property (nonatomic) NSXPCListener *listener;
@end
@implementation PEPNotificationXPCService
- (instancetype)init {
NSAssert(NO, @"Use initWithDelegate: instead.");
return nil;
}
- (instancetype)initWithDelegate:(id<PEPNotificationXPCServiceDelegate>)delegate {
if (self = [super init]) {
_listener = [NSXPCListener anonymousListener];
NSLog(@"starting agent");
_listener.delegate = self;
_delegate = delegate;
_xpcListenerEndpoint = _listener.endpoint;
}
return self;
}
- (void)start {
[self.listener resume];
}
- (void)stop {
}
// MARK: - NSXPCListenerDelegate
- (BOOL)listener:(NSXPCListener *)listener shouldAcceptNewConnection:(NSXPCConnection *)newConnection {
// This method is where the NSXPCListener configures, accepts, and resumes a new incoming NSXPCConnection.
NSLog(@"incoming connection");
// Configure the connection.
// First, set the interface that the exported object implements.
newConnection.exportedInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPNotificationXPCApiProtocol)];
// Next, set the object that the connection exports. All messages sent on
// the connection to this service will be sent to the exported object to
// handle. The connection retains the exported object.
PEPNotificationXPCApi *exportedObject = [[PEPNotificationXPCApi alloc] initWithDelegate:self.delegate];
newConnection.exportedObject = exportedObject;
if (!newConnection.exportedInterface || !newConnection.exportedObject) {
NSLog(@"failed to allocate object and interface");
return NO;
}
// Resuming the connection allows the system to deliver more incoming messages.
[newConnection resume];
// Returning YES from this method tells the system that you have accepted this connection. If you want to reject the connection for some reason, call -invalidate on the connection and return NO.
NSLog(@"connection accepted");
return YES;
}
@end

+ 33
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPNotificationXPCService/Shared/PEPNotificationXPCApiProtocol.h View File

@ -0,0 +1,33 @@
//
// PEPNotificationXPCApiProtocol.h
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// Update download status
typedef NS_CLOSED_ENUM(int, UpdateDownloadStatus) {
UpdateDownloadStatusReady = 0,
UpdateDownloadStatusDownloading,
UpdateDownloadStatusDownloadArrived,
UpdateDownloadStatusNoDownloadAvailable
};
/// Protocol to notify about update download status
@protocol PEPNotificationXPCApiProtocol <NSObject>
/// Notifiy about update download status
/// @param status The update notification status.
/// @param name The name of the pEp product being updated.
/// @param filename The filename name of the pEp product being updated.
- (void)notifyDownload:(UpdateDownloadStatus)status withName:(NSString*)name withFilename:(NSString*)filename;
@end
NS_ASSUME_NONNULL_END

+ 25
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCClient/Interface/PEPUpdateDownloadXPCClientService.h View File

@ -0,0 +1,25 @@
//
// PEPUpdateDownloadXPCClientService.h
// PEPUpdatesXPCService
//
// Created by David Alarcon on 11/2/21.
//
#import <Foundation/Foundation.h>
#import "PEPUpdateDownloadXPCApiProtocol.h"
NS_ASSUME_NONNULL_BEGIN
/// Service to connect to the update downloads XPC service.
@interface PEPUpdateDownloadXPCClientService : NSObject <PEPUpdateDownloadXPCApiProtocol>
/// Start the service and connect to the update downloads XPC service.
- (void)start;
/// Stop the service.
- (void)stop;
@end
NS_ASSUME_NONNULL_END

+ 79
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCClient/XPCService/PEPUpdateDownloadXPCClientService.m View File

@ -0,0 +1,79 @@
//
// PEPUpdateDownloadXPCClientService.m
// PEPUpdatesXPCService
//
// Created by David Alarcon on 11/2/21.
//
#import "PEPUpdateDownloadXPCClientService.h"
@interface PEPUpdateDownloadXPCClientService ()
@property (nonatomic, strong) NSXPCConnection *connection;
@property (nonatomic) id<PEPUpdateDownloadXPCApiProtocol> pEpUpdateDownload;
@end
@implementation PEPUpdateDownloadXPCClientService
- (void)start {
[self connectToXPCService];
}
- (void)stop {
[self.connection invalidate];
self.connection = nil;
}
// MARK: - Private
- (void)connectToXPCService {
self.connection = [[NSXPCConnection alloc] initWithMachServiceName:pEpUpdateDownloadXPCMachName
options:0];
NSXPCInterface *remoteObjectInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPUpdateDownloadXPCApiProtocol)];
self.connection.remoteObjectInterface = remoteObjectInterface;
__weak typeof(self) weakSelf = self;
self.connection.invalidationHandler = ^{
__strong typeof(weakSelf) strongSelf = weakSelf;
strongSelf.connection = nil;
NSLog(@"Connection has been invalidated.\n");
};
self.connection.interruptionHandler = ^{
__strong typeof(self) strongSelf = weakSelf;
strongSelf.connection.interruptionHandler = nil;
NSLog(@"Connection has been interrupted.\n");
};
// New connections always start in a suspended state
[self.connection resume];
// The remote object
self.pEpUpdateDownload = [self.connection remoteObjectProxyWithErrorHandler:^(NSError * _Nonnull error) {
}];
}
// MARK: - PEPUpdateDownloadXPCApiProtocol
- (void)subscribeForUpdate:(NSXPCListenerEndpoint *)endpoint {
[self.pEpUpdateDownload subscribeForUpdate:endpoint];
}
- (void)unsubscribeForUpdate {
[self.pEpUpdateDownload unsubscribeForUpdate];
}
- (void)scheduleUpdates {
[self.pEpUpdateDownload scheduleUpdates];
}
- (void)stopUpdates {
[self.pEpUpdateDownload stopUpdates];
}
- (void)updateNow {
[self.pEpUpdateDownload updateNow];
}
@end

+ 24
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/Interface/PEPUpdateDownloadXPCService.h View File

@ -0,0 +1,24 @@
//
// PEPUpdateDownloadXPCService.h
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// The update downloads XPC service.
@interface PEPUpdateDownloadXPCService : NSObject <NSXPCListenerDelegate>
/// Begin listening for incoming XPC connections
- (void)start;
/// Stop listening for incoming XPC connections
- (void)stop;
@end
NS_ASSUME_NONNULL_END

pEpMacOSAdapter/pEpUpdater.mm → Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/UpdateDownloader/PEPUpdateDownloader.mm View File


+ 18
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/XPCService/PEPUpdateDownloadXPCApi.h View File

@ -0,0 +1,18 @@
//
// PEPUpdateDownloadXPCApi.h
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "PEPUpdateDownloadXPCApiProtocol.h"
NS_ASSUME_NONNULL_BEGIN
@interface PEPUpdateDownloadXPCApi : NSObject <PEPUpdateDownloadXPCApiProtocol>
@end
NS_ASSUME_NONNULL_END

+ 52
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/XPCService/PEPUpdateDownloadXPCApi.m View File

@ -0,0 +1,52 @@
//
// PEPUpdateDownloadXPCApi.m
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import "PEPUpdateDownloadXPCApi.h"
#import "PEPNotificationXPCApiProtocol.h"
#import "PEPUpdateDownloader.h"
#import "PEPNotificationXPCClientService.h"
//extern PEPUpdateDownloader* updater;
@interface PEPUpdateDownloadXPCApi ()
@property (nonatomic) PEPUpdateDownloader *updater;
@end
@implementation PEPUpdateDownloadXPCApi
- (void)subscribeForUpdate:(NSXPCListenerEndpoint*)endpoint {
NSLog(@"subscribeForUpdate called");
if (!self.updater) {
self.updater = [PEPUpdateDownloader new];
}
PEPNotificationXPCClientService *service = [[PEPNotificationXPCClientService alloc] initWithListenerEndpoint:endpoint updateDownloader:self.updater];
[service start];
}
- (void)unsubscribeForUpdate {
NSLog(@"unsubscribeForUpdate called");
if (self.updater) self.updater.subscriber = nil;
}
- (void)updateNow {
NSLog(@"updateNow called");
if (self.updater) [self.updater updateAll];
}
- (void)scheduleUpdates {
NSLog(@"scheduleUpdates called");
if (self.updater) [self.updater scheduleUpdates];
}
- (void)stopUpdates {
NSLog(@"stopUpdates called");
if (self.updater) [self.updater stopUpdates];
}
@end

+ 77
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/XPCService/PEPUpdateDownloadXPCService.m View File

@ -0,0 +1,77 @@
//
// PEPUpdateDownloadXPCService.m
// foundation.pEp.adapter.macOS
//
// Created by David Alarcon on 9/2/21.
// Copyright © 2021 pp foundation. All rights reserved.
//
#import "PEPUpdateDownloadXPCService.h"
@import AppKit;
#import "PEPUpdateDownloadXPCApiProtocol.h"
#import "PEPUpdateDownloadXPCApi.h"
@interface PEPUpdateDownloadXPCService ()
@property (nonatomic, strong, readwrite) NSXPCListener *listener;
@end
@implementation PEPUpdateDownloadXPCService
- (instancetype)init {
if (self = [super init]) {
_listener = [[NSXPCListener alloc] initWithMachServiceName:pEpUpdateDownloadXPCMachName];
NSLog(@"starting agent");
_listener.delegate = self;
}
return self;
}
- (void)start {
[self.listener resume];
BOOL opened = [self startPEPUpdatesApp];
NSAssert(opened, @"Fail to open 'p≡p updates.app'.");
}
// MARK: - Private
- (BOOL)startPEPUpdatesApp {
NSURL *url = [NSURL
fileURLWithPath:@"/Library/Application Support/pEp/pEp.app/Contents/Library/LoginItems/pp updates.app"];
return [[NSWorkspace sharedWorkspace] openURL:url];
}
// MARK: - NSXPCListenerDelegate
- (BOOL)listener:(NSXPCListener *)listener shouldAcceptNewConnection:(NSXPCConnection *)newConnection {
// This method is where the NSXPCListener configures, accepts, and resumes a new incoming NSXPCConnection.
NSLog(@"incoming connection");
// Configure the connection.
// First, set the interface that the exported object implements.
newConnection.exportedInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPUpdateDownloadXPCApiProtocol)];
// Next, set the object that the connection exports. All messages sent on
// the connection to this service will be sent to the exported object to
// handle. The connection retains the exported object.
PEPUpdateDownloadXPCApi *exportedObject = [PEPUpdateDownloadXPCApi new];
newConnection.exportedObject = exportedObject;
if (!newConnection.exportedInterface || !newConnection.exportedObject) {
NSLog(@"failed to allocate object and interface");
return NO;
}
// Resuming the connection allows the system to deliver more incoming messages.
[newConnection resume];
// Returning YES from this method tells the system that you have accepted this connection. If you want to reject the connection for some reason, call -invalidate on the connection and return NO.
NSLog(@"connection accepted");
return YES;
}
@end

+ 40
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/Shared/PEPUpdateDownloadXPCApiProtocol.h View File

@ -0,0 +1,40 @@
//
// PEPMacOSAdapterProtocol.h
// pEpMacOSAdapter
//
// Created by Volker Birk on 20.04.20.
// Copyleft © 2020 pp foundation.
// This file is under GNU General Public License 3.0
//
#import <Foundation/Foundation.h>
static NSString *pEpUpdateDownloadXPCMachName = @"foundation.pEp.adapter.macOS_OpenStep";
/// Provides the XPC interface for update downloads to pEp updates app.
@protocol PEPUpdateDownloadXPCApiProtocol
/// Subscribe to receive notifications about update downloads status.
/// @param xpcListenerEndpoint The endpoint from the notification status service.
/// @code
/// PEPNotificationXPCService *service = [[PEPNotificationXPCService alloc] initWithDelegate:self];
/// NSXPCListenerEndpoint *endpoint = service.xpcListenerEndpoint;
///
/// [self subscribeForUpdate:edpoint];
/// @endcode
/// @discussion Method where we combine the two services together
- (void)subscribeForUpdate:(NSXPCListenerEndpoint*)xpcListenerEndpoint;
/// Unsubscribe from receiving notifications about update downloads status.
- (void)unsubscribeForUpdate;
/// Check for update downloads.
- (void)updateNow;
/// Schedules to check for update downloads every 2 hours.
- (void)scheduleUpdates;
/// Stop schedule the update downloads.
- (void)stopUpdates;
@end

+ 19
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdatesXPCService.h View File

@ -0,0 +1,19 @@
//
// PEPUpdatesXPCService.h
// PEPUpdatesXPCService
//
// Created by David Alarcon on 15/2/21.
//
/// Umbrella for module PEPUpdatesXPCServices
/// @code import PEPUpdatesXPCService
#import <Foundation/Foundation.h>
#import "PEPUpdateDownloadXPCApiProtocol.h"
#import "PEPUpdateDownloadXPCClientService.h"
#import "PEPUpdateDownloadXPCService.h"
#import "PEPNotificationXPCApiProtocol.h"
#import "PEPNotificationXPCClientService.h"
#import "PEPNotificationXPCServiceDelegate.h"
#import "PEPNotificationXPCService.h"

+ 32
- 0
Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/Shared/PEPUpdateDownloader.h View File

@ -0,0 +1,32 @@
//
// PEPUpdateDownloader.h
// pEpMacOSAdapter
//
// Created by Volker Birk on 26.05.20.
// Copyright © 2020 pp foundation. All rights reserved.
// This file is under GNU General Public License 3.0
//
#import <Foundation/Foundation.h>
#import "PEPNotificationXPCApiProtocol.h"
/// Object encapsulating the update client functionality of downloadclient
@interface PEPUpdateDownloader : NSObject
/// Subscriber for update downloads notifications
@property (retain) id<PEPNotificationXPCApiProtocol> subscriber;
/// Initializes the PEPUpdateDownloader
- (id)init;
/// Schedules to check for update downloads every 2 hours.
- (void)scheduleUpdates;
/// Stop schedule the update downloads.
- (void)stopUpdates;
/// Trigger the download of available updates for all installed pEp products.
/// Informs and notifies the subscriber if there are updates available.
- (void)updateAll;
@end

Submodules/pEpNotifications/pEpNotifications.xcodeproj/project.pbxproj → Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/project.pbxproj View File


+ 7
- 0
Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

+ 8
- 0
Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

Submodules/pEpNotifications/pEpNotifications.xcodeproj/xcshareddata/xcschemes/p≡p updates.xcscheme → Submodules/pEpNotifications/PEPUpdatesApp.xcodeproj/xcshareddata/xcschemes/p≡p updates.xcscheme View File


Submodules/pEpNotifications/pEpNotifications/AppDelegate.swift → Submodules/pEpNotifications/PEPUpdatesApp/AppDelegate.swift View File


Submodules/pEpNotifications/pEpNotifications/Assets.xcassets/AppIcon.appiconset/AppStore1024x1024-2.png → Submodules/pEpNotifications/PEPUpdatesApp/Assets.xcassets/AppIcon.appiconset/AppStore1024x1024-2.png View File


Submodules/pEpNotifications/pEpNotifications/Assets.xcassets/AppIcon.appiconset/Contents.json → Submodules/pEpNotifications/PEPUpdatesApp/Assets.xcassets/AppIcon.appiconset/Contents.json View File


Submodules/pEpNotifications/pEpNotifications/Assets.xcassets/Contents.json → Submodules/pEpNotifications/PEPUpdatesApp/Assets.xcassets/Contents.json View File


Submodules/pEpNotifications/pEpNotifications/Base.lproj/Main.storyboard → Submodules/pEpNotifications/PEPUpdatesApp/Base.lproj/Main.storyboard View File


Submodules/pEpNotifications/pEpNotifications/DownloadNotificationManager.swift → Submodules/pEpNotifications/PEPUpdatesApp/DownloadNotificationManager.swift View File


Submodules/pEpNotifications/pEpNotifications/DownloadStateNotifier.swift → Submodules/pEpNotifications/PEPUpdatesApp/DownloadStateNotifier.swift View File


Submodules/pEpNotifications/pEpNotifications/Info.plist → Submodules/pEpNotifications/PEPUpdatesApp/Info.plist View File


Submodules/pEpNotifications/pEpNotifications/PEPNotification.swift → Submodules/pEpNotifications/PEPUpdatesApp/PEPNotification.swift View File


Submodules/pEpNotifications/pEpNotifications/pEpNotifications.entitlements → Submodules/pEpNotifications/PEPUpdatesApp/PEPUpdatesApp.entitlements View File


Submodules/pEpNotifications/pEpNotifications/Preview Content/Preview Assets.xcassets/Contents.json → Submodules/pEpNotifications/PEPUpdatesApp/Preview Content/Preview Assets.xcassets/Contents.json View File


Submodules/pEpNotifications/pEpNotifications/de.lproj/Localizable.strings → Submodules/pEpNotifications/PEPUpdatesApp/de.lproj/Localizable.strings View File


Submodules/pEpNotifications/pEpNotifications/de.lproj/Main.strings → Submodules/pEpNotifications/PEPUpdatesApp/de.lproj/Main.strings View File


Submodules/pEpNotifications/pEpNotifications/en.lproj/Localizable.strings → Submodules/pEpNotifications/PEPUpdatesApp/en.lproj/Localizable.strings View File


Submodules/pEpNotifications/pEpNotifications/en.lproj/Main.strings → Submodules/pEpNotifications/PEPUpdatesApp/en.lproj/Main.strings View File


Submodules/pEpNotifications/pEpNotificationsTests/Info.plist → Submodules/pEpNotifications/PEPUpdatesAppTests/Info.plist View File


Submodules/pEpNotifications/pEpNotificationsTests/pEpNotificationsTests.swift → Submodules/pEpNotifications/PEPUpdatesAppTests/pEpNotificationsTests.swift View File


+ 36
- 36
pEpMacOSAdapter.xcodeproj/project.pbxproj View File

@ -7,29 +7,25 @@
objects = {
/* Begin PBXBuildFile section */
15AC46BC254EE19600AA18DE /* libdownloadclient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15AC46BB254EE19600AA18DE /* libdownloadclient.a */; };
35380AE7247BD13A004A08A6 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 35380AE6247BD13A004A08A6 /* README.md */; };
35380AEA247C784E004A08A6 /* pEpUpdater.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35380AE9247C784E004A08A6 /* pEpUpdater.mm */; };
35DC18D8244DA19100FB2002 /* pEpMacOSAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 35DC18D7244DA19100FB2002 /* pEpMacOSAdapter.m */; };
35DC18DA244DA19100FB2002 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 35DC18D9244DA19100FB2002 /* main.m */; };
4E5FC0F225B9D2E0000DF12C /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E5FC0F025B9D2CF000DF12C /* libz.tbd */; };
4E9F55D025D3D4B8005BD46F /* libPEPObjCAdapterXPCService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E9F55CF25D3D4B8005BD46F /* libPEPObjCAdapterXPCService.a */; };
4EA193F325D6876700F5D802 /* libPEPUpdatesXPCService.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EA193F225D6876700F5D802 /* libPEPUpdatesXPCService.a */; };
4EA193F825D6893A00F5D802 /* libiconv.2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EA193F625D688EA00F5D802 /* libiconv.2.tbd */; };
4EA1945E25D6943500F5D802 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EA1945D25D6942D00F5D802 /* libc++.tbd */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
150D91D1254732B600010463 /* libboost_regex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboost_regex.a; path = ../local/lib/libboost_regex.a; sourceTree = "<group>"; };
150D91D4254732E800010463 /* libcryptopp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcryptopp.a; path = ../local/lib/libcryptopp.a; sourceTree = "<group>"; };
150D91D62547330100010463 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = ../local/lib/libcrypto.a; sourceTree = "<group>"; };
150D91D82547331D00010463 /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = ../local/lib/libssl.a; sourceTree = "<group>"; };
15AC46BB254EE19600AA18DE /* libdownloadclient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libdownloadclient.a; sourceTree = BUILT_PRODUCTS_DIR; };
15CC85A62546D71A00DC43A1 /* libdownloadclient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libdownloadclient.a; sourceTree = BUILT_PRODUCTS_DIR; };
35380AE6247BD13A004A08A6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = SOURCE_ROOT; };
35380AE8247C784E004A08A6 /* pEpUpdater.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pEpUpdater.h; sourceTree = "<group>"; };
35380AE9247C784E004A08A6 /* pEpUpdater.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = pEpUpdater.mm; sourceTree = "<group>"; };
35DC18D2244DA19100FB2002 /* foundation.pEp.adapter.macOS.xpc */ = {isa = PBXFileReference; explicitFileType = "wrapper.xpc-service"; includeInIndex = 0; path = foundation.pEp.adapter.macOS.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
35DC18D5244DA19100FB2002 /* PEPMacOSAdapterProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPMacOSAdapterProtocol.h; sourceTree = "<group>"; };
35DC18D6244DA19100FB2002 /* pEpMacOSAdapter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pEpMacOSAdapter.h; sourceTree = "<group>"; };
35DC18D7244DA19100FB2002 /* pEpMacOSAdapter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = pEpMacOSAdapter.m; sourceTree = "<group>"; };
35DC18D9244DA19100FB2002 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
35DC18DB244DA19100FB2002 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4E5FC0F025B9D2CF000DF12C /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
4E9F55CF25D3D4B8005BD46F /* libPEPObjCAdapterXPCService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapterXPCService.a; sourceTree = BUILT_PRODUCTS_DIR; };
4EA193F225D6876700F5D802 /* libPEPUpdatesXPCService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPUpdatesXPCService.a; sourceTree = BUILT_PRODUCTS_DIR; };
4EA193F625D688EA00F5D802 /* libiconv.2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.2.tbd; path = usr/lib/libiconv.2.tbd; sourceTree = SDKROOT; };
4EA1945D25D6942D00F5D802 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -37,7 +33,11 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
15AC46BC254EE19600AA18DE /* libdownloadclient.a in Frameworks */,
4EA193F825D6893A00F5D802 /* libiconv.2.tbd in Frameworks */,
4EA1945E25D6943500F5D802 /* libc++.tbd in Frameworks */,
4E5FC0F225B9D2E0000DF12C /* libz.tbd in Frameworks */,
4EA193F325D6876700F5D802 /* libPEPUpdatesXPCService.a in Frameworks */,
4E9F55D025D3D4B8005BD46F /* libPEPObjCAdapterXPCService.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -65,11 +65,6 @@
isa = PBXGroup;
children = (
35380AE6247BD13A004A08A6 /* README.md */,
35DC18D5244DA19100FB2002 /* PEPMacOSAdapterProtocol.h */,
35DC18D6244DA19100FB2002 /* pEpMacOSAdapter.h */,
35DC18D7244DA19100FB2002 /* pEpMacOSAdapter.m */,
35380AE8247C784E004A08A6 /* pEpUpdater.h */,
35380AE9247C784E004A08A6 /* pEpUpdater.mm */,
35DC18D9244DA19100FB2002 /* main.m */,
35DC18DB244DA19100FB2002 /* Info.plist */,
);
@ -79,12 +74,11 @@
35F06969247D58C800543884 /* Frameworks */ = {
isa = PBXGroup;
children = (
15AC46BB254EE19600AA18DE /* libdownloadclient.a */,
150D91D82547331D00010463 /* libssl.a */,
150D91D62547330100010463 /* libcrypto.a */,
150D91D4254732E800010463 /* libcryptopp.a */,
150D91D1254732B600010463 /* libboost_regex.a */,
15CC85A62546D71A00DC43A1 /* libdownloadclient.a */,
4EA1945D25D6942D00F5D802 /* libc++.tbd */,
4EA193F625D688EA00F5D802 /* libiconv.2.tbd */,
4E9F55CF25D3D4B8005BD46F /* libPEPObjCAdapterXPCService.a */,
4E5FC0F025B9D2CF000DF12C /* libz.tbd */,
4EA193F225D6876700F5D802 /* libPEPUpdatesXPCService.a */,
);
name = Frameworks;
sourceTree = "<group>";
@ -179,9 +173,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
35380AEA247C784E004A08A6 /* pEpUpdater.mm in Sources */,
35DC18DA244DA19100FB2002 /* main.m in Sources */,
35DC18D8244DA19100FB2002 /* pEpMacOSAdapter.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -239,16 +231,19 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = "${PROJECT_DIR}/../local/include";
HEADER_SEARCH_PATHS = (
"${PROJECT_DIR}/../local/include",
"$(PROJECT_DIR)/../../src_pEp4AppleMail/pep4applemail/PEPObjCAdapterXpcApiClient/PEPObjCAdapterXPCService/Interface",
"$(PROJECT_DIR)/Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/Interface/",
);
LIBRARY_SEARCH_PATHS = "";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"${PROJECT_DIR}/../local/lib/libcrypto.a",
"${PROJECT_DIR}/../local/lib/libssl.a",
"${PROJECT_DIR}/../local/lib/libcryptopp.a",
"$(OTHER_LDFLAGS)",
"-ObjC",
);
SDKROOT = macosx;
};
@ -299,15 +294,18 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = "${PROJECT_DIR}/../local/include";
HEADER_SEARCH_PATHS = (
"${PROJECT_DIR}/../local/include",
"$(PROJECT_DIR)/../../src_pEp4AppleMail/pep4applemail/PEPObjCAdapterXpcApiClient/PEPObjCAdapterXPCService/Interface",
"$(PROJECT_DIR)/Submodules/PEPUpdatesXPCService/PEPUpdatesXPCService/PEPUpdateDownloadXPCService/PEPUpdateDownloadXPCService/Interface/",
);
LIBRARY_SEARCH_PATHS = "";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
"${PROJECT_DIR}/../local/lib/libcrypto.a",
"${PROJECT_DIR}/../local/lib/libssl.a",
"${PROJECT_DIR}/../local/lib/libcryptopp.a",
"$(OTHER_LDFLAGS)",
"-ObjC",
);
SDKROOT = macosx;
};
@ -317,6 +315,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
@ -341,6 +340,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;


+ 0
- 15
pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/All.xcscheme View File

@ -68,21 +68,6 @@
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<PathRunnable
runnableDebuggingMode = "0"
FilePath = "/Users/vb/Library/Developer/Xcode/DerivedData/pEpMacOSAdapter-fdkuxqnmbllhyqepcwbjgbectwfc/Build/Products/Debug/pEpMacOSAdapter.xpc">
</PathRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"


+ 85
- 15
pEpMacOSAdapter.xcodeproj/xcshareddata/xcschemes/pEpMacOSAdapter.xcscheme View File

@ -4,8 +4,92 @@
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
buildImplicitDependencies = "YES">
buildImplicitDependencies = "NO">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1552DB102577D4F100A92F71"
BuildableName = "libpEpEngine_macOS.a"
BlueprintName = "pEpEngine_macOS"
ReferencedContainer = "container:../../src_pEpObjCAdapter/pEpEngine/build-mac/pEpEngine.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "35380AC5247BBB03004A08A6"
BuildableName = "libdownloadclient.a"
BlueprintName = "downloadclient"
ReferencedContainer = "container:../downloadclient/downloadclient.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "150E8FB125755B6900AE2198"
BuildableName = "libPEPObjCAdapterTypes_macOS.a"
BlueprintName = "PEPObjCAdapterTypes_macOS"
ReferencedContainer = "container:../../src_pEpObjCAdapter/pEpObjCAdapter/pEpObjCAdapter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"