pEp macOS Desktop adapter
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
David Alarcon 81df7092d9 APPLEMAIL-24 Add pEpUpdates macOS project 2 years ago
pEpMacOSAdapter APPLEMAIL-24. Refactor pEpMacOSAdapter project. Add a new workspace. Create a new pEpMacOSAdapter project. Add downloadclient to workspace. Delete pEpNotifications project. 2 years ago
pEpMacOSAdapter.xcodeproj APPLEMAIL-24. Refactor pEpMacOSAdapter project. Add a new workspace. Create a new pEpMacOSAdapter project. Add downloadclient to workspace. Delete pEpNotifications project. 2 years ago
pEpMacOSAdapter.xcworkspace APPLEMAIL-24 Add pEpUpdates macOS project 2 years ago
pEpUpdates APPLEMAIL-24 Add pEpUpdates macOS project 2 years ago
.gitignore connect 2 years ago
LICENSE Initial commit 2 years ago
README.md APPLEMAIL-24 Add to README.md the steps to build the project using Makefile 2 years ago

README.md

p≡p macOS Desktop adapter

This adapter will sport three main features:

  • p≡p API via Apple XPC (not yet implemented)
  • p≡p API via p≡p JSON adapter (still provided by miniadapter)
  • p≡p Update Client

Deployment

PER_MACHINE_DIRECTORY="/Library/Application Support/pEp"
PER_USER_DIRECTORY=$HOME/.pEp

This software is supporting macOS 10.8 and later.

Build

  • to build pEpMacOSAdapter use the Makefile
  • to build pEpNotifications use Xcode

Build using Makefile

  1. Download and install boost (1.72.0). https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz
  2. Download and install crypto++ (master branch, CRYPTOPP_8_2_0). https://github.com/weidai11/cryptopp
  3. Download and install openssl (1.1.1g). https://github.com/openssl/openssl
  4. Go to pEpMacOSAdapter folder
  5. make local.conf (only if local.conf doesn't exist)
  6. Edit local.conf and update
    • The paths (include and lib) from boost, crypto++ and openssl libraries
    • The path from downloadclient library
    • The signing identity
  7. make

Implementation

The implementation is split in to parts:

  1. the working code is in pEpMacOSAdapter; the implementation is in Objective C
  2. the User Interface is in pEpNotifications; the implementation is in Swift

pEpMacOSAdapterProtocol, implemented with XPC

see pEpMacOSAdapterProtocol.h

This protocol is provided to the User Interface to get informed when a download was happening. When a subscription is active updateNow() can be used to search for immediate updates.