1// 2// Copyright (c) ZeroC, Inc. All rights reserved. 3// 4 5#import <objc/Ice.h> 6#import <TestCommon.h> 7#import <OptionalTest.h> 8 9static int 10run(id<ICECommunicator> communicator) 11{ 12 id<TestOptionalInitialPrx> optionalAllTests(id<ICECommunicator>); 13 id<TestOptionalInitialPrx> optional = optionalAllTests(communicator); 14 [optional shutdown]; 15 return EXIT_SUCCESS; 16} 17 18#if TARGET_OS_IPHONE 19# define main optionalClient 20#endif 21 22int 23main(int argc, char* argv[]) 24{ 25#ifdef ICE_STATIC_LIBS 26 ICEregisterIceSSL(YES); 27 ICEregisterIceWS(YES); 28#if TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR 29 ICEregisterIceIAP(YES); 30#endif 31#endif 32 33 int status; 34 @autoreleasepool 35 { 36 id<ICECommunicator> communicator = nil; 37 @try 38 { 39 ICEInitializationData* initData = [ICEInitializationData initializationData]; 40 initData.properties = defaultClientProperties(&argc, argv); 41#if TARGET_OS_IPHONE 42 initData.prefixTable_ = [NSDictionary dictionaryWithObjectsAndKeys: 43 @"TestOptional", @"::Test", 44 nil]; 45#endif 46 communicator = [ICEUtil createCommunicator:&argc argv:argv initData:initData]; 47 status = run(communicator); 48 } 49 @catch(ICEException* ex) 50 { 51 tprintf("%@\n", ex); 52 status = EXIT_FAILURE; 53 } 54 @catch(TestFailedException* ex) 55 { 56 status = EXIT_FAILURE; 57 } 58 59 if(communicator) 60 { 61 [communicator destroy]; 62 } 63 } 64 return status; 65} 66