From 0f8f09e9b2bfbe7739bc861202f17f17887eb902 Mon Sep 17 00:00:00 2001 From: Joel Fischer Date: Tue, 24 May 2016 09:19:05 -0400 Subject: [PATCH] Make GCDAsyncSocket.h public --- .../CocoaAsyncSocketGCD/GCDAsyncSocket.h | 148 +++++++++--------- .../LivioHTTPServer.xcodeproj/project.pbxproj | 7 +- .../LivioHTTPServer/LivioHTTPServer.h | 3 + 3 files changed, 81 insertions(+), 77 deletions(-) diff --git a/LivioHTTPServer/CocoaAsyncSocketGCD/GCDAsyncSocket.h b/LivioHTTPServer/CocoaAsyncSocketGCD/GCDAsyncSocket.h index 1cabc5a5..67bb57c0 100755 --- a/LivioHTTPServer/CocoaAsyncSocketGCD/GCDAsyncSocket.h +++ b/LivioHTTPServer/CocoaAsyncSocketGCD/GCDAsyncSocket.h @@ -47,15 +47,15 @@ extern NSString *const GCDAsyncSocketSSLDiffieHellmanParameters; typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { - GCDAsyncSocketNoError = 0, // Never used - GCDAsyncSocketBadConfigError, // Invalid configuration - GCDAsyncSocketBadParamError, // Invalid parameter was passed - GCDAsyncSocketConnectTimeoutError, // A connect operation timed out - GCDAsyncSocketReadTimeoutError, // A read operation timed out - GCDAsyncSocketWriteTimeoutError, // A write operation timed out - GCDAsyncSocketReadMaxedOutError, // Reached set maxLength without completing - GCDAsyncSocketClosedError, // The remote peer closed the connection - GCDAsyncSocketOtherError, // Description provided in userInfo + GCDAsyncSocketNoError = 0, // Never used + GCDAsyncSocketBadConfigError, // Invalid configuration + GCDAsyncSocketBadParamError, // Invalid parameter was passed + GCDAsyncSocketConnectTimeoutError, // A connect operation timed out + GCDAsyncSocketReadTimeoutError, // A read operation timed out + GCDAsyncSocketWriteTimeoutError, // A write operation timed out + GCDAsyncSocketReadMaxedOutError, // Reached set maxLength without completing + GCDAsyncSocketClosedError, // The remote peer closed the connection + GCDAsyncSocketOtherError, // Description provided in userInfo }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -79,7 +79,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * then please see the discussion for the method markSocketQueueTargetQueue. * * The delegate queue and socket queue can optionally be the same. -**/ + **/ - (id)init; - (id)initWithSocketQueue:(dispatch_queue_t)sq; - (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq; @@ -100,7 +100,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { /** * If you are setting the delegate to nil within the delegate's dealloc method, * you may need to use the synchronous versions below. -**/ + **/ - (void)synchronouslySetDelegate:(id)delegate; - (void)synchronouslySetDelegateQueue:(dispatch_queue_t)delegateQueue; - (void)synchronouslySetDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue; @@ -116,7 +116,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * If a DNS lookup returns only IPv6 results, GCDAsyncSocket will automatically use IPv6. * If a DNS lookup returns both IPv4 and IPv6 results, the preferred protocol will be chosen. * By default, the preferred protocol is IPv4, but may be configured as desired. -**/ + **/ @property (atomic, assign, readwrite, getter=isIPv4Enabled) BOOL IPv4Enabled; @property (atomic, assign, readwrite, getter=isIPv6Enabled) BOOL IPv6Enabled; @@ -126,7 +126,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { /** * User data allows you to associate arbitrary information with the socket. * This data is not used internally by socket in any way. -**/ + **/ @property (atomic, strong, readwrite) id userData; #pragma mark Accepting @@ -137,7 +137,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * and the socket:didAcceptNewSocket: delegate method will be invoked. * * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc) -**/ + **/ - (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr; /** @@ -155,7 +155,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * or programmatically via the getifaddrs() function. * * To accept connections on any interface pass nil, or simply use the acceptOnPort:error: method. -**/ + **/ - (BOOL)acceptOnInterface:(NSString *)interface port:(uint16_t)port error:(NSError **)errPtr; /** @@ -174,14 +174,14 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: * and uses the default interface, and no timeout. -**/ + **/ - (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr; /** * Connects to the given host and port with an optional timeout. * * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: and uses the default interface. -**/ + **/ - (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port withTimeout:(NSTimeInterval)timeout @@ -218,7 +218,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. * Local ports do NOT need to match remote ports. In fact, they almost never do. * This feature is here for networking professionals using very advanced techniques. -**/ + **/ - (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port viaInterface:(NSString *)interface @@ -234,13 +234,13 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; * * This method invokes connectToAdd -**/ + **/ - (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr; /** * This method is the same as connectToAddress:error: with an additional timeout option. * To not time out use a negative time interval, or simply use the connectToAddress:error: method. -**/ + **/ - (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr; /** @@ -277,7 +277,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. * Local ports do NOT need to match remote ports. In fact, they almost never do. * This feature is here for networking professionals using very advanced techniques. -**/ + **/ - (BOOL)connectToAddress:(NSData *)remoteAddr viaInterface:(NSString *)interface withTimeout:(NSTimeInterval)timeout @@ -307,27 +307,27 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * [asyncSocket disconnect]; * [asyncSocket setDelegate:self]; * [asyncSocket connect...]; -**/ + **/ - (void)disconnect; /** * Disconnects after all pending reads have completed. * After calling this, the read and write methods will do nothing. * The socket will disconnect even if there are still pending writes. -**/ + **/ - (void)disconnectAfterReading; /** * Disconnects after all pending writes have completed. * After calling this, the read and write methods will do nothing. * The socket will disconnect even if there are still pending reads. -**/ + **/ - (void)disconnectAfterWriting; /** * Disconnects after all pending reads and writes have completed. * After calling this, the read and write methods will do nothing. -**/ + **/ - (void)disconnectAfterReadingAndWriting; #pragma mark Diagnostics @@ -339,14 +339,14 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * That is, it can used again for connecting or listening. * * If a socket is in the process of connecting, it may be neither disconnected nor connected. -**/ + **/ @property (atomic, readonly) BOOL isDisconnected; @property (atomic, readonly) BOOL isConnected; /** * Returns the local or remote host and port to which this socket is connected, or nil and 0 if not connected. * The host will be an IP address. -**/ + **/ @property (atomic, readonly) NSString *connectedHost; @property (atomic, readonly) uint16_t connectedPort; @property (atomic, readonly) NSURL *connectedUrl; @@ -362,14 +362,14 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * @seealso connectedPort * @seealso localHost * @seealso localPort -**/ + **/ @property (atomic, readonly) NSData *connectedAddress; @property (atomic, readonly) NSData *localAddress; /** * Returns whether the socket is IPv4 or IPv6. * An accepting socket may be both. -**/ + **/ @property (atomic, readonly) BOOL isIPv4; @property (atomic, readonly) BOOL isIPv6; @@ -377,7 +377,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * Returns whether or not the socket has been secured via SSL/TLS. * * See also the startTLS method. -**/ + **/ @property (atomic, readonly) BOOL isSecure; #pragma mark Reading @@ -399,7 +399,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * Reads the first available bytes that become available on the socket. * * If the timeout value is negative, the read operation will not use a timeout. -**/ + **/ - (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag; /** @@ -417,11 +417,11 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. * That is, it will reference the bytes that were appended to the given buffer via * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. -**/ + **/ - (void)readDataWithTimeout:(NSTimeInterval)timeout - buffer:(NSMutableData *)buffer - bufferOffset:(NSUInteger)offset - tag:(long)tag; + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag; /** * Reads the first available bytes that become available on the socket. @@ -440,7 +440,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. * That is, it will reference the bytes that were appended to the given buffer via * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. -**/ + **/ - (void)readDataWithTimeout:(NSTimeInterval)timeout buffer:(NSMutableData *)buffer bufferOffset:(NSUInteger)offset @@ -453,7 +453,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * If the timeout value is negative, the read operation will not use a timeout. * * If the length is 0, this method does nothing and the delegate is not called. -**/ + **/ - (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag; /** @@ -472,7 +472,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. * That is, it will reference the bytes that were appended to the given buffer via * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. -**/ + **/ - (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout buffer:(NSMutableData *)buffer @@ -499,7 +499,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The given data (separator) parameter should be immutable. * For performance reasons, the socket will retain it, not copy it. * So if it is immutable, don't modify it while the socket is using it. -**/ + **/ - (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; /** @@ -530,7 +530,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The given data (separator) parameter should be immutable. * For performance reasons, the socket will retain it, not copy it. * So if it is immutable, don't modify it while the socket is using it. -**/ + **/ - (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout buffer:(NSMutableData *)buffer @@ -564,7 +564,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The given data (separator) parameter should be immutable. * For performance reasons, the socket will retain it, not copy it. * So if it is immutable, don't modify it while the socket is using it. -**/ + **/ - (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag; /** @@ -602,7 +602,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The given data (separator) parameter should be immutable. * For performance reasons, the socket will retain it, not copy it. * So if it is immutable, don't modify it while the socket is using it. -**/ + **/ - (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout buffer:(NSMutableData *)buffer @@ -613,7 +613,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { /** * Returns progress of the current read, from 0.0 to 1.0, or NaN if no current read (use isnan() to check). * The parameters "tag", "done" and "total" will be filled in if they aren't NULL. -**/ + **/ - (float)progressOfReadReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr; #pragma mark Writing @@ -634,13 +634,13 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket * completes writing the bytes (which is NOT immediately after this method returns, but rather at a later time * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. -**/ + **/ - (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; /** * Returns progress of the current write, from 0.0 to 1.0, or NaN if no current write (use isnan() to check). * The parameters "tag", "done" and "total" will be filled in if they aren't NULL. -**/ + **/ - (float)progressOfWriteReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr; #pragma mark Security @@ -775,7 +775,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * should set the kCFStreamSSLPeerName property to "MySecureServer.com". * * You can also perform additional validation in socketDidSecure. -**/ + **/ - (void)startTLS:(NSDictionary *)tlsSettings; #pragma mark Advanced @@ -809,7 +809,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * and make use of the socketDidCloseReadStream delegate method. * * The default value is YES. -**/ + **/ @property (atomic, assign, readwrite) BOOL autoDisconnectOnClosedReadStream; /** @@ -883,7 +883,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue. * This is often NOT the case, as such queues are used solely for execution shaping. -**/ + **/ - (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue; - (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue; @@ -914,7 +914,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The given block will be invoked synchronously on the socket's internal queue. * * If you save references to any protected variables and use them outside the block, you do so at your own peril. -**/ + **/ - (void)performBlock:(dispatch_block_t)block; /** @@ -924,7 +924,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * Provides access to the socket's file descriptor(s). * If the socket is a server socket (is accepting incoming connections), * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6. -**/ + **/ - (int)socketFD; - (int)socket4FD; - (int)socket6FD; @@ -949,7 +949,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The faster and more powerful GCD API isn't notified properly in this case. * * See also: (BOOL)enableBackgroundingOnSocket -**/ + **/ - (CFReadStreamRef)readStream; - (CFWriteStreamRef)writeStream; @@ -977,7 +977,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * [asyncSocket enableBackgroundingOnSocket]; * }]; * } -**/ + **/ - (BOOL)enableBackgroundingOnSocket; #endif @@ -987,7 +987,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * See the documentation for the performBlock: method above. * * Provides access to the socket's SSLContext, if SSL/TLS has been started on the socket. -**/ + **/ - (SSLContextRef)sslContext; #pragma mark Utilities @@ -1002,12 +1002,12 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * A mutable array with all IPv4 and IPv6 addresses returned by getaddrinfo. * The addresses are specifically for TCP connections. * You can filter the addresses, if needed, using the other utility methods provided by the class. -**/ + **/ + (NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr; /** * Extracting host and port information from raw address data. -**/ + **/ + (NSString *)hostFromAddress:(NSData *)address; + (uint16_t)portFromAddress:(NSData *)address; @@ -1021,7 +1021,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { /** * A few common line separators, for use with the readDataToData:... methods. -**/ + **/ + (NSData *)CRLFData; // 0x0D0A + (NSData *)CRData; // 0x0D + (NSData *)LFData; // 0x0A @@ -1053,7 +1053,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * For example, your implementation might look something like this: * dispatch_retain(myExistingQueue); * return myExistingQueue; -**/ + **/ - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)sock; /** @@ -1065,13 +1065,13 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * * By default the new socket will have the same delegate and delegateQueue. * You may, of course, change this at any time. -**/ + **/ - (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket; /** * Called when a socket connects and is ready for reading and writing. * The host parameter will be an IP address, not a DNS name. -**/ + **/ - (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port; /** @@ -1083,25 +1083,25 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { /** * Called when a socket has completed reading the requested data into memory. * Not called if there is an error. -**/ + **/ - (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag; /** * Called when a socket has read in data, but has not yet completed the read. * This would occur if using readToData: or readToLength: methods. * It may be used to for things such as updating progress bars. -**/ + **/ - (void)socket:(GCDAsyncSocket *)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; /** * Called when a socket has completed writing the requested data. Not called if there is an error. -**/ + **/ - (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag; /** * Called when a socket has written some data, but has not yet completed the entire write. * It may be used to for things such as updating progress bars. -**/ + **/ - (void)socket:(GCDAsyncSocket *)sock didWritePartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; /** @@ -1114,10 +1114,10 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The length parameter is the number of bytes that have been read so far for the read operation. * * Note that this method may be called multiple times for a single read if you return positive numbers. -**/ + **/ - (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutReadWithTag:(long)tag - elapsed:(NSTimeInterval)elapsed - bytesDone:(NSUInteger)length; + elapsed:(NSTimeInterval)elapsed + bytesDone:(NSUInteger)length; /** * Called if a write operation has reached its timeout without completing. @@ -1129,17 +1129,17 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * The length parameter is the number of bytes that have been written so far for the write operation. * * Note that this method may be called multiple times for a single write if you return positive numbers. -**/ + **/ - (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutWriteWithTag:(long)tag - elapsed:(NSTimeInterval)elapsed - bytesDone:(NSUInteger)length; + elapsed:(NSTimeInterval)elapsed + bytesDone:(NSUInteger)length; /** * Conditionally called if the read stream closes, but the write stream may still be writeable. * * This delegate method is only called if autoDisconnectOnClosedReadStream has been set to NO. * See the discussion on the autoDisconnectOnClosedReadStream method for more information. -**/ + **/ - (void)socketDidCloseReadStream:(GCDAsyncSocket *)sock; /** @@ -1162,7 +1162,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * asyncSocket = nil; // I'm implicitly disconnecting the socket * * Of course, this depends on how your state machine is configured. -**/ + **/ - (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err; /** @@ -1171,7 +1171,7 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * * If a SSL/TLS negotiation fails (invalid certificate, etc) then the socket will immediately close, * and the socketDidDisconnect:withError: delegate method will be called with the specific SSL error code. -**/ + **/ - (void)socketDidSecure:(GCDAsyncSocket *)sock; /** @@ -1190,8 +1190,8 @@ typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { * Thus this method uses a completionHandler block rather than a normal return value. * The completionHandler block is thread-safe, and may be invoked from a background queue/thread. * It is safe to invoke the completionHandler block even if the socket has been closed. -**/ + **/ - (void)socket:(GCDAsyncSocket *)sock didReceiveTrust:(SecTrustRef)trust - completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler; +completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler; @end diff --git a/LivioHTTPServer/LivioHTTPServer.xcodeproj/project.pbxproj b/LivioHTTPServer/LivioHTTPServer.xcodeproj/project.pbxproj index 7d5272ec..170a2810 100644 --- a/LivioHTTPServer/LivioHTTPServer.xcodeproj/project.pbxproj +++ b/LivioHTTPServer/LivioHTTPServer.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 5D10E50A1BB0520200E9A728 /* LHSServerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D10E5091BB0520200E9A728 /* LHSServerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D1665101CEF5AE700CC4CA1 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650C1CEF5AE700CC4CA1 /* GCDAsyncSocket.h */; }; + 5D1665101CEF5AE700CC4CA1 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650C1CEF5AE700CC4CA1 /* GCDAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D1665111CEF5AE700CC4CA1 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D16650D1CEF5AE700CC4CA1 /* GCDAsyncSocket.m */; }; 5D1665121CEF5AE700CC4CA1 /* GCDAsyncUdpSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650E1CEF5AE700CC4CA1 /* GCDAsyncUdpSocket.h */; }; 5D1665131CEF5AE700CC4CA1 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D16650F1CEF5AE700CC4CA1 /* GCDAsyncUdpSocket.m */; }; - 5D1665141CEF5AF000CC4CA1 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650C1CEF5AE700CC4CA1 /* GCDAsyncSocket.h */; }; + 5D1665141CEF5AF000CC4CA1 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650C1CEF5AE700CC4CA1 /* GCDAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D1665161CEF5AFB00CC4CA1 /* GCDAsyncUdpSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650E1CEF5AE700CC4CA1 /* GCDAsyncUdpSocket.h */; }; 5D1665251CEF7F1A00CC4CA1 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D16650D1CEF5AE700CC4CA1 /* GCDAsyncSocket.m */; }; 5D1665261CEF7F1A00CC4CA1 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D16650F1CEF5AE700CC4CA1 /* GCDAsyncUdpSocket.m */; }; @@ -49,7 +49,7 @@ 5D1665461CEF7F6E00CC4CA1 /* LHSWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D48343A1A9E6A6D00252386 /* LHSWebSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D1665471CEF7F6E00CC4CA1 /* LHSConnectionConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D38109B1BA8927600B41AE3 /* LHSConnectionConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D1665481CEF7F6E00CC4CA1 /* LivioHTTPServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D4834471A9E6A8200252386 /* LivioHTTPServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D1665491CEF7F8900CC4CA1 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650C1CEF5AE700CC4CA1 /* GCDAsyncSocket.h */; }; + 5D1665491CEF7F8900CC4CA1 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650C1CEF5AE700CC4CA1 /* GCDAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D16654A1CEF7F8900CC4CA1 /* GCDAsyncUdpSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D16650E1CEF5AE700CC4CA1 /* GCDAsyncUdpSocket.h */; }; 5D16654B1CEF7F8900CC4CA1 /* NSData+LHSData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D4834011A9E6A3900252386 /* NSData+LHSData.h */; }; 5D16654C1CEF7F8900CC4CA1 /* NSNumber+LHSNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D4834031A9E6A3900252386 /* NSNumber+LHSNumber.h */; }; @@ -1098,6 +1098,7 @@ 5D1665241CEF7E9200CC4CA1 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 5D3CD6D11AA0F4B300987CC1 /* Build configuration list for PBXNativeTarget "LivioHTTPServer-Mac" */ = { isa = XCConfigurationList; diff --git a/LivioHTTPServer/LivioHTTPServer/LivioHTTPServer.h b/LivioHTTPServer/LivioHTTPServer/LivioHTTPServer.h index fb5f1fbe..6b9101c0 100644 --- a/LivioHTTPServer/LivioHTTPServer/LivioHTTPServer.h +++ b/LivioHTTPServer/LivioHTTPServer/LivioHTTPServer.h @@ -68,3 +68,6 @@ FOUNDATION_EXPORT const unsigned char LivioHTTPServerVersionString[]; #import #import #import + +// GCDAsyncSocket +#import