Changeset 5396

Show
Ignore:
Timestamp:
03/14/08 17:17:18 (4 months ago)
Author:
morris
Message:

Sync with new socket API

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredAdditions/trunk/WNSocket.h

    r5378 r5396  
    2929#import <openssl/ssl.h> 
    3030 
    31 @interface WNSocketContext : WIObject { 
    32         wi_socket_context_t                            *_context
     31@interface WNSocketTLS : WIObject { 
     32        wi_socket_tls_t                                *_tls
    3333} 
    3434 
    3535 
    36 + (WNSocketContext *)socketContextForClient; 
     36+ (WNSocketTLS *)socketTLSForClient; 
    3737 
    3838- (void)setSSLCiphers:(NSString *)iphers; 
     
    9797- (BOOL)waitWithTimeout:(NSTimeInterval)timeout; 
    9898 
    99 - (BOOL)connectWithContext:(WNSocketContext *)context timeout:(NSTimeInterval)timeout error:(WNError **)error; 
     99- (BOOL)connectWithTimeout:(NSTimeInterval)timeout error:(WNError **)error; 
     100- (BOOL)connectWithTLS:(WNSocketTLS *)tls timeout:(NSTimeInterval)timeout error:(WNError **)error; 
    100101- (void)close; 
    101102 
  • WiredAdditions/trunk/WNSocket.m

    r5378 r5396  
    3434 
    3535 
    36 @interface WNSocketContext(Private) 
    37  
    38 - (wi_socket_context_t *)_context
     36@interface WNSocketTLS(Private) 
     37 
     38- (wi_socket_tls_t *)_tls
    3939 
    4040@end 
    4141 
    4242 
    43 @implementation WNSocketContext(Private) 
    44  
    45 - (wi_socket_context_t *)_context
    46         return _context
     43@implementation WNSocketTLS(Private) 
     44 
     45- (wi_socket_tls_t *)_tls
     46        return _tls
    4747} 
    4848 
     
    5050 
    5151 
    52 @implementation WNSocketContext 
    53  
    54 + (WNSocketContext *)socketContextForClient { 
    55         WNSocketContext                *context
    56          
    57         context = [[self alloc] init]; 
    58  
    59         wi_socket_context_set_ssl_type(context->_context, WI_SOCKET_SSL_CLIENT); 
    60          
    61         return [context autorelease]; 
     52@implementation WNSocketTLS 
     53 
     54+ (WNSocketTLS *)socketTLSForClient { 
     55        WNSocketTLS            *tls
     56         
     57        tls = [[self alloc] init]; 
     58 
     59        wi_socket_tls_set_type(tls->_tls, WI_SOCKET_TLS_CLIENT); 
     60         
     61        return [tls autorelease]; 
    6262} 
    6363 
     
    7070         
    7171        pool = wi_pool_init(wi_pool_alloc()); 
    72         _context = wi_socket_context_init(wi_socket_context_alloc()); 
     72        _tls = wi_socket_tls_init(wi_socket_tls_alloc()); 
    7373        wi_release(pool); 
    7474         
     
    7979 
    8080- (void)dealloc { 
    81         wi_release(_context); 
     81        wi_release(_tls); 
    8282         
    8383        [super dealloc]; 
     
    9292         
    9393        pool = wi_pool_init(wi_pool_alloc()); 
    94         wi_socket_context_set_ssl_ciphers(_context, wi_string_with_cstring([ciphers UTF8String])); 
     94        wi_socket_tls_set_ciphers(_tls, wi_string_with_cstring([ciphers UTF8String])); 
    9595        wi_release(pool); 
    9696} 
     
    337337#pragma mark - 
    338338 
    339 - (BOOL)connectWithContext:(WNSocketContext *)context timeout:(NSTimeInterval)timeout error:(WNError **)error { 
     339- (BOOL)connectWithTimeout:(NSTimeInterval)timeout error:(WNError **)error { 
    340340        wi_pool_t               *pool; 
    341341        BOOL                    result = YES; 
     
    343343        pool = wi_pool_init(wi_pool_alloc()); 
    344344         
    345         wi_uuid(); 
    346          
    347         if(!wi_socket_connect(_socket, [context _context], timeout)) { 
     345        if(!wi_socket_connect(_socket, timeout)) { 
     346                if(error) { 
     347                        *error = [WNError errorWithDomain:WNWiredNetworkingErrorDomain 
     348                                                                                 code:WNSocketConnectFailed 
     349                                                                         userInfo:[NSDictionary dictionaryWithObjectsAndKeys: 
     350                                                                                 [WNError errorWithDomain:WNLibWiredErrorDomain],       WNLibWiredErrorKey, 
     351                                                                                 [_address string],                                                                     WIArgumentErrorKey, 
     352                                                                                 NULL]]; 
     353                } 
     354                 
     355                result = NO; 
     356        } 
     357         
     358        wi_release(pool); 
     359         
     360        return result; 
     361
     362 
     363 
     364 
     365- (BOOL)connectWithTLS:(WNSocketTLS *)tls timeout:(NSTimeInterval)timeout error:(WNError **)error { 
     366        wi_pool_t               *pool; 
     367        BOOL                    result = YES; 
     368         
     369        pool = wi_pool_init(wi_pool_alloc()); 
     370         
     371        if(!wi_socket_connect_tls(_socket, [tls _tls], timeout)) { 
    348372                if(error) { 
    349373                        *error = [WNError errorWithDomain:WNWiredNetworkingErrorDomain