diff --git a/src/private-frameworks/AppleFSCompression/CMakeLists.txt b/src/private-frameworks/AppleFSCompression/CMakeLists.txt
new file mode 100644
index 000000000..5dfe26dc2
--- /dev/null
+++ b/src/private-frameworks/AppleFSCompression/CMakeLists.txt
@@ -0,0 +1,17 @@
+project(AppleFSCompression)
+
+set(DYLIB_COMPAT_VERSION "1.0.0")
+set(DYLIB_CURRENT_VERSION "119.100.1")
+
+add_framework(AppleFSCompression
+ FAT
+ CURRENT_VERSION
+ PRIVATE
+ VERSION "A"
+
+ SOURCES
+ src/AppleFSCompression.c
+
+ DEPENDENCIES
+ system
+)
diff --git a/src/private-frameworks/AppleFSCompression/include/AppleFSCompression/AppleFSCompression.h b/src/private-frameworks/AppleFSCompression/include/AppleFSCompression/AppleFSCompression.h
new file mode 100644
index 000000000..1528afe31
--- /dev/null
+++ b/src/private-frameworks/AppleFSCompression/include/AppleFSCompression/AppleFSCompression.h
@@ -0,0 +1,62 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#ifndef _AppleFSCompression_H_
+#define _AppleFSCompression_H_
+
+#include
+#include
+#include
+
+// generated stubs
+void* AFSCLockFileFd(void);
+void* AFSCLockFilePath(void);
+void* AFSCUnlockFile(void);
+void* CloseStreamCompressor(void);
+void* CreateStreamCompressor(void);
+void* CreateStreamCompressorQueue(void);
+void* CreateStreamCompressorQueueWithOptions(void);
+void* DrainStreamCompressorQueue(void);
+void* FinishStreamCompressorQueue(void);
+void* VolumeSupportsCompression(void);
+void* WriteToStreamCompressor(void);
+void* catFile(void);
+void* decompressFile(void);
+void* decompressWithCallback(void);
+void* type5_handler_function(void);
+
+// manually fixed up declarations and definitions
+
+// someone please check this value
+#define kAFSCCompressionTypes CFSTR("AFSCCompressionTypes")
+
+typedef struct {
+ int compressionType;
+ size_t compressedSize;
+} cmpInfo;
+
+typedef void* CompressionQueueContext;
+
+int queryCompressionInfo(const char* path, cmpInfo* info);
+CompressionQueueContext CreateCompressionQueue(void* arg1, void* arg2, void* arg3, void* arg4, CFDictionaryRef options);
+Boolean CompressFile(CompressionQueueContext queue, const char* path, void* arg3);
+void FinishCompressionAndCleanUp(CompressionQueueContext queue);
+
+#endif
diff --git a/src/private-frameworks/AppleFSCompression/src/AppleFSCompression.c b/src/private-frameworks/AppleFSCompression/src/AppleFSCompression.c
new file mode 100644
index 000000000..493fb132c
--- /dev/null
+++ b/src/private-frameworks/AppleFSCompression/src/AppleFSCompression.c
@@ -0,0 +1,140 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#include
+#include
+#include
+
+static int verbose = 0;
+
+__attribute__((constructor))
+static void initme(void) {
+ verbose = getenv("STUB_VERBOSE") != NULL;
+}
+
+void* AFSCLockFileFd(void)
+{
+ if (verbose) puts("STUB: AFSCLockFileFd called");
+ return NULL;
+}
+
+void* AFSCLockFilePath(void)
+{
+ if (verbose) puts("STUB: AFSCLockFilePath called");
+ return NULL;
+}
+
+void* AFSCUnlockFile(void)
+{
+ if (verbose) puts("STUB: AFSCUnlockFile called");
+ return NULL;
+}
+
+void* CloseStreamCompressor(void)
+{
+ if (verbose) puts("STUB: CloseStreamCompressor called");
+ return NULL;
+}
+
+void* CreateStreamCompressor(void)
+{
+ if (verbose) puts("STUB: CreateStreamCompressor called");
+ return NULL;
+}
+
+void* CreateStreamCompressorQueue(void)
+{
+ if (verbose) puts("STUB: CreateStreamCompressorQueue called");
+ return NULL;
+}
+
+void* CreateStreamCompressorQueueWithOptions(void)
+{
+ if (verbose) puts("STUB: CreateStreamCompressorQueueWithOptions called");
+ return NULL;
+}
+
+void* DrainStreamCompressorQueue(void)
+{
+ if (verbose) puts("STUB: DrainStreamCompressorQueue called");
+ return NULL;
+}
+
+void* FinishStreamCompressorQueue(void)
+{
+ if (verbose) puts("STUB: FinishStreamCompressorQueue called");
+ return NULL;
+}
+
+void* VolumeSupportsCompression(void)
+{
+ if (verbose) puts("STUB: VolumeSupportsCompression called");
+ return NULL;
+}
+
+void* WriteToStreamCompressor(void)
+{
+ if (verbose) puts("STUB: WriteToStreamCompressor called");
+ return NULL;
+}
+
+void* catFile(void)
+{
+ if (verbose) puts("STUB: catFile called");
+ return NULL;
+}
+
+void* decompressFile(void)
+{
+ if (verbose) puts("STUB: decompressFile called");
+ return NULL;
+}
+
+void* decompressWithCallback(void)
+{
+ if (verbose) puts("STUB: decompressWithCallback called");
+ return NULL;
+}
+
+void* type5_handler_function(void)
+{
+ if (verbose) puts("STUB: type5_handler_function called");
+ return NULL;
+}
+
+int queryCompressionInfo(const char* path, cmpInfo* info) {
+ if (verbose) puts("STUB: queryCompressionInfo called");
+ *info = (cmpInfo){0};
+ return -1;
+};
+
+CompressionQueueContext CreateCompressionQueue(void* arg1, void* arg2, void* arg3, void* arg4, CFDictionaryRef options) {
+ if (verbose) puts("STUB: CreateCompressionQueue called");
+ return NULL;
+};
+
+Boolean CompressFile(CompressionQueueContext queue, const char* path, void* arg3) {
+ if (verbose) puts("STUB: CompressFile called");
+ return 0;
+};
+
+void FinishCompressionAndCleanUp(CompressionQueueContext queue) {
+ if (verbose) puts("STUB: FinishCompressionAndCleanUp called");
+};
diff --git a/src/private-frameworks/CMakeLists.txt b/src/private-frameworks/CMakeLists.txt
index 76cc4208c..dfd92a003 100644
--- a/src/private-frameworks/CMakeLists.txt
+++ b/src/private-frameworks/CMakeLists.txt
@@ -1,14 +1,15 @@
project(private-frameworks)
-add_subdirectory(AppleSystemInfo)
+add_subdirectory(AppleFSCompression)
add_subdirectory(AppleSauce)
+add_subdirectory(AppleSystemInfo)
add_subdirectory(AssetCacheServices)
add_subdirectory(AuthKit)
-add_subdirectory(CrashReporterSupport)
add_subdirectory(ConfigurationProfiles)
add_subdirectory(CoreAnalytics)
add_subdirectory(CoreSymbolication)
add_subdirectory(CoreUI)
+add_subdirectory(CrashReporterSupport)
add_subdirectory(DataDetectors)
add_subdirectory(DataDetectorsCore)
add_subdirectory(DataDetectorsNaturalLanguage)
@@ -17,13 +18,15 @@ add_subdirectory(DiskImages)
add_subdirectory(DiskManagement)
add_subdirectory(IOPlatformPluginFamily)
add_subdirectory(kperf)
-add_subdirectory(login)
add_subdirectory(LoggingSupport)
+add_subdirectory(login)
add_subdirectory(MobileDevice)
add_subdirectory(NetworkStatistics)
add_subdirectory(PackageKit)
add_subdirectory(PerformanceAnalysis)
add_subdirectory(PlugInKit)
+add_subdirectory(PowerLog)
+add_subdirectory(ProtocolBuffer)
add_subdirectory(Spotlight)
add_subdirectory(SpotlightDaemon)
add_subdirectory(SpotlightIndex)
@@ -31,4 +34,5 @@ add_subdirectory(SpotlightReceiver)
add_subdirectory(SpotlightServerKit)
add_subdirectory(SpotlightServices)
add_subdirectory(StreamingZip)
+add_subdirectory(TrustedPeers)
add_subdirectory(ViewBridge)
diff --git a/src/private-frameworks/PowerLog/CMakeLists.txt b/src/private-frameworks/PowerLog/CMakeLists.txt
new file mode 100644
index 000000000..bd31514d5
--- /dev/null
+++ b/src/private-frameworks/PowerLog/CMakeLists.txt
@@ -0,0 +1,28 @@
+project(PowerLog)
+
+set(DYLIB_COMPAT_VERSION "1.0.0")
+set(DYLIB_CURRENT_VERSION "1.0.0")
+
+add_framework(PowerLog
+ FAT
+ CURRENT_VERSION
+ PRIVATE
+ VERSION "A"
+
+ SOURCES
+ src/PowerLog.m
+ src/PLCoreDuetEventInterval.m
+ src/PLCoreDuetEvent.m
+ src/PLEnergyBucket.m
+ src/PLUsageSnapshot.m
+ src/PLDuetActivitySchedulerUsageSnapshot.m
+ src/PLNetworkEnergyModel.m
+ src/PLModelingUtilities.m
+ src/PLClientLogAggregator.m
+ src/PLClientLogger.m
+
+ DEPENDENCIES
+ system
+ objc
+ Foundation
+)
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLClientLogAggregator.h b/src/private-frameworks/PowerLog/include/PowerLog/PLClientLogAggregator.h
new file mode 100644
index 000000000..f89557b59
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLClientLogAggregator.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLClientLogAggregator : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLClientLogger.h b/src/private-frameworks/PowerLog/include/PowerLog/PLClientLogger.h
new file mode 100644
index 000000000..252030018
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLClientLogger.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLClientLogger : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLCoreDuetEvent.h b/src/private-frameworks/PowerLog/include/PowerLog/PLCoreDuetEvent.h
new file mode 100644
index 000000000..ca36a0be7
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLCoreDuetEvent.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLCoreDuetEvent : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLCoreDuetEventInterval.h b/src/private-frameworks/PowerLog/include/PowerLog/PLCoreDuetEventInterval.h
new file mode 100644
index 000000000..e12186469
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLCoreDuetEventInterval.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLCoreDuetEventInterval : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLDuetActivitySchedulerUsageSnapshot.h b/src/private-frameworks/PowerLog/include/PowerLog/PLDuetActivitySchedulerUsageSnapshot.h
new file mode 100644
index 000000000..73bc67523
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLDuetActivitySchedulerUsageSnapshot.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLDuetActivitySchedulerUsageSnapshot : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLEnergyBucket.h b/src/private-frameworks/PowerLog/include/PowerLog/PLEnergyBucket.h
new file mode 100644
index 000000000..cf3ef281d
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLEnergyBucket.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLEnergyBucket : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLModelingUtilities.h b/src/private-frameworks/PowerLog/include/PowerLog/PLModelingUtilities.h
new file mode 100644
index 000000000..431698bae
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLModelingUtilities.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLModelingUtilities : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLNetworkEnergyModel.h b/src/private-frameworks/PowerLog/include/PowerLog/PLNetworkEnergyModel.h
new file mode 100644
index 000000000..18f97eb69
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLNetworkEnergyModel.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLNetworkEnergyModel : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PLUsageSnapshot.h b/src/private-frameworks/PowerLog/include/PowerLog/PLUsageSnapshot.h
new file mode 100644
index 000000000..8bd99da9b
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PLUsageSnapshot.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PLUsageSnapshot : NSObject
+
+@end
diff --git a/src/private-frameworks/PowerLog/include/PowerLog/PowerLog.h b/src/private-frameworks/PowerLog/include/PowerLog/PowerLog.h
new file mode 100644
index 000000000..4fadc8a6b
--- /dev/null
+++ b/src/private-frameworks/PowerLog/include/PowerLog/PowerLog.h
@@ -0,0 +1,89 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#ifndef _PowerLog_H_
+#define _PowerLog_H_
+
+#import
+
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+
+void* PLBatchDropMessages(void);
+void* PLBatteryGaugeGetSnapshot(void);
+void* PLBatteryGaugePauseTracingForBundleId(void);
+void* PLBatteryGaugePauseTracingForPid(void);
+void* PLBatteryGaugePauseTracingForProcessName(void);
+void* PLBatteryGaugeResumeTracingForBundleId(void);
+void* PLBatteryGaugeResumeTracingForPid(void);
+void* PLBatteryGaugeResumeTracingForProcessName(void);
+void* PLBatteryGaugeStartTracingForBundleId(void);
+void* PLBatteryGaugeStartTracingForPid(void);
+void* PLBatteryGaugeStartTracingForProcessName(void);
+void* PLBatteryGaugeStopTracingForBundleId(void);
+void* PLBatteryGaugeStopTracingForPid(void);
+void* PLBatteryGaugeStopTracingForProcessName(void);
+void* PLBatteryGaugeVersion(void);
+void* PLBatteryLifeMonitorLogCoreDuetAdmissionEvent(void);
+void* PLBatteryLifeMonitorLogCoreDuetEvent(void);
+void* PLBatteryLifeMonitorLogCoreDuetEventsAggregate(void);
+void* PLBatteryLifeMonitorLogCoreDuetPredictionEvents(void);
+void* PLBatteryLifeMonitorLogDuetEvent(void);
+void* PLBatteryLifeMonitorReportBatteryCapacityForCoreDuet(void);
+void* PLBatteryLifeMonitorReportCumulativeTotalDiscretionaryEnergyCoreDuet(void);
+void* PLBatteryLifeMonitorReportDiscretionaryBudgetForDuet(void);
+void* PLBatteryLifeMonitorReportEnergyCoreDuet(void);
+void* PLBatteryLifeMonitorReportEnergyDuet(void);
+void* PLBatteryLifeMonitorStopAllDuetEvents(void);
+void* PLBatteryUsageUIQuery(void);
+void* PLBuildEnergyBucket(void);
+void* PLBuildEnergyBucketTillNow(void);
+void* PLBuildUsageSnapshot(void);
+void* PLCopyPowerlog(void);
+void* PLCrashMoverCopyPowerlog(void);
+void* PLForceBatching(void);
+void* PLLogEvent(void);
+void* PLLogRegisteredAggregateEvent(void);
+void* PLLogRegisteredEventFilterByInterval(void);
+void* PLMovePowerlogsToCR(void);
+void* PLQuery(void);
+void* PLQueryRegistered(void);
+void* PLShouldLogEvent(void);
+void* PLSysdiagnoseCopyPowerlog(void);
+void* PLTalkToPowerlogHelper(void);
+
+// NOTE(@facekapow):
+// i'm not entirely sure where to put this constant, but this seems like as good a place as any
+#define PLClientIDSecurity (0)
+
+// the first parameter to these functions is the type of `PLClientID`,
+// but i'm not entirely sure what that is. `int` is a good guess
+void* PLShouldLogRegisteredEvent(int client_id, CFStringRef event_name);
+void* PLLogRegisteredEvent(int client_id, CFStringRef event_name, CFDictionaryRef event_dictionary, void* last_parameter);
+void* PLLogTimeSensitiveRegisteredEvent(int client_id, CFStringRef event_name, CFDictionaryRef event_dictionary, void* last_parameter);
+
+#endif
diff --git a/src/private-frameworks/PowerLog/src/PLClientLogAggregator.m b/src/private-frameworks/PowerLog/src/PLClientLogAggregator.m
new file mode 100644
index 000000000..cb9fac345
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLClientLogAggregator.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLClientLogAggregator
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLClientLogger.m b/src/private-frameworks/PowerLog/src/PLClientLogger.m
new file mode 100644
index 000000000..88ebea496
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLClientLogger.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLClientLogger
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLCoreDuetEvent.m b/src/private-frameworks/PowerLog/src/PLCoreDuetEvent.m
new file mode 100644
index 000000000..1f9c818ff
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLCoreDuetEvent.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLCoreDuetEvent
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLCoreDuetEventInterval.m b/src/private-frameworks/PowerLog/src/PLCoreDuetEventInterval.m
new file mode 100644
index 000000000..95ab28117
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLCoreDuetEventInterval.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLCoreDuetEventInterval
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLDuetActivitySchedulerUsageSnapshot.m b/src/private-frameworks/PowerLog/src/PLDuetActivitySchedulerUsageSnapshot.m
new file mode 100644
index 000000000..aeb82effe
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLDuetActivitySchedulerUsageSnapshot.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLDuetActivitySchedulerUsageSnapshot
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLEnergyBucket.m b/src/private-frameworks/PowerLog/src/PLEnergyBucket.m
new file mode 100644
index 000000000..0c878f15f
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLEnergyBucket.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLEnergyBucket
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLModelingUtilities.m b/src/private-frameworks/PowerLog/src/PLModelingUtilities.m
new file mode 100644
index 000000000..550c5b03b
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLModelingUtilities.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLModelingUtilities
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLNetworkEnergyModel.m b/src/private-frameworks/PowerLog/src/PLNetworkEnergyModel.m
new file mode 100644
index 000000000..2bf4034f7
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLNetworkEnergyModel.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLNetworkEnergyModel
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PLUsageSnapshot.m b/src/private-frameworks/PowerLog/src/PLUsageSnapshot.m
new file mode 100644
index 000000000..d537c9ead
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PLUsageSnapshot.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PLUsageSnapshot
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/PowerLog/src/PowerLog.m b/src/private-frameworks/PowerLog/src/PowerLog.m
new file mode 100644
index 000000000..96feddb90
--- /dev/null
+++ b/src/private-frameworks/PowerLog/src/PowerLog.m
@@ -0,0 +1,300 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#include
+#include
+#include
+
+static int verbose = 0;
+
+__attribute__((constructor))
+static void initme(void) {
+ verbose = getenv("STUB_VERBOSE") != NULL;
+}
+
+void* PLBatchDropMessages(void)
+{
+ if (verbose) puts("STUB: PLBatchDropMessages called");
+ return NULL;
+}
+
+void* PLBatteryGaugeGetSnapshot(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeGetSnapshot called");
+ return NULL;
+}
+
+void* PLBatteryGaugePauseTracingForBundleId(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugePauseTracingForBundleId called");
+ return NULL;
+}
+
+void* PLBatteryGaugePauseTracingForPid(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugePauseTracingForPid called");
+ return NULL;
+}
+
+void* PLBatteryGaugePauseTracingForProcessName(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugePauseTracingForProcessName called");
+ return NULL;
+}
+
+void* PLBatteryGaugeResumeTracingForBundleId(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeResumeTracingForBundleId called");
+ return NULL;
+}
+
+void* PLBatteryGaugeResumeTracingForPid(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeResumeTracingForPid called");
+ return NULL;
+}
+
+void* PLBatteryGaugeResumeTracingForProcessName(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeResumeTracingForProcessName called");
+ return NULL;
+}
+
+void* PLBatteryGaugeStartTracingForBundleId(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeStartTracingForBundleId called");
+ return NULL;
+}
+
+void* PLBatteryGaugeStartTracingForPid(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeStartTracingForPid called");
+ return NULL;
+}
+
+void* PLBatteryGaugeStartTracingForProcessName(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeStartTracingForProcessName called");
+ return NULL;
+}
+
+void* PLBatteryGaugeStopTracingForBundleId(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeStopTracingForBundleId called");
+ return NULL;
+}
+
+void* PLBatteryGaugeStopTracingForPid(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeStopTracingForPid called");
+ return NULL;
+}
+
+void* PLBatteryGaugeStopTracingForProcessName(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeStopTracingForProcessName called");
+ return NULL;
+}
+
+void* PLBatteryGaugeVersion(void)
+{
+ if (verbose) puts("STUB: PLBatteryGaugeVersion called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorLogCoreDuetAdmissionEvent(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetAdmissionEvent called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorLogCoreDuetEvent(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetEvent called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorLogCoreDuetEventsAggregate(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetEventsAggregate called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorLogCoreDuetPredictionEvents(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorLogCoreDuetPredictionEvents called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorLogDuetEvent(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorLogDuetEvent called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorReportBatteryCapacityForCoreDuet(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorReportBatteryCapacityForCoreDuet called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorReportCumulativeTotalDiscretionaryEnergyCoreDuet(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorReportCumulativeTotalDiscretionaryEnergyCoreDuet called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorReportDiscretionaryBudgetForDuet(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorReportDiscretionaryBudgetForDuet called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorReportEnergyCoreDuet(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorReportEnergyCoreDuet called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorReportEnergyDuet(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorReportEnergyDuet called");
+ return NULL;
+}
+
+void* PLBatteryLifeMonitorStopAllDuetEvents(void)
+{
+ if (verbose) puts("STUB: PLBatteryLifeMonitorStopAllDuetEvents called");
+ return NULL;
+}
+
+void* PLBatteryUsageUIQuery(void)
+{
+ if (verbose) puts("STUB: PLBatteryUsageUIQuery called");
+ return NULL;
+}
+
+void* PLBuildEnergyBucket(void)
+{
+ if (verbose) puts("STUB: PLBuildEnergyBucket called");
+ return NULL;
+}
+
+void* PLBuildEnergyBucketTillNow(void)
+{
+ if (verbose) puts("STUB: PLBuildEnergyBucketTillNow called");
+ return NULL;
+}
+
+void* PLBuildUsageSnapshot(void)
+{
+ if (verbose) puts("STUB: PLBuildUsageSnapshot called");
+ return NULL;
+}
+
+void* PLCopyPowerlog(void)
+{
+ if (verbose) puts("STUB: PLCopyPowerlog called");
+ return NULL;
+}
+
+void* PLCrashMoverCopyPowerlog(void)
+{
+ if (verbose) puts("STUB: PLCrashMoverCopyPowerlog called");
+ return NULL;
+}
+
+void* PLForceBatching(void)
+{
+ if (verbose) puts("STUB: PLForceBatching called");
+ return NULL;
+}
+
+void* PLLogEvent(void)
+{
+ if (verbose) puts("STUB: PLLogEvent called");
+ return NULL;
+}
+
+void* PLLogRegisteredAggregateEvent(void)
+{
+ if (verbose) puts("STUB: PLLogRegisteredAggregateEvent called");
+ return NULL;
+}
+
+void* PLLogRegisteredEvent(void)
+{
+ if (verbose) puts("STUB: PLLogRegisteredEvent called");
+ return NULL;
+}
+
+void* PLLogRegisteredEventFilterByInterval(void)
+{
+ if (verbose) puts("STUB: PLLogRegisteredEventFilterByInterval called");
+ return NULL;
+}
+
+void* PLLogTimeSensitiveRegisteredEvent(void)
+{
+ if (verbose) puts("STUB: PLLogTimeSensitiveRegisteredEvent called");
+ return NULL;
+}
+
+void* PLMovePowerlogsToCR(void)
+{
+ if (verbose) puts("STUB: PLMovePowerlogsToCR called");
+ return NULL;
+}
+
+void* PLQuery(void)
+{
+ if (verbose) puts("STUB: PLQuery called");
+ return NULL;
+}
+
+void* PLQueryRegistered(void)
+{
+ if (verbose) puts("STUB: PLQueryRegistered called");
+ return NULL;
+}
+
+void* PLShouldLogEvent(void)
+{
+ if (verbose) puts("STUB: PLShouldLogEvent called");
+ return NULL;
+}
+
+void* PLShouldLogRegisteredEvent(void)
+{
+ if (verbose) puts("STUB: PLShouldLogRegisteredEvent called");
+ return NULL;
+}
+
+void* PLSysdiagnoseCopyPowerlog(void)
+{
+ if (verbose) puts("STUB: PLSysdiagnoseCopyPowerlog called");
+ return NULL;
+}
+
+void* PLTalkToPowerlogHelper(void)
+{
+ if (verbose) puts("STUB: PLTalkToPowerlogHelper called");
+ return NULL;
+}
diff --git a/src/private-frameworks/ProtocolBuffer/CMakeLists.txt b/src/private-frameworks/ProtocolBuffer/CMakeLists.txt
new file mode 100644
index 000000000..73174e7ba
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/CMakeLists.txt
@@ -0,0 +1,33 @@
+project(ProtocolBuffer)
+
+set(DYLIB_COMPAT_VERSION "1.0.0")
+set(DYLIB_CURRENT_VERSION "274.24.9")
+
+add_framework(ProtocolBuffer
+ FAT
+ CURRENT_VERSION
+ PRIVATE
+ VERSION "A"
+
+ SOURCES
+ src/ProtocolBuffer.m
+ src/PBDataReader.m
+ src/PBTextWriter.m
+ src/PBMutableData.m
+ src/PBDataWriter.m
+ src/PBTextReader.m
+ src/PBCodable.m
+ src/PBRequest.m
+ src/PBStreamWriter.m
+ src/PBMessageStreamReader.m
+ src/PBMessageStreamWriter.m
+ src/PBStreamReader.m
+ src/_PBProperty.m
+ src/PBUnknownFields.m
+ src/PBSessionRequester.m
+
+ DEPENDENCIES
+ system
+ objc
+ Foundation
+)
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/NSURLSessionDataDelegate.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/NSURLSessionDataDelegate.h
new file mode 100644
index 000000000..293a447e6
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/NSURLSessionDataDelegate.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@protocol NSURLSessionDataDelegate
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/NSURLSessionDelegate.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/NSURLSessionDelegate.h
new file mode 100644
index 000000000..465e3b074
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/NSURLSessionDelegate.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@protocol NSURLSessionDelegate
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBCodable.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBCodable.h
new file mode 100644
index 000000000..ba77aa9e9
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBCodable.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBCodable : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBDataReader.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBDataReader.h
new file mode 100644
index 000000000..7e108318c
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBDataReader.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBDataReader : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBDataWriter.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBDataWriter.h
new file mode 100644
index 000000000..941fc4cac
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBDataWriter.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBDataWriter : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMessageStreamReader.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMessageStreamReader.h
new file mode 100644
index 000000000..60d12e721
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMessageStreamReader.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBMessageStreamReader : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMessageStreamWriter.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMessageStreamWriter.h
new file mode 100644
index 000000000..541057137
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMessageStreamWriter.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBMessageStreamWriter : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMutableData.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMutableData.h
new file mode 100644
index 000000000..c87324568
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBMutableData.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBMutableData : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBRequest.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBRequest.h
new file mode 100644
index 000000000..779f76cf6
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBRequest.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBRequest : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBSessionRequester.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBSessionRequester.h
new file mode 100644
index 000000000..a3b9e8250
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBSessionRequester.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBSessionRequester : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBStreamReader.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBStreamReader.h
new file mode 100644
index 000000000..d37c8b3ef
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBStreamReader.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBStreamReader : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBStreamWriter.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBStreamWriter.h
new file mode 100644
index 000000000..e45d676aa
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBStreamWriter.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBStreamWriter : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBTextReader.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBTextReader.h
new file mode 100644
index 000000000..91462d169
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBTextReader.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBTextReader : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBTextWriter.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBTextWriter.h
new file mode 100644
index 000000000..d37a9aecc
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBTextWriter.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBTextWriter : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBUnknownFields.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBUnknownFields.h
new file mode 100644
index 000000000..228e23601
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/PBUnknownFields.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface PBUnknownFields : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/ProtocolBuffer.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/ProtocolBuffer.h
new file mode 100644
index 000000000..836f004cf
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/ProtocolBuffer.h
@@ -0,0 +1,182 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#ifndef _ProtocolBuffer_H_
+#define _ProtocolBuffer_H_
+
+#import
+
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+
+void* PBDataWriterPlaceMark(void);
+void* PBDataWriterRecallMark(void);
+void* PBDataWriterWriteBOOLField(void);
+void* PBDataWriterWriteBareVarint(void);
+void* PBDataWriterWriteDataField(void);
+void* PBDataWriterWriteDoubleField(void);
+void* PBDataWriterWriteFixed32Field(void);
+void* PBDataWriterWriteFixed64Field(void);
+void* PBDataWriterWriteFloatField(void);
+void* PBDataWriterWriteInt32Field(void);
+void* PBDataWriterWriteInt64Field(void);
+void* PBDataWriterWriteSfixed32Field(void);
+void* PBDataWriterWriteSfixed64Field(void);
+void* PBDataWriterWriteSint32Field(void);
+void* PBDataWriterWriteSint64Field(void);
+void* PBDataWriterWriteStringField(void);
+void* PBDataWriterWriteSubgroup(void);
+void* PBDataWriterWriteSubmessage(void);
+void* PBDataWriterWriteUint32Field(void);
+void* PBDataWriterWriteUint64Field(void);
+void* PBHashBytes(void);
+void* PBReaderPlaceMark(void);
+void* PBReaderReadBigEndianFixed16(void);
+void* PBReaderReadBigEndianFixed32(void);
+void* PBReaderReadBigEndianFixed64(void);
+void* PBReaderReadData(void);
+void* PBReaderReadString(void);
+void* PBReaderReadVarIntBuf(void);
+void* PBReaderRecallMark(void);
+void* PBReaderSkipValueWithTag(void);
+void* PBRepeatedBOOLAdd(void);
+void* PBRepeatedBOOLClear(void);
+void* PBRepeatedBOOLCopy(void);
+void* PBRepeatedBOOLHash(void);
+void* PBRepeatedBOOLIsEqual(void);
+void* PBRepeatedBOOLNSArray(void);
+void* PBRepeatedBOOLSet(void);
+void* PBRepeatedDoubleAdd(void);
+void* PBRepeatedDoubleClear(void);
+void* PBRepeatedDoubleCopy(void);
+void* PBRepeatedDoubleHash(void);
+void* PBRepeatedDoubleIsEqual(void);
+void* PBRepeatedDoubleNSArray(void);
+void* PBRepeatedDoubleSet(void);
+void* PBRepeatedFloatAdd(void);
+void* PBRepeatedFloatClear(void);
+void* PBRepeatedFloatCopy(void);
+void* PBRepeatedFloatHash(void);
+void* PBRepeatedFloatIsEqual(void);
+void* PBRepeatedFloatNSArray(void);
+void* PBRepeatedFloatSet(void);
+void* PBRepeatedInt32Add(void);
+void* PBRepeatedInt32Clear(void);
+void* PBRepeatedInt32Copy(void);
+void* PBRepeatedInt32Hash(void);
+void* PBRepeatedInt32IsEqual(void);
+void* PBRepeatedInt32NSArray(void);
+void* PBRepeatedInt32Set(void);
+void* PBRepeatedInt64Add(void);
+void* PBRepeatedInt64Clear(void);
+void* PBRepeatedInt64Copy(void);
+void* PBRepeatedInt64Hash(void);
+void* PBRepeatedInt64IsEqual(void);
+void* PBRepeatedInt64NSArray(void);
+void* PBRepeatedInt64Set(void);
+void* PBRepeatedUInt32Add(void);
+void* PBRepeatedUInt32Clear(void);
+void* PBRepeatedUInt32Copy(void);
+void* PBRepeatedUInt32Hash(void);
+void* PBRepeatedUInt32IsEqual(void);
+void* PBRepeatedUInt32NSArray(void);
+void* PBRepeatedUInt32Set(void);
+void* PBRepeatedUInt64Add(void);
+void* PBRepeatedUInt64Clear(void);
+void* PBRepeatedUInt64Copy(void);
+void* PBRepeatedUInt64Hash(void);
+void* PBRepeatedUInt64IsEqual(void);
+void* PBRepeatedUInt64NSArray(void);
+void* PBRepeatedUInt64Set(void);
+void* PBUnknownFieldAdd(void);
+void* PBUnknownFieldsSetMaximumRecursionDepth(void);
+void* _ZN2PB13TextFormatter11beginObjectEPKc(void);
+void* _ZN2PB13TextFormatter6dedentEv(void);
+void* _ZN2PB13TextFormatter6formatEPKcRKNS_4DataE(void);
+void* _ZN2PB13TextFormatter6formatEPKcRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE(void);
+void* _ZN2PB13TextFormatter6formatEPKcRKNSt3__16vectorIhNS3_9allocatorIhEEEE(void);
+void* _ZN2PB13TextFormatter6formatEPKcb(void);
+void* _ZN2PB13TextFormatter6formatEPKcd(void);
+void* _ZN2PB13TextFormatter6formatEPKcf(void);
+void* _ZN2PB13TextFormatter6formatEPKci(void);
+void* _ZN2PB13TextFormatter6formatEPKcj(void);
+void* _ZN2PB13TextFormatter6formatEPKcx(void);
+void* _ZN2PB13TextFormatter6formatEPKcy(void);
+void* _ZN2PB13TextFormatter6indentEv(void);
+void* _ZN2PB13TextFormatter9endObjectEv(void);
+void* _ZN2PB4BaseD0Ev(void);
+void* _ZN2PB4BaseD1Ev(void);
+void* _ZN2PB4BaseD2Ev(void);
+void* _ZN2PB4Data5clearEv(void);
+void* _ZN2PB4Data6assignEPKhS2_(void);
+void* _ZN2PB4DataC1EPKhm(void);
+void* _ZN2PB4DataC1ERKS0_(void);
+void* _ZN2PB4DataC2EPKhm(void);
+void* _ZN2PB4DataC2ERKS0_(void);
+void* _ZN2PB6Reader10recallMarkERKNS_10ReaderMarkE(void);
+void* _ZN2PB6Reader4readERNS_4DataE(void);
+void* _ZN2PB6Reader4readERNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE(void);
+void* _ZN2PB6Reader4readERNSt3__16vectorIhNS1_9allocatorIhEEEE(void);
+void* _ZN2PB6Reader4skipEjhi(void);
+void* _ZN2PB6Reader9placeMarkERNS_10ReaderMarkE(void);
+void* _ZN2PB6ReaderC1EPKhm(void);
+void* _ZN2PB6ReaderC2EPKhm(void);
+void* _ZN2PB6Writer10recallMarkERKNS_10WriterMarkE(void);
+void* _ZN2PB6Writer10writeFixedEij(void);
+void* _ZN2PB6Writer10writeFixedEjj(void);
+void* _ZN2PB6Writer10writeFixedExj(void);
+void* _ZN2PB6Writer10writeFixedEyj(void);
+void* _ZN2PB6Writer11writeVarIntEij(void);
+void* _ZN2PB6Writer11writeVarIntEjj(void);
+void* _ZN2PB6Writer11writeVarIntExj(void);
+void* _ZN2PB6Writer11writeVarIntEyj(void);
+void* _ZN2PB6Writer13writeSubgroupERKNS_4BaseEj(void);
+void* _ZN2PB6Writer15writeSubmessageERKNS_4BaseEj(void);
+void* _ZN2PB6Writer5writeERKNS_4DataEj(void);
+void* _ZN2PB6Writer5writeERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEj(void);
+void* _ZN2PB6Writer5writeERKNSt3__16vectorIhNS1_9allocatorIhEEEEj(void);
+void* _ZN2PB6Writer5writeEbj(void);
+void* _ZN2PB6Writer5writeEdj(void);
+void* _ZN2PB6Writer5writeEfj(void);
+void* _ZN2PB6Writer9placeMarkERNS_10WriterMarkEj(void);
+void* _ZN2PB6Writer9writeSIntEij(void);
+void* _ZN2PB6Writer9writeSIntExj(void);
+void* _ZN2PB6WriterC1Ev(void);
+void* _ZN2PB6WriterC2Ev(void);
+void* _ZN2PB6WriterD1Ev(void);
+void* _ZN2PB6WriterD2Ev(void);
+void* _ZNK2PB4Base13formattedTextEv(void);
+void* _ZNK2PB4DataeqERKS0_(void);
+
+#endif
diff --git a/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/_PBProperty.h b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/_PBProperty.h
new file mode 100644
index 000000000..e30ea7490
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/include/ProtocolBuffer/_PBProperty.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface _PBProperty : NSObject
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBCodable.m b/src/private-frameworks/ProtocolBuffer/src/PBCodable.m
new file mode 100644
index 000000000..249676d5e
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBCodable.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBCodable
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBDataReader.m b/src/private-frameworks/ProtocolBuffer/src/PBDataReader.m
new file mode 100644
index 000000000..89d14d97f
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBDataReader.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBDataReader
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBDataWriter.m b/src/private-frameworks/ProtocolBuffer/src/PBDataWriter.m
new file mode 100644
index 000000000..b4a6d10d9
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBDataWriter.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBDataWriter
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBMessageStreamReader.m b/src/private-frameworks/ProtocolBuffer/src/PBMessageStreamReader.m
new file mode 100644
index 000000000..579206999
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBMessageStreamReader.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBMessageStreamReader
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBMessageStreamWriter.m b/src/private-frameworks/ProtocolBuffer/src/PBMessageStreamWriter.m
new file mode 100644
index 000000000..80916907c
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBMessageStreamWriter.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBMessageStreamWriter
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBMutableData.m b/src/private-frameworks/ProtocolBuffer/src/PBMutableData.m
new file mode 100644
index 000000000..10cf3f232
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBMutableData.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBMutableData
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBRequest.m b/src/private-frameworks/ProtocolBuffer/src/PBRequest.m
new file mode 100644
index 000000000..0329706fa
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBRequest.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBRequest
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBSessionRequester.m b/src/private-frameworks/ProtocolBuffer/src/PBSessionRequester.m
new file mode 100644
index 000000000..45f9139c0
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBSessionRequester.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBSessionRequester
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBStreamReader.m b/src/private-frameworks/ProtocolBuffer/src/PBStreamReader.m
new file mode 100644
index 000000000..03698010f
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBStreamReader.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBStreamReader
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBStreamWriter.m b/src/private-frameworks/ProtocolBuffer/src/PBStreamWriter.m
new file mode 100644
index 000000000..4a2f9a7c3
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBStreamWriter.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBStreamWriter
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBTextReader.m b/src/private-frameworks/ProtocolBuffer/src/PBTextReader.m
new file mode 100644
index 000000000..4a9f39819
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBTextReader.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBTextReader
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBTextWriter.m b/src/private-frameworks/ProtocolBuffer/src/PBTextWriter.m
new file mode 100644
index 000000000..d012330db
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBTextWriter.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBTextWriter
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/PBUnknownFields.m b/src/private-frameworks/ProtocolBuffer/src/PBUnknownFields.m
new file mode 100644
index 000000000..bdf3cfb71
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/PBUnknownFields.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation PBUnknownFields
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/ProtocolBuffer/src/ProtocolBuffer.m b/src/private-frameworks/ProtocolBuffer/src/ProtocolBuffer.m
new file mode 100644
index 000000000..9c2113dd5
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/ProtocolBuffer.m
@@ -0,0 +1,858 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#include
+#include
+#include
+
+static int verbose = 0;
+
+__attribute__((constructor))
+static void initme(void) {
+ verbose = getenv("STUB_VERBOSE") != NULL;
+}
+
+void* PBDataWriterPlaceMark(void)
+{
+ if (verbose) puts("STUB: PBDataWriterPlaceMark called");
+ return NULL;
+}
+
+void* PBDataWriterRecallMark(void)
+{
+ if (verbose) puts("STUB: PBDataWriterRecallMark called");
+ return NULL;
+}
+
+void* PBDataWriterWriteBOOLField(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteBOOLField called");
+ return NULL;
+}
+
+void* PBDataWriterWriteBareVarint(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteBareVarint called");
+ return NULL;
+}
+
+void* PBDataWriterWriteDataField(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteDataField called");
+ return NULL;
+}
+
+void* PBDataWriterWriteDoubleField(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteDoubleField called");
+ return NULL;
+}
+
+void* PBDataWriterWriteFixed32Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteFixed32Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteFixed64Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteFixed64Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteFloatField(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteFloatField called");
+ return NULL;
+}
+
+void* PBDataWriterWriteInt32Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteInt32Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteInt64Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteInt64Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteSfixed32Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteSfixed32Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteSfixed64Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteSfixed64Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteSint32Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteSint32Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteSint64Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteSint64Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteStringField(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteStringField called");
+ return NULL;
+}
+
+void* PBDataWriterWriteSubgroup(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteSubgroup called");
+ return NULL;
+}
+
+void* PBDataWriterWriteSubmessage(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteSubmessage called");
+ return NULL;
+}
+
+void* PBDataWriterWriteUint32Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteUint32Field called");
+ return NULL;
+}
+
+void* PBDataWriterWriteUint64Field(void)
+{
+ if (verbose) puts("STUB: PBDataWriterWriteUint64Field called");
+ return NULL;
+}
+
+void* PBHashBytes(void)
+{
+ if (verbose) puts("STUB: PBHashBytes called");
+ return NULL;
+}
+
+void* PBReaderPlaceMark(void)
+{
+ if (verbose) puts("STUB: PBReaderPlaceMark called");
+ return NULL;
+}
+
+void* PBReaderReadBigEndianFixed16(void)
+{
+ if (verbose) puts("STUB: PBReaderReadBigEndianFixed16 called");
+ return NULL;
+}
+
+void* PBReaderReadBigEndianFixed32(void)
+{
+ if (verbose) puts("STUB: PBReaderReadBigEndianFixed32 called");
+ return NULL;
+}
+
+void* PBReaderReadBigEndianFixed64(void)
+{
+ if (verbose) puts("STUB: PBReaderReadBigEndianFixed64 called");
+ return NULL;
+}
+
+void* PBReaderReadData(void)
+{
+ if (verbose) puts("STUB: PBReaderReadData called");
+ return NULL;
+}
+
+void* PBReaderReadString(void)
+{
+ if (verbose) puts("STUB: PBReaderReadString called");
+ return NULL;
+}
+
+void* PBReaderReadVarIntBuf(void)
+{
+ if (verbose) puts("STUB: PBReaderReadVarIntBuf called");
+ return NULL;
+}
+
+void* PBReaderRecallMark(void)
+{
+ if (verbose) puts("STUB: PBReaderRecallMark called");
+ return NULL;
+}
+
+void* PBReaderSkipValueWithTag(void)
+{
+ if (verbose) puts("STUB: PBReaderSkipValueWithTag called");
+ return NULL;
+}
+
+void* PBRepeatedBOOLAdd(void)
+{
+ if (verbose) puts("STUB: PBRepeatedBOOLAdd called");
+ return NULL;
+}
+
+void* PBRepeatedBOOLClear(void)
+{
+ if (verbose) puts("STUB: PBRepeatedBOOLClear called");
+ return NULL;
+}
+
+void* PBRepeatedBOOLCopy(void)
+{
+ if (verbose) puts("STUB: PBRepeatedBOOLCopy called");
+ return NULL;
+}
+
+void* PBRepeatedBOOLHash(void)
+{
+ if (verbose) puts("STUB: PBRepeatedBOOLHash called");
+ return NULL;
+}
+
+void* PBRepeatedBOOLIsEqual(void)
+{
+ if (verbose) puts("STUB: PBRepeatedBOOLIsEqual called");
+ return NULL;
+}
+
+void* PBRepeatedBOOLNSArray(void)
+{
+ if (verbose) puts("STUB: PBRepeatedBOOLNSArray called");
+ return NULL;
+}
+
+void* PBRepeatedBOOLSet(void)
+{
+ if (verbose) puts("STUB: PBRepeatedBOOLSet called");
+ return NULL;
+}
+
+void* PBRepeatedDoubleAdd(void)
+{
+ if (verbose) puts("STUB: PBRepeatedDoubleAdd called");
+ return NULL;
+}
+
+void* PBRepeatedDoubleClear(void)
+{
+ if (verbose) puts("STUB: PBRepeatedDoubleClear called");
+ return NULL;
+}
+
+void* PBRepeatedDoubleCopy(void)
+{
+ if (verbose) puts("STUB: PBRepeatedDoubleCopy called");
+ return NULL;
+}
+
+void* PBRepeatedDoubleHash(void)
+{
+ if (verbose) puts("STUB: PBRepeatedDoubleHash called");
+ return NULL;
+}
+
+void* PBRepeatedDoubleIsEqual(void)
+{
+ if (verbose) puts("STUB: PBRepeatedDoubleIsEqual called");
+ return NULL;
+}
+
+void* PBRepeatedDoubleNSArray(void)
+{
+ if (verbose) puts("STUB: PBRepeatedDoubleNSArray called");
+ return NULL;
+}
+
+void* PBRepeatedDoubleSet(void)
+{
+ if (verbose) puts("STUB: PBRepeatedDoubleSet called");
+ return NULL;
+}
+
+void* PBRepeatedFloatAdd(void)
+{
+ if (verbose) puts("STUB: PBRepeatedFloatAdd called");
+ return NULL;
+}
+
+void* PBRepeatedFloatClear(void)
+{
+ if (verbose) puts("STUB: PBRepeatedFloatClear called");
+ return NULL;
+}
+
+void* PBRepeatedFloatCopy(void)
+{
+ if (verbose) puts("STUB: PBRepeatedFloatCopy called");
+ return NULL;
+}
+
+void* PBRepeatedFloatHash(void)
+{
+ if (verbose) puts("STUB: PBRepeatedFloatHash called");
+ return NULL;
+}
+
+void* PBRepeatedFloatIsEqual(void)
+{
+ if (verbose) puts("STUB: PBRepeatedFloatIsEqual called");
+ return NULL;
+}
+
+void* PBRepeatedFloatNSArray(void)
+{
+ if (verbose) puts("STUB: PBRepeatedFloatNSArray called");
+ return NULL;
+}
+
+void* PBRepeatedFloatSet(void)
+{
+ if (verbose) puts("STUB: PBRepeatedFloatSet called");
+ return NULL;
+}
+
+void* PBRepeatedInt32Add(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt32Add called");
+ return NULL;
+}
+
+void* PBRepeatedInt32Clear(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt32Clear called");
+ return NULL;
+}
+
+void* PBRepeatedInt32Copy(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt32Copy called");
+ return NULL;
+}
+
+void* PBRepeatedInt32Hash(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt32Hash called");
+ return NULL;
+}
+
+void* PBRepeatedInt32IsEqual(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt32IsEqual called");
+ return NULL;
+}
+
+void* PBRepeatedInt32NSArray(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt32NSArray called");
+ return NULL;
+}
+
+void* PBRepeatedInt32Set(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt32Set called");
+ return NULL;
+}
+
+void* PBRepeatedInt64Add(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt64Add called");
+ return NULL;
+}
+
+void* PBRepeatedInt64Clear(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt64Clear called");
+ return NULL;
+}
+
+void* PBRepeatedInt64Copy(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt64Copy called");
+ return NULL;
+}
+
+void* PBRepeatedInt64Hash(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt64Hash called");
+ return NULL;
+}
+
+void* PBRepeatedInt64IsEqual(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt64IsEqual called");
+ return NULL;
+}
+
+void* PBRepeatedInt64NSArray(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt64NSArray called");
+ return NULL;
+}
+
+void* PBRepeatedInt64Set(void)
+{
+ if (verbose) puts("STUB: PBRepeatedInt64Set called");
+ return NULL;
+}
+
+void* PBRepeatedUInt32Add(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt32Add called");
+ return NULL;
+}
+
+void* PBRepeatedUInt32Clear(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt32Clear called");
+ return NULL;
+}
+
+void* PBRepeatedUInt32Copy(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt32Copy called");
+ return NULL;
+}
+
+void* PBRepeatedUInt32Hash(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt32Hash called");
+ return NULL;
+}
+
+void* PBRepeatedUInt32IsEqual(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt32IsEqual called");
+ return NULL;
+}
+
+void* PBRepeatedUInt32NSArray(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt32NSArray called");
+ return NULL;
+}
+
+void* PBRepeatedUInt32Set(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt32Set called");
+ return NULL;
+}
+
+void* PBRepeatedUInt64Add(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt64Add called");
+ return NULL;
+}
+
+void* PBRepeatedUInt64Clear(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt64Clear called");
+ return NULL;
+}
+
+void* PBRepeatedUInt64Copy(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt64Copy called");
+ return NULL;
+}
+
+void* PBRepeatedUInt64Hash(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt64Hash called");
+ return NULL;
+}
+
+void* PBRepeatedUInt64IsEqual(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt64IsEqual called");
+ return NULL;
+}
+
+void* PBRepeatedUInt64NSArray(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt64NSArray called");
+ return NULL;
+}
+
+void* PBRepeatedUInt64Set(void)
+{
+ if (verbose) puts("STUB: PBRepeatedUInt64Set called");
+ return NULL;
+}
+
+void* PBUnknownFieldAdd(void)
+{
+ if (verbose) puts("STUB: PBUnknownFieldAdd called");
+ return NULL;
+}
+
+void* PBUnknownFieldsSetMaximumRecursionDepth(void)
+{
+ if (verbose) puts("STUB: PBUnknownFieldsSetMaximumRecursionDepth called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter11beginObjectEPKc(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter11beginObjectEPKc called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6dedentEv(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6dedentEv called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcRKNS_4DataE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcRKNS_4DataE called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcRKNSt3__16vectorIhNS3_9allocatorIhEEEE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcRKNSt3__16vectorIhNS3_9allocatorIhEEEE called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcb(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcb called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcd(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcd called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcf(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcf called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKci(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKci called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcj called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcx(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcx called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6formatEPKcy(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6formatEPKcy called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter6indentEv(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter6indentEv called");
+ return NULL;
+}
+
+void* _ZN2PB13TextFormatter9endObjectEv(void)
+{
+ if (verbose) puts("STUB: _ZN2PB13TextFormatter9endObjectEv called");
+ return NULL;
+}
+
+void* _ZN2PB4BaseD0Ev(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4BaseD0Ev called");
+ return NULL;
+}
+
+void* _ZN2PB4BaseD1Ev(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4BaseD1Ev called");
+ return NULL;
+}
+
+void* _ZN2PB4BaseD2Ev(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4BaseD2Ev called");
+ return NULL;
+}
+
+void* _ZN2PB4Data5clearEv(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4Data5clearEv called");
+ return NULL;
+}
+
+void* _ZN2PB4Data6assignEPKhS2_(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4Data6assignEPKhS2_ called");
+ return NULL;
+}
+
+void* _ZN2PB4DataC1EPKhm(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4DataC1EPKhm called");
+ return NULL;
+}
+
+void* _ZN2PB4DataC1ERKS0_(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4DataC1ERKS0_ called");
+ return NULL;
+}
+
+void* _ZN2PB4DataC2EPKhm(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4DataC2EPKhm called");
+ return NULL;
+}
+
+void* _ZN2PB4DataC2ERKS0_(void)
+{
+ if (verbose) puts("STUB: _ZN2PB4DataC2ERKS0_ called");
+ return NULL;
+}
+
+void* _ZN2PB6Reader10recallMarkERKNS_10ReaderMarkE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Reader10recallMarkERKNS_10ReaderMarkE called");
+ return NULL;
+}
+
+void* _ZN2PB6Reader4readERNS_4DataE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Reader4readERNS_4DataE called");
+ return NULL;
+}
+
+void* _ZN2PB6Reader4readERNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Reader4readERNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE called");
+ return NULL;
+}
+
+void* _ZN2PB6Reader4readERNSt3__16vectorIhNS1_9allocatorIhEEEE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Reader4readERNSt3__16vectorIhNS1_9allocatorIhEEEE called");
+ return NULL;
+}
+
+void* _ZN2PB6Reader4skipEjhi(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Reader4skipEjhi called");
+ return NULL;
+}
+
+void* _ZN2PB6Reader9placeMarkERNS_10ReaderMarkE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Reader9placeMarkERNS_10ReaderMarkE called");
+ return NULL;
+}
+
+void* _ZN2PB6ReaderC1EPKhm(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6ReaderC1EPKhm called");
+ return NULL;
+}
+
+void* _ZN2PB6ReaderC2EPKhm(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6ReaderC2EPKhm called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer10recallMarkERKNS_10WriterMarkE(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer10recallMarkERKNS_10WriterMarkE called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer10writeFixedEij(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer10writeFixedEij called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer10writeFixedEjj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer10writeFixedEjj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer10writeFixedExj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer10writeFixedExj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer10writeFixedEyj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer10writeFixedEyj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer11writeVarIntEij(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer11writeVarIntEij called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer11writeVarIntEjj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer11writeVarIntEjj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer11writeVarIntExj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer11writeVarIntExj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer11writeVarIntEyj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer11writeVarIntEyj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer13writeSubgroupERKNS_4BaseEj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer13writeSubgroupERKNS_4BaseEj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer15writeSubmessageERKNS_4BaseEj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer15writeSubmessageERKNS_4BaseEj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer5writeERKNS_4DataEj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer5writeERKNS_4DataEj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer5writeERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer5writeERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer5writeERKNSt3__16vectorIhNS1_9allocatorIhEEEEj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer5writeERKNSt3__16vectorIhNS1_9allocatorIhEEEEj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer5writeEbj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer5writeEbj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer5writeEdj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer5writeEdj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer5writeEfj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer5writeEfj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer9placeMarkERNS_10WriterMarkEj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer9placeMarkERNS_10WriterMarkEj called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer9writeSIntEij(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer9writeSIntEij called");
+ return NULL;
+}
+
+void* _ZN2PB6Writer9writeSIntExj(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6Writer9writeSIntExj called");
+ return NULL;
+}
+
+void* _ZN2PB6WriterC1Ev(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6WriterC1Ev called");
+ return NULL;
+}
+
+void* _ZN2PB6WriterC2Ev(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6WriterC2Ev called");
+ return NULL;
+}
+
+void* _ZN2PB6WriterD1Ev(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6WriterD1Ev called");
+ return NULL;
+}
+
+void* _ZN2PB6WriterD2Ev(void)
+{
+ if (verbose) puts("STUB: _ZN2PB6WriterD2Ev called");
+ return NULL;
+}
+
+void* _ZNK2PB4Base13formattedTextEv(void)
+{
+ if (verbose) puts("STUB: _ZNK2PB4Base13formattedTextEv called");
+ return NULL;
+}
+
+void* _ZNK2PB4DataeqERKS0_(void)
+{
+ if (verbose) puts("STUB: _ZNK2PB4DataeqERKS0_ called");
+ return NULL;
+}
diff --git a/src/private-frameworks/ProtocolBuffer/src/_PBProperty.m b/src/private-frameworks/ProtocolBuffer/src/_PBProperty.m
new file mode 100644
index 000000000..6a5dae5ff
--- /dev/null
+++ b/src/private-frameworks/ProtocolBuffer/src/_PBProperty.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation _PBProperty
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/CMakeLists.txt b/src/private-frameworks/TrustedPeers/CMakeLists.txt
new file mode 100644
index 000000000..751d4ffda
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/CMakeLists.txt
@@ -0,0 +1,58 @@
+project(TrustedPeers)
+
+set(DYLIB_COMPAT_VERSION "1.0.0")
+set(DYLIB_CURRENT_VERSION "1.0.0")
+
+add_framework(TrustedPeers
+ FAT
+ CURRENT_VERSION
+ PRIVATE
+ VERSION "A"
+
+ SOURCES
+ src/TrustedPeers.m
+ src/TPCategoryRule.m
+ src/TPPeerDynamicInfo.m
+ src/TPPolicy.m
+ src/TPPBDictionaryMatchingRuleFieldExists.m
+ src/TPModel.m
+ src/TPPolicyDocument.m
+ src/TPMachineID.m
+ src/TPMachineIDList.m
+ src/TPHashBuilder.m
+ src/TPPBDictionaryMatchingRuleFieldRegexMatch.m
+ src/TPPBDictionaryMatchingRule.m
+ src/TPPeerStableInfo.m
+ src/TPECPublicKeyFactory.m
+ src/TPPeerPermanentInfo.m
+ src/TPPBPolicyKeyViewMapping.m
+ src/TPRecoveryKeyPair.m
+ src/TPCachedViableBottles.m
+ src/TPPolicyVersion.m
+ src/TPPeer.m
+ src/TPPBDispositionDuplicateMachineID.m
+ src/TPVoucher.m
+ src/TPPBDispositionEntry.m
+ src/TPPBDispositionDisallowedMachineID.m
+ src/TPPBAncientEpoch.m
+ src/TPPBPolicyProhibits.m
+ src/TPPBUnknownMachineID.m
+ src/TPPBDisposition.m
+ src/TPPBPeerPermanentInfo.m
+ src/TPDictionaryMatchingRule.m
+ src/TPPBPeerDynamicInfo.m
+ src/TPPBPolicySecret.m
+ src/TPPBPeerStableInfo.m
+ src/TPPBVoucher.m
+ src/TPPBPolicyDocument.m
+ src/TPPBPolicyCategoriesByView.m
+ src/TPPBPolicyIntroducersByCategory.m
+ src/TPStringTable.m
+ src/TPPBPolicyModelToCategory.m
+ src/TPPBPolicyRedaction.m
+
+ DEPENDENCIES
+ system
+ objc
+ Foundation
+)
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPCachedViableBottles.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPCachedViableBottles.h
new file mode 100644
index 000000000..a01625eca
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPCachedViableBottles.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPCachedViableBottles : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPCategoryRule.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPCategoryRule.h
new file mode 100644
index 000000000..6cc82a700
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPCategoryRule.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPCategoryRule : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPDictionaryMatchingRule.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPDictionaryMatchingRule.h
new file mode 100644
index 000000000..00d2944bd
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPDictionaryMatchingRule.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPDictionaryMatchingRule : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPECPublicKeyFactory.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPECPublicKeyFactory.h
new file mode 100644
index 000000000..b9c99b772
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPECPublicKeyFactory.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPECPublicKeyFactory : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPHashBuilder.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPHashBuilder.h
new file mode 100644
index 000000000..644f0fcbd
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPHashBuilder.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPHashBuilder : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPKeyPair.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPKeyPair.h
new file mode 100644
index 000000000..7f8372f5a
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPKeyPair.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@protocol TPKeyPair
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPMachineID.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPMachineID.h
new file mode 100644
index 000000000..5dacec138
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPMachineID.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPMachineID : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPMachineIDList.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPMachineIDList.h
new file mode 100644
index 000000000..d869781d5
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPMachineIDList.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPMachineIDList : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPModel.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPModel.h
new file mode 100644
index 000000000..64563958f
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPModel.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPModel : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBAncientEpoch.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBAncientEpoch.h
new file mode 100644
index 000000000..2901f2485
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBAncientEpoch.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBAncientEpoch : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRule.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRule.h
new file mode 100644
index 000000000..05c5cfbc6
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRule.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBDictionaryMatchingRule : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRuleFieldExists.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRuleFieldExists.h
new file mode 100644
index 000000000..0081f2505
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRuleFieldExists.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBDictionaryMatchingRuleFieldExists : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRuleFieldRegexMatch.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRuleFieldRegexMatch.h
new file mode 100644
index 000000000..ca2384a37
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDictionaryMatchingRuleFieldRegexMatch.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBDictionaryMatchingRuleFieldRegexMatch : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDisposition.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDisposition.h
new file mode 100644
index 000000000..9313c84f3
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDisposition.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBDisposition : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionDisallowedMachineID.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionDisallowedMachineID.h
new file mode 100644
index 000000000..c2ea6be2e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionDisallowedMachineID.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBDispositionDisallowedMachineID : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionDuplicateMachineID.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionDuplicateMachineID.h
new file mode 100644
index 000000000..a6a2e6bc9
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionDuplicateMachineID.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBDispositionDuplicateMachineID : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionEntry.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionEntry.h
new file mode 100644
index 000000000..53bbe5d52
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBDispositionEntry.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBDispositionEntry : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerDynamicInfo.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerDynamicInfo.h
new file mode 100644
index 000000000..f701b328e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerDynamicInfo.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPeerDynamicInfo : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerPermanentInfo.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerPermanentInfo.h
new file mode 100644
index 000000000..20bf07a87
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerPermanentInfo.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPeerPermanentInfo : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerStableInfo.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerStableInfo.h
new file mode 100644
index 000000000..b9ac1c8ac
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPeerStableInfo.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPeerStableInfo : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyCategoriesByView.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyCategoriesByView.h
new file mode 100644
index 000000000..e51cf5695
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyCategoriesByView.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicyCategoriesByView : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyDocument.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyDocument.h
new file mode 100644
index 000000000..24ade4f1d
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyDocument.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicyDocument : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyIntroducersByCategory.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyIntroducersByCategory.h
new file mode 100644
index 000000000..b840310b2
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyIntroducersByCategory.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicyIntroducersByCategory : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyKeyViewMapping.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyKeyViewMapping.h
new file mode 100644
index 000000000..9be727164
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyKeyViewMapping.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicyKeyViewMapping : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyModelToCategory.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyModelToCategory.h
new file mode 100644
index 000000000..385f49260
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyModelToCategory.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicyModelToCategory : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyProhibits.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyProhibits.h
new file mode 100644
index 000000000..5d25a4436
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyProhibits.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicyProhibits : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyRedaction.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyRedaction.h
new file mode 100644
index 000000000..4b045b30a
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicyRedaction.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicyRedaction : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicySecret.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicySecret.h
new file mode 100644
index 000000000..bccc9b509
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBPolicySecret.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBPolicySecret : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBUnknownMachineID.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBUnknownMachineID.h
new file mode 100644
index 000000000..b7780a546
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBUnknownMachineID.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBUnknownMachineID : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBVoucher.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBVoucher.h
new file mode 100644
index 000000000..1dab15c0d
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPBVoucher.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPBVoucher : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeer.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeer.h
new file mode 100644
index 000000000..248ffd3b1
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeer.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPeer : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerDynamicInfo.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerDynamicInfo.h
new file mode 100644
index 000000000..5e4c1ca60
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerDynamicInfo.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPeerDynamicInfo : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerPermanentInfo.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerPermanentInfo.h
new file mode 100644
index 000000000..0c7e334d0
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerPermanentInfo.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPeerPermanentInfo : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerStableInfo.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerStableInfo.h
new file mode 100644
index 000000000..932e95707
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPeerStableInfo.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPeerStableInfo : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicy.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicy.h
new file mode 100644
index 000000000..de304f2d6
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicy.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPolicy : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicyDocument.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicyDocument.h
new file mode 100644
index 000000000..2d0f8b46a
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicyDocument.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPolicyDocument : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicyVersion.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicyVersion.h
new file mode 100644
index 000000000..3ea5e333e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPolicyVersion.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPPolicyVersion : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPublicKey.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPublicKey.h
new file mode 100644
index 000000000..a4c6f8bf6
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPublicKey.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@protocol TPPublicKey
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPublicKeyFactory.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPublicKeyFactory.h
new file mode 100644
index 000000000..4e71ed0e1
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPPublicKeyFactory.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@protocol TPPublicKeyFactory
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPRecoveryKeyPair.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPRecoveryKeyPair.h
new file mode 100644
index 000000000..2a0fcedb2
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPRecoveryKeyPair.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPRecoveryKeyPair : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPStringTable.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPStringTable.h
new file mode 100644
index 000000000..6d2c2f120
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPStringTable.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPStringTable : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPVoucher.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPVoucher.h
new file mode 100644
index 000000000..be2bea29a
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TPVoucher.h
@@ -0,0 +1,24 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#include
+
+@interface TPVoucher : NSObject
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/include/TrustedPeers/TrustedPeers.h b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TrustedPeers.h
new file mode 100644
index 000000000..3e23b5fca
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/include/TrustedPeers/TrustedPeers.h
@@ -0,0 +1,96 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#ifndef _TrustedPeers_H_
+#define _TrustedPeers_H_
+
+#import
+
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+
+void* TPMachineIDStatusToString(void);
+void* TPModelLog(void);
+void* TPPBAncientEpochReadFrom(void);
+void* TPPBDictionaryMatchingRuleFieldExistsReadFrom(void);
+void* TPPBDictionaryMatchingRuleFieldRegexMatchReadFrom(void);
+void* TPPBDictionaryMatchingRuleReadFrom(void);
+void* TPPBDispositionDisallowedMachineIDReadFrom(void);
+void* TPPBDispositionDuplicateMachineIDReadFrom(void);
+void* TPPBDispositionEntryReadFrom(void);
+void* TPPBDispositionReadFrom(void);
+void* TPPBPeerDynamicInfoReadFrom(void);
+void* TPPBPeerPermanentInfoReadFrom(void);
+void* TPPBPeerStableInfoReadFrom(void);
+void* TPPBPolicyCategoriesByViewReadFrom(void);
+void* TPPBPolicyDocumentReadFrom(void);
+void* TPPBPolicyIntroducersByCategoryReadFrom(void);
+void* TPPBPolicyKeyViewMappingReadFrom(void);
+void* TPPBPolicyModelToCategoryReadFrom(void);
+void* TPPBPolicyProhibitsReadFrom(void);
+void* TPPBPolicyRedactionReadFrom(void);
+void* TPPBPolicySecretReadFrom(void);
+void* TPPBUnknownMachineIDReadFrom(void);
+void* TPPBVoucherReadFrom(void);
+void* TPPeerStatusToString(void);
+void* checkTypesafeSignature(void);
+void* typesafeSignature(void);
+
+#endif
diff --git a/src/private-frameworks/TrustedPeers/src/TPCachedViableBottles.m b/src/private-frameworks/TrustedPeers/src/TPCachedViableBottles.m
new file mode 100644
index 000000000..aa5f5229e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPCachedViableBottles.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPCachedViableBottles
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPCategoryRule.m b/src/private-frameworks/TrustedPeers/src/TPCategoryRule.m
new file mode 100644
index 000000000..76dd6b04e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPCategoryRule.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPCategoryRule
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPDictionaryMatchingRule.m b/src/private-frameworks/TrustedPeers/src/TPDictionaryMatchingRule.m
new file mode 100644
index 000000000..0f898891e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPDictionaryMatchingRule.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPDictionaryMatchingRule
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPECPublicKeyFactory.m b/src/private-frameworks/TrustedPeers/src/TPECPublicKeyFactory.m
new file mode 100644
index 000000000..397062589
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPECPublicKeyFactory.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPECPublicKeyFactory
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPHashBuilder.m b/src/private-frameworks/TrustedPeers/src/TPHashBuilder.m
new file mode 100644
index 000000000..f4059024c
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPHashBuilder.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPHashBuilder
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPMachineID.m b/src/private-frameworks/TrustedPeers/src/TPMachineID.m
new file mode 100644
index 000000000..e5f0bdcbe
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPMachineID.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPMachineID
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPMachineIDList.m b/src/private-frameworks/TrustedPeers/src/TPMachineIDList.m
new file mode 100644
index 000000000..7baa03cd1
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPMachineIDList.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPMachineIDList
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPModel.m b/src/private-frameworks/TrustedPeers/src/TPModel.m
new file mode 100644
index 000000000..89755fda5
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPModel.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPModel
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBAncientEpoch.m b/src/private-frameworks/TrustedPeers/src/TPPBAncientEpoch.m
new file mode 100644
index 000000000..b7e35f13e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBAncientEpoch.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBAncientEpoch
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRule.m b/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRule.m
new file mode 100644
index 000000000..685aef440
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRule.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBDictionaryMatchingRule
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRuleFieldExists.m b/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRuleFieldExists.m
new file mode 100644
index 000000000..bdf56ecb1
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRuleFieldExists.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBDictionaryMatchingRuleFieldExists
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRuleFieldRegexMatch.m b/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRuleFieldRegexMatch.m
new file mode 100644
index 000000000..c3e8b8c9d
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBDictionaryMatchingRuleFieldRegexMatch.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBDictionaryMatchingRuleFieldRegexMatch
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBDisposition.m b/src/private-frameworks/TrustedPeers/src/TPPBDisposition.m
new file mode 100644
index 000000000..944c37f11
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBDisposition.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBDisposition
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBDispositionDisallowedMachineID.m b/src/private-frameworks/TrustedPeers/src/TPPBDispositionDisallowedMachineID.m
new file mode 100644
index 000000000..76be50566
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBDispositionDisallowedMachineID.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBDispositionDisallowedMachineID
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBDispositionDuplicateMachineID.m b/src/private-frameworks/TrustedPeers/src/TPPBDispositionDuplicateMachineID.m
new file mode 100644
index 000000000..126dbce8c
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBDispositionDuplicateMachineID.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBDispositionDuplicateMachineID
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBDispositionEntry.m b/src/private-frameworks/TrustedPeers/src/TPPBDispositionEntry.m
new file mode 100644
index 000000000..2ac313420
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBDispositionEntry.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBDispositionEntry
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPeerDynamicInfo.m b/src/private-frameworks/TrustedPeers/src/TPPBPeerDynamicInfo.m
new file mode 100644
index 000000000..2c7a03447
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPeerDynamicInfo.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPeerDynamicInfo
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPeerPermanentInfo.m b/src/private-frameworks/TrustedPeers/src/TPPBPeerPermanentInfo.m
new file mode 100644
index 000000000..362988c96
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPeerPermanentInfo.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPeerPermanentInfo
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPeerStableInfo.m b/src/private-frameworks/TrustedPeers/src/TPPBPeerStableInfo.m
new file mode 100644
index 000000000..017e6bb59
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPeerStableInfo.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPeerStableInfo
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicyCategoriesByView.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicyCategoriesByView.m
new file mode 100644
index 000000000..be3ebc2e5
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicyCategoriesByView.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicyCategoriesByView
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicyDocument.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicyDocument.m
new file mode 100644
index 000000000..e04a14c67
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicyDocument.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicyDocument
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicyIntroducersByCategory.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicyIntroducersByCategory.m
new file mode 100644
index 000000000..bd1fd9d28
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicyIntroducersByCategory.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicyIntroducersByCategory
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicyKeyViewMapping.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicyKeyViewMapping.m
new file mode 100644
index 000000000..da5ecad4c
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicyKeyViewMapping.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicyKeyViewMapping
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicyModelToCategory.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicyModelToCategory.m
new file mode 100644
index 000000000..31f7b8101
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicyModelToCategory.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicyModelToCategory
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicyProhibits.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicyProhibits.m
new file mode 100644
index 000000000..42a6abc84
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicyProhibits.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicyProhibits
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicyRedaction.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicyRedaction.m
new file mode 100644
index 000000000..9cd3f0a4f
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicyRedaction.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicyRedaction
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBPolicySecret.m b/src/private-frameworks/TrustedPeers/src/TPPBPolicySecret.m
new file mode 100644
index 000000000..6dcb1079f
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBPolicySecret.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBPolicySecret
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBUnknownMachineID.m b/src/private-frameworks/TrustedPeers/src/TPPBUnknownMachineID.m
new file mode 100644
index 000000000..698ed728a
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBUnknownMachineID.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBUnknownMachineID
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPBVoucher.m b/src/private-frameworks/TrustedPeers/src/TPPBVoucher.m
new file mode 100644
index 000000000..6b8411810
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPBVoucher.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPBVoucher
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPeer.m b/src/private-frameworks/TrustedPeers/src/TPPeer.m
new file mode 100644
index 000000000..ac0da0f7b
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPeer.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPeer
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPeerDynamicInfo.m b/src/private-frameworks/TrustedPeers/src/TPPeerDynamicInfo.m
new file mode 100644
index 000000000..e27262fbf
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPeerDynamicInfo.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPeerDynamicInfo
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPeerPermanentInfo.m b/src/private-frameworks/TrustedPeers/src/TPPeerPermanentInfo.m
new file mode 100644
index 000000000..634407944
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPeerPermanentInfo.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPeerPermanentInfo
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPeerStableInfo.m b/src/private-frameworks/TrustedPeers/src/TPPeerStableInfo.m
new file mode 100644
index 000000000..47c7a23d8
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPeerStableInfo.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPeerStableInfo
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPolicy.m b/src/private-frameworks/TrustedPeers/src/TPPolicy.m
new file mode 100644
index 000000000..794a0ec9e
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPolicy.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPolicy
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPolicyDocument.m b/src/private-frameworks/TrustedPeers/src/TPPolicyDocument.m
new file mode 100644
index 000000000..279d85064
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPolicyDocument.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPolicyDocument
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPPolicyVersion.m b/src/private-frameworks/TrustedPeers/src/TPPolicyVersion.m
new file mode 100644
index 000000000..a8b69eeed
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPPolicyVersion.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPPolicyVersion
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPRecoveryKeyPair.m b/src/private-frameworks/TrustedPeers/src/TPRecoveryKeyPair.m
new file mode 100644
index 000000000..df793046f
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPRecoveryKeyPair.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPRecoveryKeyPair
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPStringTable.m b/src/private-frameworks/TrustedPeers/src/TPStringTable.m
new file mode 100644
index 000000000..9d63d0c0a
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPStringTable.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPStringTable
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TPVoucher.m b/src/private-frameworks/TrustedPeers/src/TPVoucher.m
new file mode 100644
index 000000000..4dcd851c1
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TPVoucher.m
@@ -0,0 +1,34 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+#import
+
+@implementation TPVoucher
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
+{
+ return [NSMethodSignature signatureWithObjCTypes: "v@:"];
+}
+
+- (void)forwardInvocation:(NSInvocation *)anInvocation
+{
+ NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
+}
+
+@end
diff --git a/src/private-frameworks/TrustedPeers/src/TrustedPeers.m b/src/private-frameworks/TrustedPeers/src/TrustedPeers.m
new file mode 100644
index 000000000..4f3e43f44
--- /dev/null
+++ b/src/private-frameworks/TrustedPeers/src/TrustedPeers.m
@@ -0,0 +1,186 @@
+/*
+ This file is part of Darling.
+
+ Copyright (C) 2020 Lubos Dolezel
+
+ Darling is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Darling is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Darling. If not, see .
+*/
+
+
+#include
+#include
+#include
+
+static int verbose = 0;
+
+__attribute__((constructor))
+static void initme(void) {
+ verbose = getenv("STUB_VERBOSE") != NULL;
+}
+
+void* TPMachineIDStatusToString(void)
+{
+ if (verbose) puts("STUB: TPMachineIDStatusToString called");
+ return NULL;
+}
+
+void* TPModelLog(void)
+{
+ if (verbose) puts("STUB: TPModelLog called");
+ return NULL;
+}
+
+void* TPPBAncientEpochReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBAncientEpochReadFrom called");
+ return NULL;
+}
+
+void* TPPBDictionaryMatchingRuleFieldExistsReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBDictionaryMatchingRuleFieldExistsReadFrom called");
+ return NULL;
+}
+
+void* TPPBDictionaryMatchingRuleFieldRegexMatchReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBDictionaryMatchingRuleFieldRegexMatchReadFrom called");
+ return NULL;
+}
+
+void* TPPBDictionaryMatchingRuleReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBDictionaryMatchingRuleReadFrom called");
+ return NULL;
+}
+
+void* TPPBDispositionDisallowedMachineIDReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBDispositionDisallowedMachineIDReadFrom called");
+ return NULL;
+}
+
+void* TPPBDispositionDuplicateMachineIDReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBDispositionDuplicateMachineIDReadFrom called");
+ return NULL;
+}
+
+void* TPPBDispositionEntryReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBDispositionEntryReadFrom called");
+ return NULL;
+}
+
+void* TPPBDispositionReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBDispositionReadFrom called");
+ return NULL;
+}
+
+void* TPPBPeerDynamicInfoReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPeerDynamicInfoReadFrom called");
+ return NULL;
+}
+
+void* TPPBPeerPermanentInfoReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPeerPermanentInfoReadFrom called");
+ return NULL;
+}
+
+void* TPPBPeerStableInfoReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPeerStableInfoReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicyCategoriesByViewReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicyCategoriesByViewReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicyDocumentReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicyDocumentReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicyIntroducersByCategoryReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicyIntroducersByCategoryReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicyKeyViewMappingReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicyKeyViewMappingReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicyModelToCategoryReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicyModelToCategoryReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicyProhibitsReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicyProhibitsReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicyRedactionReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicyRedactionReadFrom called");
+ return NULL;
+}
+
+void* TPPBPolicySecretReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBPolicySecretReadFrom called");
+ return NULL;
+}
+
+void* TPPBUnknownMachineIDReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBUnknownMachineIDReadFrom called");
+ return NULL;
+}
+
+void* TPPBVoucherReadFrom(void)
+{
+ if (verbose) puts("STUB: TPPBVoucherReadFrom called");
+ return NULL;
+}
+
+void* TPPeerStatusToString(void)
+{
+ if (verbose) puts("STUB: TPPeerStatusToString called");
+ return NULL;
+}
+
+void* checkTypesafeSignature(void)
+{
+ if (verbose) puts("STUB: checkTypesafeSignature called");
+ return NULL;
+}
+
+void* typesafeSignature(void)
+{
+ if (verbose) puts("STUB: typesafeSignature called");
+ return NULL;
+}