parent
b6a6bc6bb7
commit
8e69e2f17d
@ -0,0 +1,24 @@
|
||||
//
|
||||
// PEPXPCApiClientService.h
|
||||
// PEPObjCAdapterXpcApiClient
|
||||
//
|
||||
// Created by David Alarcon on 13/1/21.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "PEPSessionProtocol.h"
|
||||
|
||||
@class PEPIdentity;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PEPObjCAdapterXPCApiClientService : NSObject <PEPSessionProtocol>
|
||||
|
||||
+ (instancetype)shared;
|
||||
- (void)start;
|
||||
- (void)stop;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@ -0,0 +1,90 @@
|
||||
//
|
||||
// PEPXPCApiClientService.m
|
||||
// PEPObjCAdapterXpcApiClient
|
||||
//
|
||||
// Created by David Alarcon on 13/1/21.
|
||||
//
|
||||
|
||||
#import "PEPObjCAdapterXPCApiClientService.h"
|
||||
|
||||
#import "PEPObjCAdapterXpcApiProtocol.h"
|
||||
#import "PEPObjCAdapterXpcApiResult.h"
|
||||
#import "PEPIdentity.h"
|
||||
#import "PEPMessage.h"
|
||||
|
||||
@interface PEPObjCAdapterXPCApiClientService() <NSXPCListenerDelegate>
|
||||
@property (nonatomic) NSXPCConnection *connection;
|
||||
@property (nonatomic) NSError *connectionError;
|
||||
@end
|
||||
|
||||
@implementation PEPObjCAdapterXPCApiClientService
|
||||
|
||||
// MARK: - Singleton
|
||||
|
||||
+ (id)shared {
|
||||
static PEPObjCAdapterXPCApiClientService *sharedPEPObjCAdapterXPCApiClientService = nil;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
sharedPEPObjCAdapterXPCApiClientService = [[self alloc] init];
|
||||
});
|
||||
return sharedPEPObjCAdapterXPCApiClientService;
|
||||
}
|
||||
|
||||
// MARK: - Init
|
||||
|
||||
- (void)start {
|
||||
[self connectToXPCService];
|
||||
}
|
||||
|
||||
- (void)stop {
|
||||
self.connection = nil;
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
- (void)connectToXPCService {
|
||||
self.connection = [[NSXPCConnection alloc] initWithMachServiceName:daemonLabel
|
||||
options:0];
|
||||
NSXPCInterface *remoteObjectInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPObjCAdapterXpcApiProtocol)];
|
||||
self.connection.remoteObjectInterface = remoteObjectInterface;
|
||||
|
||||
// New connections always start in a suspended state
|
||||
[self.connection resume];
|
||||
}
|
||||
|
||||
// MARK: - PEPSessionProtocol
|
||||
|
||||
- (void)mySelf:(nonnull PEPIdentity *)identity
|
||||
errorCallback:(nonnull void (^)(NSError * _Nonnull))errorCallback
|
||||
successCallback:(nonnull void (^)(PEPIdentity * _Nonnull))successCallback {
|
||||
|
||||
[[self.connection remoteObjectProxyWithErrorHandler:^(NSError * _Nonnull error) {
|
||||
errorCallback(error);
|
||||
}] myself:identity resultBlock:^(PEPObjCAdapterXpcApiResult * _Nonnull result) {
|
||||
if (result.result.count) {
|
||||
PEPIdentity *callbackIdentity = [result.result firstObject];
|
||||
successCallback(callbackIdentity);
|
||||
} else {
|
||||
// Nothing to do
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
/// Encrypt a message with explicit encryption format.
|
||||
- (void)encryptMessage:(PEPMessage *)message
|
||||
extraKeys:(PEPStringList *_Nullable)extraKeys
|
||||
encFormat:(PEPEncFormat)encFormat
|
||||
errorCallback:(void (^)(NSError *error))errorCallback
|
||||
successCallback:(void (^)(PEPMessage *srcMessage,
|
||||
PEPMessage *destMessage))successCallback {
|
||||
[[self.connection remoteObjectProxyWithErrorHandler:^(NSError * _Nonnull error) {
|
||||
errorCallback(error);
|
||||
}] encryptMessage:message extraKeys:extraKeys encFormat:encFormat
|
||||
resultBlock:^(PEPObjCAdapterXpcApiResult * _Nonnull result) {
|
||||
PEPMessage *srcMessage = result.result[0];
|
||||
PEPMessage *destMessage = result.result[1];
|
||||
successCallback(srcMessage, destMessage);
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
@ -0,0 +1,717 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
4E9F566E25D3F67C005BD46F /* PEPObjCAdapterXpcApiProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */; };
|
||||
4E9F567625D3F688005BD46F /* PEPObjCAdapterXpcApiResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */; };
|
||||
4E9F567E25D3F68D005BD46F /* PEPObjCAdapterXpcApiResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */; };
|
||||
4E9F569925D3F746005BD46F /* PEPObjCAdapterXPCApiClientService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EC2A68925AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4E9F56DE25D3F899005BD46F /* PEPObjCAdapterXPCApiClientService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC2A68A25AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.m */; };
|
||||
4E9F570E25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E9F570D25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a */; };
|
||||
4E9F571025D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E9F570F25D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a */; };
|
||||
4EC2A5EB25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC2A5EA25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m */; };
|
||||
4ED6F5DC25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F5DB25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m */; };
|
||||
4ED6F72825D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F72725D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h */; };
|
||||
4ED6F72A25D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F72925D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m */; };
|
||||
4ED6F74725D2ED2E008BCE79 /* PEPObjCAdapterXpcApiProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4ED6F74F25D2ED34008BCE79 /* PEPObjCAdapterXpcApiResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4ED6F76D25D2ED41008BCE79 /* PEPObjCAdapterXPCApi.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED6F62C25D2D983008BCE79 /* PEPObjCAdapterXPCApi.h */; };
|
||||
4ED6F77525D2ED44008BCE79 /* PEPObjCAdapterXPCApi.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F62E25D2D983008BCE79 /* PEPObjCAdapterXPCApi.m */; };
|
||||
4ED6F78525D2ED4F008BCE79 /* PEPObjCAdapterXpcApiResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */; };
|
||||
4ED6F78D25D2F062008BCE79 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4ED6F69525D2DE13008BCE79 /* libz.tbd */; };
|
||||
4ED6F79525D2F069008BCE79 /* libiconv.2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4ED6F68D25D2DDE6008BCE79 /* libiconv.2.tbd */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
4E9F565725D3F54B005BD46F /* libPEPObjCAdapterXPCApiClient.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPObjCAdapterXPCApiClient.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4E9F570D25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapterTypes_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4E9F570F25D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libPEPObjCAdapter_macOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4EC2A5E525AEFCC9000ACF79 /* PEPObjCAdapterXPCTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PEPObjCAdapterXPCTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4EC2A5EA25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXpcApiClientTests.m; sourceTree = "<group>"; };
|
||||
4EC2A5EC25AEFCC9000ACF79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
4EC2A62A25AEFFEB000ACF79 /* Uninstall.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = Uninstall.sh; sourceTree = "<group>"; };
|
||||
4EC2A62B25AEFFEB000ACF79 /* Install.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = Install.sh; sourceTree = "<group>"; };
|
||||
4EC2A68925AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXPCApiClientService.h; sourceTree = "<group>"; };
|
||||
4EC2A68A25AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCApiClientService.m; sourceTree = "<group>"; };
|
||||
4ED6F5D625D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PEPObjCAdapterXPCServiceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4ED6F5DB25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCServiceTests.m; sourceTree = "<group>"; };
|
||||
4ED6F5DD25D2D39C008BCE79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXpcApiResult.m; sourceTree = "<group>"; };
|
||||
4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXpcApiResult.h; sourceTree = "<group>"; };
|
||||
4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXpcApiProtocol.h; sourceTree = "<group>"; };
|
||||
4ED6F62C25D2D983008BCE79 /* PEPObjCAdapterXPCApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXPCApi.h; sourceTree = "<group>"; };
|
||||
4ED6F62E25D2D983008BCE79 /* PEPObjCAdapterXPCApi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCApi.m; sourceTree = "<group>"; };
|
||||
4ED6F68D25D2DDE6008BCE79 /* libiconv.2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.2.tbd; path = usr/lib/libiconv.2.tbd; sourceTree = SDKROOT; };
|
||||
4ED6F69525D2DE13008BCE79 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
|
||||
4ED6F72525D2ECE5008BCE79 /* libPEPObjCAdapterXPCService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPEPObjCAdapterXPCService.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4ED6F72725D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PEPObjCAdapterXPCService.h; sourceTree = "<group>"; };
|
||||
4ED6F72925D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PEPObjCAdapterXPCService.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
4E9F565525D3F54B005BD46F /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4E9F570E25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4EC2A5E225AEFCC9000ACF79 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4ED6F5D325D2D39C008BCE79 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4ED6F72325D2ECE5008BCE79 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4ED6F79525D2F069008BCE79 /* libiconv.2.tbd in Frameworks */,
|
||||
4ED6F78D25D2F062008BCE79 /* libz.tbd in Frameworks */,
|
||||
4E9F571025D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
4E2F30A825D2887C002AFD0C /* Interface */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4EC2A68925AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.h */,
|
||||
);
|
||||
path = Interface;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4E2F30AB25D288B5002AFD0C /* XPCService */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4EC2A68A25AF4378000ACF79 /* PEPObjCAdapterXPCApiClientService.m */,
|
||||
);
|
||||
path = XPCService;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4E9F565825D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4E2F30A825D2887C002AFD0C /* Interface */,
|
||||
4E2F30AB25D288B5002AFD0C /* XPCService */,
|
||||
);
|
||||
path = PEPObjCAdapterXPCApiClient;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4EA9B4B525BF005A0048427E /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4E9F570D25D3FCB2005BD46F /* libPEPObjCAdapterTypes_macOS.a */,
|
||||
4ED6F69525D2DE13008BCE79 /* libz.tbd */,
|
||||
4E9F570F25D3FCCA005BD46F /* libPEPObjCAdapter_macOS.a */,
|
||||
4ED6F68D25D2DDE6008BCE79 /* libiconv.2.tbd */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4EC2A5D225AEFCC8000ACF79 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4ED6F7CB25D2F4DA008BCE79 /* Shared */,
|
||||
4E9F565825D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */,
|
||||
4ED6F72625D2ECE5008BCE79 /* PEPObjCAdapterXPCService */,
|
||||
4EC2A5E925AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests */,
|
||||
4ED6F5DA25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */,
|
||||
4EC2A62925AEFFEB000ACF79 /* Scripts */,
|
||||
4EC2A5DD25AEFCC8000ACF79 /* Products */,
|
||||
4EA9B4B525BF005A0048427E /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4EC2A5DD25AEFCC8000ACF79 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4EC2A5E525AEFCC9000ACF79 /* PEPObjCAdapterXPCTests.xctest */,
|
||||
4ED6F5D625D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.xctest */,
|
||||
4ED6F72525D2ECE5008BCE79 /* libPEPObjCAdapterXPCService.a */,
|
||||
4E9F565725D3F54B005BD46F /* libPEPObjCAdapterXPCApiClient.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4EC2A5E925AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4EC2A5EA25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m */,
|
||||
4EC2A5EC25AEFCC9000ACF79 /* Info.plist */,
|
||||
);
|
||||
path = PEPObjCAdapterXpcApiClientTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4EC2A62925AEFFEB000ACF79 /* Scripts */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4EC2A62A25AEFFEB000ACF79 /* Uninstall.sh */,
|
||||
4EC2A62B25AEFFEB000ACF79 /* Install.sh */,
|
||||
);
|
||||
path = Scripts;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4ED6F5DA25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4ED6F5DB25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m */,
|
||||
4ED6F5DD25D2D39C008BCE79 /* Info.plist */,
|
||||
);
|
||||
path = PEPObjCAdapterXPCServiceTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4ED6F62025D2D5A4008BCE79 /* Interface */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4ED6F72725D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h */,
|
||||
);
|
||||
path = Interface;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4ED6F62B25D2D6CD008BCE79 /* XPCService */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4ED6F62C25D2D983008BCE79 /* PEPObjCAdapterXPCApi.h */,
|
||||
4ED6F62E25D2D983008BCE79 /* PEPObjCAdapterXPCApi.m */,
|
||||
4ED6F72925D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m */,
|
||||
);
|
||||
path = XPCService;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4ED6F72625D2ECE5008BCE79 /* PEPObjCAdapterXPCService */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4ED6F62025D2D5A4008BCE79 /* Interface */,
|
||||
4ED6F62B25D2D6CD008BCE79 /* XPCService */,
|
||||
);
|
||||
path = PEPObjCAdapterXPCService;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4ED6F7CB25D2F4DA008BCE79 /* Shared */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4ED6F62225D2D5B1008BCE79 /* PEPObjCAdapterXpcApiProtocol.h */,
|
||||
4ED6F62125D2D5B1008BCE79 /* PEPObjCAdapterXpcApiResult.h */,
|
||||
4ED6F60325D2D4A9008BCE79 /* PEPObjCAdapterXpcApiResult.m */,
|
||||
);
|
||||
path = Shared;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
4E9F565325D3F54B005BD46F /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4E9F569925D3F746005BD46F /* PEPObjCAdapterXPCApiClientService.h in Headers */,
|
||||
4E9F566E25D3F67C005BD46F /* PEPObjCAdapterXpcApiProtocol.h in Headers */,
|
||||
4E9F567625D3F688005BD46F /* PEPObjCAdapterXpcApiResult.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4ED6F72125D2ECE5008BCE79 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4ED6F72825D2ECE5008BCE79 /* PEPObjCAdapterXPCService.h in Headers */,
|
||||
4ED6F74725D2ED2E008BCE79 /* PEPObjCAdapterXpcApiProtocol.h in Headers */,
|
||||
4ED6F76D25D2ED41008BCE79 /* PEPObjCAdapterXPCApi.h in Headers */,
|
||||
4ED6F74F25D2ED34008BCE79 /* PEPObjCAdapterXpcApiResult.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
4E9F565625D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4E9F565D25D3F54C005BD46F /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCApiClient" */;
|
||||
buildPhases = (
|
||||
4E9F565325D3F54B005BD46F /* Headers */,
|
||||
4E9F565425D3F54B005BD46F /* Sources */,
|
||||
4E9F565525D3F54B005BD46F /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = PEPObjCAdapterXPCApiClient;
|
||||
productName = PEPObjCAdapterXPCApiClient;
|
||||
productReference = 4E9F565725D3F54B005BD46F /* libPEPObjCAdapterXPCApiClient.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
4EC2A5E425AEFCC9000ACF79 /* PEPObjCAdapterXPCTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4EC2A5F325AEFCC9000ACF79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCTests" */;
|
||||
buildPhases = (
|
||||
4EC2A5E125AEFCC9000ACF79 /* Sources */,
|
||||
4EC2A5E225AEFCC9000ACF79 /* Frameworks */,
|
||||
4EC2A5E325AEFCC9000ACF79 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = PEPObjCAdapterXPCTests;
|
||||
productName = PEPObjCAdapterXpcApiClientTests;
|
||||
productReference = 4EC2A5E525AEFCC9000ACF79 /* PEPObjCAdapterXPCTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
4ED6F5D525D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4ED6F5E425D2D39C008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCServiceTests" */;
|
||||
buildPhases = (
|
||||
4ED6F5D225D2D39C008BCE79 /* Sources */,
|
||||
4ED6F5D325D2D39C008BCE79 /* Frameworks */,
|
||||
4ED6F5D425D2D39C008BCE79 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = PEPObjCAdapterXPCServiceTests;
|
||||
productName = PEPObjCAdapterXPCServiceTests;
|
||||
productReference = 4ED6F5D625D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
4ED6F72425D2ECE5008BCE79 /* PEPObjCAdapterXPCService */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4ED6F72B25D2ECE5008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCService" */;
|
||||
buildPhases = (
|
||||
4ED6F72125D2ECE5008BCE79 /* Headers */,
|
||||
4ED6F72225D2ECE5008BCE79 /* Sources */,
|
||||
4ED6F72325D2ECE5008BCE79 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = PEPObjCAdapterXPCService;
|
||||
productName = PEPObjCAdapterXPCService_macOS;
|
||||
productReference = 4ED6F72525D2ECE5008BCE79 /* libPEPObjCAdapterXPCService.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
4EC2A5D325AEFCC8000ACF79 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1230;
|
||||
TargetAttributes = {
|
||||
4E9F565625D3F54B005BD46F = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
};
|
||||
4EC2A5E425AEFCC9000ACF79 = {
|
||||
CreatedOnToolsVersion = 12.3;
|
||||
};
|
||||
4ED6F5D525D2D39C008BCE79 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
};
|
||||
4ED6F72425D2ECE5008BCE79 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 4EC2A5D625AEFCC8000ACF79 /* Build configuration list for PBXProject "PEPObjCAdapterXPCService" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 4EC2A5D225AEFCC8000ACF79;
|
||||
productRefGroup = 4EC2A5DD25AEFCC8000ACF79 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
4ED6F72425D2ECE5008BCE79 /* PEPObjCAdapterXPCService */,
|
||||
4E9F565625D3F54B005BD46F /* PEPObjCAdapterXPCApiClient */,
|
||||
4EC2A5E425AEFCC9000ACF79 /* PEPObjCAdapterXPCTests */,
|
||||
4ED6F5D525D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
4EC2A5E325AEFCC9000ACF79 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4ED6F5D425D2D39C008BCE79 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
4E9F565425D3F54B005BD46F /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4E9F56DE25D3F899005BD46F /* PEPObjCAdapterXPCApiClientService.m in Sources */,
|
||||
4E9F567E25D3F68D005BD46F /* PEPObjCAdapterXpcApiResult.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4EC2A5E125AEFCC9000ACF79 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4EC2A5EB25AEFCC9000ACF79 /* PEPObjCAdapterXpcApiClientTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4ED6F5D225D2D39C008BCE79 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4ED6F5DC25D2D39C008BCE79 /* PEPObjCAdapterXPCServiceTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4ED6F72225D2ECE5008BCE79 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4ED6F77525D2ED44008BCE79 /* PEPObjCAdapterXPCApi.m in Sources */,
|
||||
4ED6F72A25D2ECE5008BCE79 /* PEPObjCAdapterXPCService.m in Sources */,
|
||||
4ED6F78525D2ED4F008BCE79 /* PEPObjCAdapterXpcApiResult.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
4E9F565E25D3F54C005BD46F /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4E9F565F25D3F54C005BD46F /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4EC2A5EE25AEFCC9000ACF79 /* 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;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
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)/../../../pEpObjCAdapter/PEPObjCAdapterTypes/PublicHeaders",
|
||||
"$(PROJECT_DIR)/../../../pEpObjCAdapter/pEpObjCAdapter/PublicHeaders",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(OTHER_LDFLAGS)",
|
||||
"-ObjC",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
USER_HEADER_SEARCH_PATHS = "";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4EC2A5EF25AEFCC9000ACF79 /* 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;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
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)/../../../pEpObjCAdapter/PEPObjCAdapterTypes/PublicHeaders",
|
||||
"$(PROJECT_DIR)/../../../pEpObjCAdapter/pEpObjCAdapter/PublicHeaders",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(OTHER_LDFLAGS)",
|
||||
"-ObjC",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
USER_HEADER_SEARCH_PATHS = "";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4EC2A5F425AEFCC9000ACF79 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
INFOPLIST_FILE = PEPObjCAdapterXpcApiClientTests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
"@loader_path/../Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXpcApiClientTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4EC2A5F525AEFCC9000ACF79 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
INFOPLIST_FILE = PEPObjCAdapterXpcApiClientTests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
"@loader_path/../Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXpcApiClientTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4ED6F5E125D2D39C008BCE79 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
INFOPLIST_FILE = PEPObjCAdapterXPCServiceTests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
"@loader_path/../Frameworks",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXPCServiceTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4ED6F5E225D2D39C008BCE79 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
INFOPLIST_FILE = PEPObjCAdapterXPCServiceTests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/../Frameworks",
|
||||
"@loader_path/../Frameworks",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = pep.foundation.PEPObjCAdapterXPCServiceTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4ED6F72C25D2ECE5008BCE79 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
4ED6F72D25D2ECE5008BCE79 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = NQLYU6MGPN;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
4E9F565D25D3F54C005BD46F /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCApiClient" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4E9F565E25D3F54C005BD46F /* Debug */,
|
||||
4E9F565F25D3F54C005BD46F /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4EC2A5D625AEFCC8000ACF79 /* Build configuration list for PBXProject "PEPObjCAdapterXPCService" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4EC2A5EE25AEFCC9000ACF79 /* Debug */,
|
||||
4EC2A5EF25AEFCC9000ACF79 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4EC2A5F325AEFCC9000ACF79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4EC2A5F425AEFCC9000ACF79 /* Debug */,
|
||||
4EC2A5F525AEFCC9000ACF79 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4ED6F5E425D2D39C008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCServiceTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4ED6F5E125D2D39C008BCE79 /* Debug */,
|
||||
4ED6F5E225D2D39C008BCE79 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
4ED6F72B25D2ECE5008BCE79 /* Build configuration list for PBXNativeTarget "PEPObjCAdapterXPCService" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
4ED6F72C25D2ECE5008BCE79 /* Debug */,
|
||||
4ED6F72D25D2ECE5008BCE79 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 4EC2A5D325AEFCC8000ACF79 /* Project object */;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
@ -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>
|
@ -0,0 +1,109 @@
|
||||
<?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 = "18F3BFD61A81E06E00692297"
|
||||
BuildableName = "libCocoaLumberjack.a"
|
||||
BlueprintName = "CocoaLumberjack-Static"
|
||||
ReferencedContainer = "container:../../../CocoaLumberjack/Lumberjack.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "15B220002603B04E0097927A"
|
||||
BuildableName = "libPEPToolbox_macOS.a"
|
||||
BlueprintName = "PEPToolbox_macOS"
|
||||
ReferencedContainer = "container:../../../pep-toolbox/pEpIOSToolbox.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1552D93A2576602D00A92F71"
|
||||
BuildableName = "libPEPObjCAdapter_macOS.a"
|
||||
BlueprintName = "PEPObjCAdapter_macOS"
|
||||
ReferencedContainer = "container:../../../pEpObjCAdapter/pEpObjCAdapter.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "4ED6F72425D2ECE5008BCE79"
|
||||
BuildableName = "libPEPObjCAdapterXPCService.a"
|
||||
BlueprintName = "PEPObjCAdapterXPCService"
|
||||
ReferencedContainer = "container:PEPObjCAdapterXPCService.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 = "4ED6F72425D2ECE5008BCE79"
|
||||
BuildableName = "libPEPObjCAdapterXPCService.a"
|
||||
BlueprintName = "PEPObjCAdapterXPCService"
|
||||
ReferencedContainer = "container:PEPObjCAdapterXPCService.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -0,0 +1,15 @@
|
||||
//
|
||||
// PEPObjCAdapterXPCService_macOS.h
|
||||
// PEPObjCAdapterXPCService_macOS
|
||||
//
|
||||
// Created by David Alarcon on 9/2/21.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface PEPObjCAdapterXPCService : NSObject <NSXPCListenerDelegate>
|
||||
|
||||
/// Begin listening for incoming XPC connections
|
||||
- (void) start;
|
||||
|
||||
@end
|
@ -0,0 +1,19 @@
|
||||
//
|
||||
// PEPObjCAdapterXPCApi.h
|
||||
// foundation.pEp.adapter.macOS
|
||||
//
|
||||
// Created by David Alarcon on 9/2/21.
|
||||
// Copyright © 2021 p≡p foundation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "PEPObjCAdapterXpcApiProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PEPObjCAdapterXPCApi : NSObject <PEPObjCAdapterXpcApiProtocol>
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@ -0,0 +1,49 @@
|
||||
//
|
||||
// PEPObjCAdapterXPCApi.m
|
||||
// foundation.pEp.adapter.macOS
|
||||
//
|
||||
// Created by David Alarcon on 9/2/21.
|
||||
// Copyright © 2021 p≡p foundation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PEPObjCAdapterXPCApi.h"
|
||||
|
||||
#import "PEPSession.h"
|
||||
#import "PEPIdentity.h"
|
||||
#import "PEPObjCAdapterXpcApiResult.h"
|
||||
|
||||
@implementation PEPObjCAdapterXPCApi
|
||||
|
||||
- (void)myself:(PEPIdentity *)identity resultBlock:(void (^)(PEPObjCAdapterXpcApiResult * _Nonnull))resultCallback {
|
||||
|
||||
PEPSession *session = [PEPSession new];
|
||||
[session mySelf:identity errorCallback:^(NSError * _Nonnull error) {
|
||||
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc] initWithResult:nil error:error];
|
||||
resultCallback(result);
|
||||
} successCallback:^(PEPIdentity * _Nonnull identity) {
|
||||
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc] initWithResult:@[identity] error:nil];
|
||||
resultCallback(result);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)encryptMessage:(PEPMessage *)message
|
||||
extraKeys:(PEPStringList * _Nullable)extraKeys
|
||||
encFormat:(PEPEncFormat)encFormat
|
||||
resultBlock:(void (^)(PEPObjCAdapterXpcApiResult *))resultCallback {
|
||||
NSLog(@"%s", __PRETTY_FUNCTION__);
|
||||
PEPSession *session = [PEPSession new];
|
||||
[session encryptMessage:message extraKeys:extraKeys encFormat:encFormat
|
||||
errorCallback:^(NSError * _Nonnull error) {
|
||||
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc]
|
||||
initWithResult:nil
|
||||
error:error];
|
||||
resultCallback(result);
|
||||
} successCallback:^(PEPMessage * _Nonnull srcMessage, PEPMessage * _Nonnull destMessage) {
|
||||
PEPObjCAdapterXpcApiResult *result = [[PEPObjCAdapterXpcApiResult alloc]
|
||||
initWithResult:@[srcMessage, destMessage]
|
||||
error:nil];
|
||||
resultCallback(result);
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
@ -0,0 +1,65 @@
|
||||
//
|
||||
// PEPObjCAdapterXPCService.m
|
||||
// PEPObjCAdapterXPCService
|
||||
//
|
||||
// Created by David Alarcon on 9/2/21.
|
||||
//
|
||||
|
||||
#import "PEPObjCAdapterXPCService.h"
|
||||
|
||||
#import "PEPObjCAdapterXpcApiResult.h"
|
||||
#import "PEPIdentity.h"
|
||||
#import "PEPMessage.h"
|
||||
#import "PEPAttachment.h"
|
||||
|
||||
#import "PEPObjCAdapterXPCApi.h"
|
||||
|
||||
@interface PEPObjCAdapterXPCService ()
|
||||
@property (nonatomic, strong, readwrite) NSXPCListener *listener;
|
||||
@end
|
||||
|
||||
@implementation PEPObjCAdapterXPCService
|
||||
|
||||
- (id)init {
|
||||
self.listener = [[NSXPCListener alloc] initWithMachServiceName:daemonLabel];
|
||||
self.listener.delegate = self;
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
- (void)start {
|
||||
// Begin listening for incoming XPC connections
|
||||
[self.listener resume];
|
||||
|
||||
NSLog(@"Started objc adapter wrapper api service: %@", daemonLabel);
|
||||
}
|
||||
|
||||
#pragma mark - NSXPCListenerDelegate
|
||||
|
||||
- (BOOL)listener:(NSXPCListener *)listener shouldAcceptNewConnection:(NSXPCConnection *)newConnection {
|
||||
// Sanity checks
|
||||
assert(listener == self.listener);
|
||||
assert(newConnection != nil);
|
||||
|
||||
// Configure the incoming connection
|
||||
NSXPCInterface *adapterInterface = [NSXPCInterface interfaceWithProtocol:@protocol(PEPObjCAdapterXpcApiProtocol)];
|
||||
[adapterInterface setClasses:[NSSet setWithObject:[PEPObjCAdapterXpcApiResult class]]
|
||||
forSelector:@selector(myself:resultBlock:)
|
||||
argumentIndex:0
|
||||
ofReply:YES];
|
||||
[adapterInterface setClasses:[NSSet setWithObject:[PEPIdentity class]]
|
||||
forSelector:@selector(myself:resultBlock:)
|
||||
argumentIndex:0
|
||||
ofReply:NO];
|
||||
newConnection.exportedInterface = adapterInterface;
|
||||
|
||||
newConnection.exportedObject = [PEPObjCAdapterXPCApi new];
|
||||
|
||||
// New connections always start in a suspended state
|
||||
[newConnection resume];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
@ -0,0 +1,22 @@
|
||||
<?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>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,36 @@
|
||||
//
|
||||
// PEPObjCAdapterXPCServiceTests.m
|
||||
// PEPObjCAdapterXPCServiceTests
|
||||
//
|
||||
// Created by David Alarcon on 9/2/21.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface PEPObjCAdapterXPCServiceTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation PEPObjCAdapterXPCServiceTests
|
||||
|
||||
- (void)setUp {
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown {
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)testExample {
|
||||
// This is an example of a functional test case.
|
||||
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||||
}
|
||||
|
||||
- (void)testPerformanceExample {
|
||||
// This is an example of a performance test case.
|
||||
[self measureBlock:^{
|
||||
// Put the code you want to measure the time of here.
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
@ -0,0 +1,22 @@
|
||||
<?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>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,36 @@
|
||||
//
|
||||
// PEPObjCAdapterXpcApiClientTests.m
|
||||
// PEPObjCAdapterXpcApiClientTests
|
||||
//
|
||||
// Created by David Alarcon on 13/1/21.
|
||||
//
|
||||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface PEPObjCAdapterXpcApiClientTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation PEPObjCAdapterXpcApiClientTests
|
||||
|
||||
- (void)setUp {
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)tearDown {
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
}
|
||||
|
||||
- (void)testExample {
|
||||
// This is an example of a functional test case.
|
||||
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||||
}
|
||||
|
||||
- (void)testPerformanceExample {
|
||||
// This is an example of a performance test case.
|
||||
[self measureBlock:^{
|
||||
// Put the code you want to measure the time of here.
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Install.sh
|
||||
# pEpXPCAdapterClient
|
||||
#
|
||||
# Created by David Alarcon on 14/09/2020.
|
||||
# Copyright © 2020 p≡p foundation. All rights reserved.
|
||||
|
||||
BUILT_PRODUCTS_DIR=$1
|
||||
|
||||
# Copy the daemon's launchd.plist into /Library/LaunchDaemons
|
||||
for framework in PEPObjCAdapterXpcApiClient.framework
|
||||
do
|
||||
trg=/Library/Frameworks/
|
||||
rsync -av ${BUILT_PRODUCTS_DIR}/${framework} ${trg}
|
||||
chown -R root:wheel ${trg}/${framework}
|
||||
chmod -R 755 ${trg}/${framework}
|
||||
done
|
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Uninstall.sh
|
||||
# pEpXPCAdapterClient
|
||||
#
|
||||
# Created by David Alarcon on 14/09/2020.
|
||||
# Copyright © 2020 p≡p foundation. All rights reserved.
|
||||
|
||||
echo "Uninstall Framework ..."
|
||||
for framework in PEPObjCAdapterXpcApiClient.framework
|
||||
do
|
||||
trg=/Library/Frameworks/${framework}
|
||||
rm -Rf ${trg}
|
||||
done
|
@ -0,0 +1,28 @@
|
||||
//
|
||||
// PEPObjCAdapterXpcApiProtocol.h
|
||||
// foundation.pEp.adapter.macOS
|
||||
//
|
||||
// Created by David Alarcon on 15/1/21.
|
||||
// Copyright © 2021 p≡p foundation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PEPTypes.h"
|
||||
#import "PEPEngineTypes.h"
|
||||
|
||||
static NSString * _Nonnull daemonLabel = @"pEp.foundation.pEpXPCAdapter_OpenStep";
|
||||
|
||||
@class PEPIdentity, PEPObjCAdapterXpcApiResult, PEPMessage;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol PEPObjCAdapterXpcApiProtocol <NSObject>
|
||||
|
||||
- (void)myself:(PEPIdentity *)identity resultBlock:(void (^)(PEPObjCAdapterXpcApiResult *))resultCallback;
|
||||
|
||||
- (void)encryptMessage:(PEPMessage *)message
|
||||
extraKeys:(PEPStringList *_Nullable)extraKeys
|
||||
encFormat:(PEPEncFormat)encFormat
|
||||
resultBlock:(void (^)(PEPObjCAdapterXpcApiResult *))resultCallback;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@ -0,0 +1,25 @@
|
||||
//
|
||||
// PEPObjCAdapterXpcApiResult.h
|
||||
// foundation.pEp.adapter.macOS
|
||||
//
|
||||
// Created by David Alarcon on 15/1/21.
|
||||
// Copyright © 2021 p≡p foundation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PEPObjCAdapterXpcApiResult : NSObject <NSSecureCoding>
|
||||
|
||||
@property (readonly, nonatomic, strong) NSError *error;
|
||||
@property (readonly, nonatomic, copy) NSArray* result;
|
||||
|
||||
/**
|
||||
Well documented
|
||||
*/
|
||||
- (instancetype)initWithResult:(NSArray* __nullable)result error:(NSError * __nullable)error;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@ -0,0 +1,41 @@
|
||||
//
|
||||
// PEPObjCAdapterXpcApiResult.m
|
||||
// foundation.pEp.adapter.macOS
|
||||
//
|
||||
// Created by David Alarcon on 15/1/21.
|
||||
// Copyright © 2021 p≡p foundation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PEPObjCAdapterXpcApiResult.h"
|
||||
|
||||
@implementation PEPObjCAdapterXpcApiResult
|
||||
|
||||
- (instancetype)initWithResult:(NSArray *)result error:(NSError *)error {
|
||||
if (self = [self init]) {
|
||||
_result = result;
|
||||
_error = error;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)encodeWithCoder:(nonnull NSCoder *)coder {
|
||||
[coder encodeObject:self.result forKey:@"result"];
|
||||
[coder encodeObject:self.error forKey:@"error"];
|
||||
}
|
||||
|
||||
- (nullable instancetype)initWithCoder:(nonnull NSCoder *)coder {
|
||||
if (self = [self init]) {
|
||||
NSArray<Class> *classes = @[[NSArray class], [NSObject class]];
|
||||
_result = [coder decodeObjectOfClasses:[NSSet setWithArray:classes] forKey:@"result"];
|
||||
_error = [coder decodeObjectOfClass:[NSError class] forKey:@"error"];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
+ (BOOL)supportsSecureCoding {
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1200"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "35F06976247DC95A00543884"
|
||||
BuildableName = "pEpUpdater Test.xctest"
|
||||
BlueprintName = "pEpUpdater Test"
|
||||
ReferencedContainer = "container:pEpMacOSAdapter.xcodeproj">
|
||||
</BuildableReference>
|
||||
</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">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "3527B2AD24802F84007A6276"
|
||||
BuildableName = "p≡p updates.app"
|
||||
BlueprintName = "p≡p updates"
|
||||
ReferencedContainer = "container:Submodules/pEpNotifications/pEpNotifications.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "3527B2AD24802F84007A6276"
|
||||
BuildableName = "p≡p updates.app"
|
||||
BlueprintName = "p≡p updates"
|
||||
ReferencedContainer = "container:Submodules/pEpNotifications/pEpNotifications.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
Loading…
Reference in new issue