diff --git a/ModernProto/ModernProto.xcodeproj/project.pbxproj b/ModernProto/ModernProto.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..af30126e1b --- /dev/null +++ b/ModernProto/ModernProto.xcodeproj/project.pbxproj @@ -0,0 +1,1162 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + D006CF8321A8CF6500FDCD32 /* ModernProto.h in Headers */ = {isa = PBXBuildFile; fileRef = D006CF8121A8CF6500FDCD32 /* ModernProto.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D006CF9021A8D00000FDCD32 /* ProtoSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CF8F21A8D00000FDCD32 /* ProtoSession.swift */; }; + D006CF9221A8D01900FDCD32 /* ProtoInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CF9121A8D01900FDCD32 /* ProtoInstance.swift */; }; + D006CF9521A8D02800FDCD32 /* SwiftSignalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D006CF9421A8D02800FDCD32 /* SwiftSignalKit.framework */; }; + D006CF9921A8D05500FDCD32 /* ProtoKeychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CF9821A8D05500FDCD32 /* ProtoKeychain.swift */; }; + D006CF9B21A8D06A00FDCD32 /* ProtoTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CF9A21A8D06A00FDCD32 /* ProtoTransport.swift */; }; + D006CF9D21A8D07700FDCD32 /* ProtoPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CF9C21A8D07700FDCD32 /* ProtoPath.swift */; }; + D006CFB521A8D4DC00FDCD32 /* ProtoTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CFB421A8D4DC00FDCD32 /* ProtoTarget.swift */; }; + D006CFB721A8D77900FDCD32 /* ProtoAuthInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CFB621A8D77900FDCD32 /* ProtoAuthInstance.swift */; }; + D006CFBB21A8D89500FDCD32 /* ProtoAuthData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CFBA21A8D89500FDCD32 /* ProtoAuthData.swift */; }; + D006CFBE21A8D99200FDCD32 /* ProtoSessionData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CFBD21A8D99200FDCD32 /* ProtoSessionData.swift */; }; + D006CFC021A8E11500FDCD32 /* ProtoTcpConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = D006CFBF21A8E11500FDCD32 /* ProtoTcpConnection.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + D006CF7E21A8CF6500FDCD32 /* ModernProto.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ModernProto.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D006CF8121A8CF6500FDCD32 /* ModernProto.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ModernProto.h; sourceTree = ""; }; + D006CF8221A8CF6500FDCD32 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D006CF8F21A8D00000FDCD32 /* ProtoSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoSession.swift; sourceTree = ""; }; + D006CF9121A8D01900FDCD32 /* ProtoInstance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoInstance.swift; sourceTree = ""; }; + D006CF9421A8D02800FDCD32 /* SwiftSignalKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftSignalKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D006CF9821A8D05500FDCD32 /* ProtoKeychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoKeychain.swift; sourceTree = ""; }; + D006CF9A21A8D06A00FDCD32 /* ProtoTransport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoTransport.swift; sourceTree = ""; }; + D006CF9C21A8D07700FDCD32 /* ProtoPath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoPath.swift; sourceTree = ""; }; + D006CFB421A8D4DC00FDCD32 /* ProtoTarget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoTarget.swift; sourceTree = ""; }; + D006CFB621A8D77900FDCD32 /* ProtoAuthInstance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoAuthInstance.swift; sourceTree = ""; }; + D006CFBA21A8D89500FDCD32 /* ProtoAuthData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoAuthData.swift; sourceTree = ""; }; + D006CFBD21A8D99200FDCD32 /* ProtoSessionData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoSessionData.swift; sourceTree = ""; }; + D006CFBF21A8E11500FDCD32 /* ProtoTcpConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProtoTcpConnection.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + D006CF7B21A8CF6500FDCD32 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D006CF9521A8D02800FDCD32 /* SwiftSignalKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + D006CF7421A8CF6500FDCD32 = { + isa = PBXGroup; + children = ( + D006CF8021A8CF6500FDCD32 /* ModernProto */, + D006CF7F21A8CF6500FDCD32 /* Products */, + D006CF9321A8D02800FDCD32 /* Frameworks */, + ); + sourceTree = ""; + }; + D006CF7F21A8CF6500FDCD32 /* Products */ = { + isa = PBXGroup; + children = ( + D006CF7E21A8CF6500FDCD32 /* ModernProto.framework */, + ); + name = Products; + sourceTree = ""; + }; + D006CF8021A8CF6500FDCD32 /* ModernProto */ = { + isa = PBXGroup; + children = ( + D006CF9621A8D03A00FDCD32 /* Session */, + D006CFB821A8D77C00FDCD32 /* Auth */, + D006CF9721A8D04100FDCD32 /* Instance */, + D006CF8121A8CF6500FDCD32 /* ModernProto.h */, + D006CF8221A8CF6500FDCD32 /* Info.plist */, + ); + path = ModernProto; + sourceTree = ""; + }; + D006CF9321A8D02800FDCD32 /* Frameworks */ = { + isa = PBXGroup; + children = ( + D006CF9421A8D02800FDCD32 /* SwiftSignalKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + D006CF9621A8D03A00FDCD32 /* Session */ = { + isa = PBXGroup; + children = ( + D006CF8F21A8D00000FDCD32 /* ProtoSession.swift */, + D006CF9821A8D05500FDCD32 /* ProtoKeychain.swift */, + D006CF9C21A8D07700FDCD32 /* ProtoPath.swift */, + D006CFB421A8D4DC00FDCD32 /* ProtoTarget.swift */, + ); + path = Session; + sourceTree = ""; + }; + D006CF9721A8D04100FDCD32 /* Instance */ = { + isa = PBXGroup; + children = ( + D006CF9121A8D01900FDCD32 /* ProtoInstance.swift */, + D006CFBD21A8D99200FDCD32 /* ProtoSessionData.swift */, + D006CF9A21A8D06A00FDCD32 /* ProtoTransport.swift */, + D006CFBF21A8E11500FDCD32 /* ProtoTcpConnection.swift */, + ); + path = Instance; + sourceTree = ""; + }; + D006CFB821A8D77C00FDCD32 /* Auth */ = { + isa = PBXGroup; + children = ( + D006CFBA21A8D89500FDCD32 /* ProtoAuthData.swift */, + D006CFB621A8D77900FDCD32 /* ProtoAuthInstance.swift */, + ); + name = Auth; + path = "New Group"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + D006CF7921A8CF6500FDCD32 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D006CF8321A8CF6500FDCD32 /* ModernProto.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + D006CF7D21A8CF6500FDCD32 /* ModernProto */ = { + isa = PBXNativeTarget; + buildConfigurationList = D006CF8621A8CF6500FDCD32 /* Build configuration list for PBXNativeTarget "ModernProto" */; + buildPhases = ( + D006CF7921A8CF6500FDCD32 /* Headers */, + D006CF7A21A8CF6500FDCD32 /* Sources */, + D006CF7B21A8CF6500FDCD32 /* Frameworks */, + D006CF7C21A8CF6500FDCD32 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ModernProto; + productName = ModernProto; + productReference = D006CF7E21A8CF6500FDCD32 /* ModernProto.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D006CF7521A8CF6500FDCD32 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1010; + ORGANIZATIONNAME = "Telegram LLP"; + TargetAttributes = { + D006CF7D21A8CF6500FDCD32 = { + CreatedOnToolsVersion = 10.1; + LastSwiftMigration = 1010; + }; + }; + }; + buildConfigurationList = D006CF7821A8CF6500FDCD32 /* Build configuration list for PBXProject "ModernProto" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = D006CF7421A8CF6500FDCD32; + productRefGroup = D006CF7F21A8CF6500FDCD32 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + D006CF7D21A8CF6500FDCD32 /* ModernProto */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + D006CF7C21A8CF6500FDCD32 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + D006CF7A21A8CF6500FDCD32 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D006CFBB21A8D89500FDCD32 /* ProtoAuthData.swift in Sources */, + D006CF9B21A8D06A00FDCD32 /* ProtoTransport.swift in Sources */, + D006CFBE21A8D99200FDCD32 /* ProtoSessionData.swift in Sources */, + D006CFB521A8D4DC00FDCD32 /* ProtoTarget.swift in Sources */, + D006CF9021A8D00000FDCD32 /* ProtoSession.swift in Sources */, + D006CF9D21A8D07700FDCD32 /* ProtoPath.swift in Sources */, + D006CFC021A8E11500FDCD32 /* ProtoTcpConnection.swift in Sources */, + D006CF9221A8D01900FDCD32 /* ProtoInstance.swift in Sources */, + D006CF9921A8D05500FDCD32 /* ProtoKeychain.swift in Sources */, + D006CFB721A8D77900FDCD32 /* ProtoAuthInstance.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + D006CF8421A8CF6500FDCD32 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D006CF8521A8CF6500FDCD32 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + D006CF8721A8CF6500FDCD32 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D006CF8821A8CF6500FDCD32 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + D006CFA221A8D2CF00FDCD32 /* Debug Hockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Debug Hockeyapp"; + }; + D006CFA321A8D2CF00FDCD32 /* Debug Hockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug Hockeyapp"; + }; + D006CFA421A8D2D300FDCD32 /* Debug Fork */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Debug Fork"; + }; + D006CFA521A8D2D300FDCD32 /* Debug Fork */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug Fork"; + }; + D006CFA621A8D2E200FDCD32 /* Debug AppStore */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Debug AppStore"; + }; + D006CFA721A8D2E200FDCD32 /* Debug AppStore */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug AppStore"; + }; + D006CFA821A8D2E500FDCD32 /* Debug AppStore LLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Debug AppStore LLC"; + }; + D006CFA921A8D2E500FDCD32 /* Debug AppStore LLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug AppStore LLC"; + }; + D006CFAA21A8D2F200FDCD32 /* Release Hockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Release Hockeyapp"; + }; + D006CFAB21A8D2F200FDCD32 /* Release Hockeyapp */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Release Hockeyapp"; + }; + D006CFAC21A8D2F700FDCD32 /* Release Hockeyapp Internal */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Release Hockeyapp Internal"; + }; + D006CFAD21A8D2F700FDCD32 /* Release Hockeyapp Internal */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Release Hockeyapp Internal"; + }; + D006CFAE21A8D30200FDCD32 /* Release AppStore */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Release AppStore"; + }; + D006CFAF21A8D30200FDCD32 /* Release AppStore */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Release AppStore"; + }; + D006CFB021A8D30800FDCD32 /* Release AppStore LLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = "Release AppStore LLC"; + }; + D006CFB121A8D30800FDCD32 /* Release AppStore LLC */ = { + isa = XCBuildConfiguration; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = ModernProto/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = org.telegram.ModernProto; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Release AppStore LLC"; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + D006CF7821A8CF6500FDCD32 /* Build configuration list for PBXProject "ModernProto" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D006CF8421A8CF6500FDCD32 /* Debug */, + D006CFA821A8D2E500FDCD32 /* Debug AppStore LLC */, + D006CFA621A8D2E200FDCD32 /* Debug AppStore */, + D006CFA421A8D2D300FDCD32 /* Debug Fork */, + D006CFA221A8D2CF00FDCD32 /* Debug Hockeyapp */, + D006CF8521A8CF6500FDCD32 /* Release */, + D006CFB021A8D30800FDCD32 /* Release AppStore LLC */, + D006CFAE21A8D30200FDCD32 /* Release AppStore */, + D006CFAC21A8D2F700FDCD32 /* Release Hockeyapp Internal */, + D006CFAA21A8D2F200FDCD32 /* Release Hockeyapp */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D006CF8621A8CF6500FDCD32 /* Build configuration list for PBXNativeTarget "ModernProto" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D006CF8721A8CF6500FDCD32 /* Debug */, + D006CFA921A8D2E500FDCD32 /* Debug AppStore LLC */, + D006CFA721A8D2E200FDCD32 /* Debug AppStore */, + D006CFA521A8D2D300FDCD32 /* Debug Fork */, + D006CFA321A8D2CF00FDCD32 /* Debug Hockeyapp */, + D006CF8821A8CF6500FDCD32 /* Release */, + D006CFB121A8D30800FDCD32 /* Release AppStore LLC */, + D006CFAF21A8D30200FDCD32 /* Release AppStore */, + D006CFAD21A8D2F700FDCD32 /* Release Hockeyapp Internal */, + D006CFAB21A8D2F200FDCD32 /* Release Hockeyapp */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D006CF7521A8CF6500FDCD32 /* Project object */; +} diff --git a/ModernProto/ModernProto.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ModernProto/ModernProto.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000000..bc8d96f220 --- /dev/null +++ b/ModernProto/ModernProto.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ModernProto/ModernProto.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ModernProto/ModernProto.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000000..18d981003d --- /dev/null +++ b/ModernProto/ModernProto.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ModernProto/ModernProto/Info.plist b/ModernProto/ModernProto/Info.plist new file mode 100644 index 0000000000..e1fe4cfb7b --- /dev/null +++ b/ModernProto/ModernProto/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + + diff --git a/ModernProto/ModernProto/Instance/ProtoInstance.swift b/ModernProto/ModernProto/Instance/ProtoInstance.swift new file mode 100644 index 0000000000..bbf1cef8f0 --- /dev/null +++ b/ModernProto/ModernProto/Instance/ProtoInstance.swift @@ -0,0 +1,22 @@ +import Foundation +import SwiftSignalKit + +private enum ProtoInstanceState { + case none +} + +private final class ProtoInstanceImpl { + private let target: ProtoTarget + + private var state: ProtoInstanceState + + init(target: ProtoTarget) { + self.target = target + + self.state = .none + } + + func update(sessionState: ProtoSessionState) { + + } +} diff --git a/ModernProto/ModernProto/Instance/ProtoSessionData.swift b/ModernProto/ModernProto/Instance/ProtoSessionData.swift new file mode 100644 index 0000000000..8a683600d9 --- /dev/null +++ b/ModernProto/ModernProto/Instance/ProtoSessionData.swift @@ -0,0 +1,5 @@ +import Foundation + +struct ProtoSessionData { + +} diff --git a/ModernProto/ModernProto/Instance/ProtoTcpConnection.swift b/ModernProto/ModernProto/Instance/ProtoTcpConnection.swift new file mode 100644 index 0000000000..3fee698d82 --- /dev/null +++ b/ModernProto/ModernProto/Instance/ProtoTcpConnection.swift @@ -0,0 +1,41 @@ +import Foundation + +@available(iOSApplicationExtension 9.0, *) +private final class ProtoTcpConnectionDelegate: NSObject, URLSessionDelegate, URLSessionStreamDelegate { + override init() { + super.init() + } + + func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { + + } + + func urlSession(_ session: URLSession, readClosedFor streamTask: URLSessionStreamTask) { + } + + func urlSession(_ session: URLSession, writeClosedFor streamTask: URLSessionStreamTask) { + } +} + +private func tcpReadTimeout(byteCount: Int) -> TimeInterval { + return 10.0 +} + +@available(iOSApplicationExtension 9.0, *) +final class ProtoTcpConnection { + let session: URLSession + let streamTask: URLSessionStreamTask + + init(host: String, port: Int32) { + let configuration = URLSessionConfiguration.ephemeral.copy() as! URLSessionConfiguration + if #available(iOSApplicationExtension 11.0, *) { + configuration.waitsForConnectivity = true + } + + self.session = URLSession(configuration: configuration, delegate: ProtoTcpConnectionDelegate(), delegateQueue: nil) + self.streamTask = self.session.streamTask(withHostName: host, port: Int(port)) + self.streamTask.readData(ofMinLength: 1, maxLength: 1, timeout: tcpReadTimeout(byteCount: 1), completionHandler: { data, eof, error in + + }) + } +} diff --git a/ModernProto/ModernProto/Instance/ProtoTransport.swift b/ModernProto/ModernProto/Instance/ProtoTransport.swift new file mode 100644 index 0000000000..409e54de3a --- /dev/null +++ b/ModernProto/ModernProto/Instance/ProtoTransport.swift @@ -0,0 +1,11 @@ +import Foundation + +struct ProtoTransportState { + var connected: Bool +} + +final class ProtoTransport { + func update(paths: [ProtoPath]) -> ProtoTransportState { + return ProtoTransportState(connected: false) + } +} diff --git a/ModernProto/ModernProto/ModernProto.h b/ModernProto/ModernProto/ModernProto.h new file mode 100644 index 0000000000..ac972da53e --- /dev/null +++ b/ModernProto/ModernProto/ModernProto.h @@ -0,0 +1,19 @@ +// +// ModernProto.h +// ModernProto +// +// Created by Peter on 11/24/18. +// Copyright © 2018 Telegram LLP. All rights reserved. +// + +#import + +//! Project version number for ModernProto. +FOUNDATION_EXPORT double ModernProtoVersionNumber; + +//! Project version string for ModernProto. +FOUNDATION_EXPORT const unsigned char ModernProtoVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/ModernProto/ModernProto/New Group/ProtoAuthData.swift b/ModernProto/ModernProto/New Group/ProtoAuthData.swift new file mode 100644 index 0000000000..b594912cf3 --- /dev/null +++ b/ModernProto/ModernProto/New Group/ProtoAuthData.swift @@ -0,0 +1,14 @@ +import Foundation + +struct ProtoAuthKey: Equatable { + let id: Int64 + let value: Data +} + +final class ProtoAuthData { + let key: ProtoAuthKey + + init(key: ProtoAuthKey) { + self.key = key + } +} diff --git a/ModernProto/ModernProto/New Group/ProtoAuthInstance.swift b/ModernProto/ModernProto/New Group/ProtoAuthInstance.swift new file mode 100644 index 0000000000..f23525ada2 --- /dev/null +++ b/ModernProto/ModernProto/New Group/ProtoAuthInstance.swift @@ -0,0 +1,22 @@ +import Foundation +import SwiftSignalKit + +private enum ProtoAuthInstanceState { + case none +} + +final class ProtoAuthInstance { + private let target: ProtoTarget + + private var state: ProtoAuthInstanceState + + init(target: ProtoTarget) { + self.target = target + + self.state = .none + } + + func update(sessionState: ProtoSessionState) { + + } +} diff --git a/ModernProto/ModernProto/Session/ProtoKeychain.swift b/ModernProto/ModernProto/Session/ProtoKeychain.swift new file mode 100644 index 0000000000..fbf287572c --- /dev/null +++ b/ModernProto/ModernProto/Session/ProtoKeychain.swift @@ -0,0 +1,2 @@ +import Foundation + diff --git a/ModernProto/ModernProto/Session/ProtoPath.swift b/ModernProto/ModernProto/Session/ProtoPath.swift new file mode 100644 index 0000000000..648013b48b --- /dev/null +++ b/ModernProto/ModernProto/Session/ProtoPath.swift @@ -0,0 +1,15 @@ +import Foundation + +public struct ProtoTcpPath: Equatable, Hashable { + let host: String + let port: Int32 + + public init(host: String, port: Int32) { + self.host = host + self.port = port + } +} + +public enum ProtoPath: Equatable, Hashable { + case tcp(ProtoTcpPath) +} diff --git a/ModernProto/ModernProto/Session/ProtoSession.swift b/ModernProto/ModernProto/Session/ProtoSession.swift new file mode 100644 index 0000000000..edb28ece33 --- /dev/null +++ b/ModernProto/ModernProto/Session/ProtoSession.swift @@ -0,0 +1,45 @@ +import Foundation +import SwiftSignalKit + +final class ProtoSessionState { + let authData: [ProtoTarget: ProtoAuthData] = [:] + let paths: [ProtoTarget: Set] = [:] +} + +private final class ProtoSessionImpl { + private let queue: Queue + private let configuration: ProtoSessionConfiguration + + init(queue: Queue, configuration: ProtoSessionConfiguration) { + self.queue = queue + self.configuration = configuration + } + + deinit { + assert(self.queue.isCurrent()) + } + + +} + +public struct ProtoSessionConfiguration { + public let seedPaths: [ProtoTarget: ProtoPath] + + public init(seedPaths: [ProtoTarget: ProtoPath]) { + self.seedPaths = seedPaths + } +} + +public final class ProtoSession { + private let queue = Queue() + private let impl: QueueLocalObject + + init(configuration: ProtoSessionConfiguration) { + let queue = self.queue + self.impl = QueueLocalObject(queue: queue, generate: { + return ProtoSessionImpl(queue: queue, configuration: configuration) + }) + } + + +} diff --git a/ModernProto/ModernProto/Session/ProtoTarget.swift b/ModernProto/ModernProto/Session/ProtoTarget.swift new file mode 100644 index 0000000000..9dc9ae6444 --- /dev/null +++ b/ModernProto/ModernProto/Session/ProtoTarget.swift @@ -0,0 +1,5 @@ +import Foundation + +public enum ProtoTarget: Equatable, Hashable { + case datacenter(Int) +} diff --git a/Telegram-iOS.xcodeproj/project.pbxproj b/Telegram-iOS.xcodeproj/project.pbxproj index 7435706d80..935f8b300d 100644 --- a/Telegram-iOS.xcodeproj/project.pbxproj +++ b/Telegram-iOS.xcodeproj/project.pbxproj @@ -214,6 +214,8 @@ 09D304392174344900C00567 /* TGBridgeMessageEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = 09C572F42172953500BDF00F /* TGBridgeMessageEntities.m */; }; 09FDAEE62140477F00BF856F /* MtProtoKitDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09FDAEE52140477F00BF856F /* MtProtoKitDynamic.framework */; }; D001D5AA1F878DA300DF975A /* PhoneCountries.txt in Resources */ = {isa = PBXBuildFile; fileRef = D001D5A91F878DA300DF975A /* PhoneCountries.txt */; }; + D006CF9F21A8D11B00FDCD32 /* ModernProto.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D006CF9E21A8D11B00FDCD32 /* ModernProto.framework */; }; + D006CFA021A8D11B00FDCD32 /* ModernProto.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D006CF9E21A8D11B00FDCD32 /* ModernProto.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D00859A21B28189D00EAF753 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D00859A11B28189D00EAF753 /* AppDelegate.swift */; }; D00859A91B28189D00EAF753 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D00859A81B28189D00EAF753 /* Images.xcassets */; }; D00859AC1B28189D00EAF753 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = D00859AA1B28189D00EAF753 /* LaunchScreen.xib */; }; @@ -512,6 +514,7 @@ D0B4AF901EC122A700D51FF6 /* TelegramUI.framework in Embed Frameworks */, D096C2C21CC3C104006D814E /* Postbox.framework in Embed Frameworks */, D096C2C51CC3C11A006D814E /* SwiftSignalKit.framework in Embed Frameworks */, + D006CFA021A8D11B00FDCD32 /* ModernProto.framework in Embed Frameworks */, D0CAF3191D763B230011F558 /* MtProtoKitDynamic.framework in Embed Frameworks */, ); name = "Embed Frameworks"; @@ -879,6 +882,8 @@ 09D304212174335F00C00567 /* WatchBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchBridge.swift; sourceTree = ""; }; 09FDAEE52140477F00BF856F /* MtProtoKitDynamic.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MtProtoKitDynamic.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D001D5A91F878DA300DF975A /* PhoneCountries.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PhoneCountries.txt; path = "Telegram-iOS/Resources/PhoneCountries.txt"; sourceTree = ""; }; + D006CF9E21A8D11B00FDCD32 /* ModernProto.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ModernProto.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D006CFA121A8D12600FDCD32 /* ModernProto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ModernProto.framework; path = "../../../Library/Developer/Xcode/DerivedData/Telegram-iOS-ffbqcdyqpehxdvcwhyaorlehrrdc/Build/Products/Debug Hockeyapp-iphoneos/ModernProto.framework"; sourceTree = ""; }; D008599C1B28189D00EAF753 /* Telegram X.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Telegram X.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D00859A01B28189D00EAF753 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D00859A11B28189D00EAF753 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -1170,6 +1175,7 @@ D0CD17B51CC3AE14007C5650 /* AsyncDisplayKit.framework in Frameworks */, D0D17E8A1CAAD66600C4750B /* Accelerate.framework in Frameworks */, D0F575132083B96B00F1C1E1 /* CloudKit.framework in Frameworks */, + D006CF9F21A8D11B00FDCD32 /* ModernProto.framework in Frameworks */, D0B4AF8F1EC122A700D51FF6 /* TelegramUI.framework in Frameworks */, D096C2BE1CC3C021006D814E /* Display.framework in Frameworks */, D055BD441B7E216400F06C0A /* MapKit.framework in Frameworks */, @@ -1868,6 +1874,7 @@ D00859931B28189D00EAF753 = { isa = PBXGroup; children = ( + D006CF9E21A8D11B00FDCD32 /* ModernProto.framework */, D023EBB31DDB2F0E00BD496D /* Resources */, D03B0E791D63484500955575 /* Share */, D0D268771D79A70A00C422DA /* SiriIntents */, @@ -1974,6 +1981,7 @@ D00859C21B281E0000EAF753 /* Frameworks */ = { isa = PBXGroup; children = ( + D006CFA121A8D12600FDCD32 /* ModernProto.framework */, 0972C6DF21791D950069E98A /* UserNotifications.framework */, 09C50E87217385CF009E676F /* WatchConnectivity.framework */, 09C50E852173854D009E676F /* WatchKit.framework */, diff --git a/Telegram-iOS.xcworkspace/contents.xcworkspacedata b/Telegram-iOS.xcworkspace/contents.xcworkspacedata index 3c72d64542..444b37d4a3 100644 --- a/Telegram-iOS.xcworkspace/contents.xcworkspacedata +++ b/Telegram-iOS.xcworkspace/contents.xcworkspacedata @@ -34,6 +34,9 @@ + + diff --git a/Telegram-iOS/en.lproj/Localizable.strings b/Telegram-iOS/en.lproj/Localizable.strings index a0f7a7babc..0baa329df5 100644 --- a/Telegram-iOS/en.lproj/Localizable.strings +++ b/Telegram-iOS/en.lproj/Localizable.strings @@ -1504,6 +1504,7 @@ "ReportPeer.ReasonSpam" = "Spam"; "ReportPeer.ReasonViolence" = "Violence"; "ReportPeer.ReasonPornography" = "Pornography"; +"ReportPeer.ReasonChildAbuse" = "Child Abuse"; "ReportPeer.ReasonOther" = "Other"; "ReportPeer.AlertSuccess" = "Thank you!\nYour report will be reviewed by our team very soon."; @@ -3526,6 +3527,15 @@ Unused sets are archived when you add more."; "Passcode.AppLockedAlert" = "Telegram\nLocked"; +"ChatList.ReadAll" = "Read All"; +"ChatList.Read" = "Read"; +"ChatList.DeleteConfirmation_1" = "Delete"; +"ChatList.DeleteConfirmation_2" = "Delete 2 Chats"; +"ChatList.DeleteConfirmation_3_10" = "Delete %@ Chats"; +"ChatList.DeleteConfirmation_any" = "Delete %@ Chats"; +"ChatList.DeleteConfirmation_many" = "Delete %@ Chats"; +"ChatList.DeleteConfirmation_0" = "Delete %@ Chats"; + "Username.TooManyPublicUsernamesError" = "Sorry, you have reserved too many public usernames."; "Group.Username.RevokeExistingUsernamesInfo" = "You can revoke the link from one of your older groups or channels, or create a private group instead."; "Channel.Username.RevokeExistingUsernamesInfo" = "You can revoke the link from one of your older groups or channels, or create a private channel instead.";