diff options
Diffstat (limited to 'pjsip-apps/src/ipjsua')
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/ConfigViewController.h | 22 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/ConfigViewController.m | 148 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/FirstViewController.h | 27 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/FirstViewController.m | 95 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/TabBarController.h | 16 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/TabBarController.m | 20 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h | 27 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m | 180 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/MainWindow.xib | 780 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/SecondView.xib | 501 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/config.cfg | 1 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/ipjsua-Info.plist | 32 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj | 408 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/ipjsua_Prefix.pch | 8 | ||||
-rw-r--r-- | pjsip-apps/src/ipjsua/main.m | 17 |
15 files changed, 2282 insertions, 0 deletions
diff --git a/pjsip-apps/src/ipjsua/Classes/ConfigViewController.h b/pjsip-apps/src/ipjsua/Classes/ConfigViewController.h new file mode 100644 index 00000000..6fa613a3 --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/ConfigViewController.h @@ -0,0 +1,22 @@ +// +// ConfigViewController.h +// ipjsua +// +// Created by Liong Sauw Ming on 3/25/10. +// Copyright 2010 Teluu Inc. (http://www.teluu.com). All rights reserved. +// + +#import <UIKit/UIKit.h> + + +@interface ConfigViewController : UIViewController { + IBOutlet UITextView *textView; + IBOutlet UIButton *button1; + IBOutlet UIButton *button2; +} + +@property (nonatomic, retain) IBOutlet UITextView *textView; +@property (nonatomic, retain) IBOutlet UIButton *button1; +@property (nonatomic, retain) IBOutlet UIButton *button2; + +@end diff --git a/pjsip-apps/src/ipjsua/Classes/ConfigViewController.m b/pjsip-apps/src/ipjsua/Classes/ConfigViewController.m new file mode 100644 index 00000000..7287e8c3 --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/ConfigViewController.m @@ -0,0 +1,148 @@ +// +// ConfigViewController.m +// ipjsua +// +// Created by Liong Sauw Ming on 3/25/10. +// Copyright 2010 Teluu Inc. (http://www.teluu.com). All rights reserved. +// + +#import "ConfigViewController.h" +#import "ipjsuaAppDelegate.h" + + +@implementation ConfigViewController +@synthesize textView; +@synthesize button1; +@synthesize button2; + +bool kshow = false; + +/* + // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { + // Custom initialization + } + return self; +} +*/ + +/* +// Implement loadView to create a view hierarchy programmatically, without using a nib. +- (void)loadView { +} +*/ + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + // Dismiss the keyboard when the view outside the text view is touched. + [textView resignFirstResponder]; + [super touchesBegan:touches withEvent:event]; +} + +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; + + [textView setFont:[UIFont fontWithName:@"Courier" size:10]]; + ipjsuaAppDelegate *appd = (ipjsuaAppDelegate *)[[UIApplication sharedApplication] delegate]; + appd.cfgView = self; + + /* Load config file and display it in the text view */ + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; + textView.text = [NSMutableString stringWithContentsOfFile:cfgPath encoding:NSASCIIStringEncoding error:NULL]; + + /* Add keyboard show/hide notifications so that we can resize the text view */ + kshow = false; + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + [nc addObserver:self selector:@selector(keyboardWillShow:) name: UIKeyboardWillShowNotification object:nil]; + [nc addObserver:self selector:@selector(keyboardWillHide:) name: UIKeyboardWillHideNotification object:nil]; + + /* Add button press event-handlers */ + [self.button1 addTarget:self action:@selector(button1Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown]; + [self.button2 addTarget:self action:@selector(button2Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown]; +} + +-(void) keyboardWillShow:(NSNotification *) note +{ + if (kshow) return; + + /* Shrink the text view area when the keyboard appears */ + [UIView beginAnimations:nil context:NULL]; + [UIView setAnimationDuration:0.3]; + CGRect r = self.textView.frame, t; + [[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &t]; + r.size.height -= t.size.height - 51; + self.textView.frame = r; + [UIView commitAnimations]; + kshow = true; + + [self.button1 setEnabled:true]; + [self.button1.titleLabel setEnabled:true]; + [self.button2 setEnabled:true]; + [self.button2.titleLabel setEnabled:true]; +} + +-(void) keyboardWillHide:(NSNotification *) note +{ + CGRect r = self.textView.frame, t; + [[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &t]; + r.size.height += t.size.height - 51; + self.textView.frame = r; + kshow = false; +} + +- (void)button1Pressed:(id)sender { + /* Save the config file */ + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; + [self.textView.text writeToFile:cfgPath atomically:NO encoding:NSASCIIStringEncoding error:NULL]; + + [self.textView resignFirstResponder]; + [self.button1 setEnabled:false]; + [self.button1.titleLabel setEnabled:false]; + [self.button2 setEnabled:false]; + [self.button2.titleLabel setEnabled:false]; +} + +- (void)button2Pressed:(id)sender { + /* Reload the config file */ + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; + self.textView.text = [NSMutableString stringWithContentsOfFile:cfgPath encoding:NSASCIIStringEncoding error:NULL]; + + [self.textView resignFirstResponder]; + [self.button1 setEnabled:false]; + [self.button1.titleLabel setEnabled:false]; + [self.button2 setEnabled:false]; + [self.button2.titleLabel setEnabled:false]; +} + +/* +// Override to allow orientations other than the default portrait orientation. +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return (interfaceOrientation == UIInterfaceOrientationPortrait); +} +*/ + +- (void)didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc that aren't in use. +} + +- (void)viewDidUnload { + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +- (void)dealloc { + [super dealloc]; +} + + +@end diff --git a/pjsip-apps/src/ipjsua/Classes/FirstViewController.h b/pjsip-apps/src/ipjsua/Classes/FirstViewController.h new file mode 100644 index 00000000..835fe4aa --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/FirstViewController.h @@ -0,0 +1,27 @@ +// +// FirstViewController.h +// ipjsua +// +// Created by Liong Sauw Ming on 3/23/10. +// Copyright Teluu Inc. (http://www.teluu.com) 2010. All rights reserved. +// + +#import <UIKit/UIKit.h> + + +@interface FirstViewController : UIViewController<UITextFieldDelegate> { + IBOutlet UITextField *textField; + IBOutlet UITextView *textView; + IBOutlet UIButton *button1; + + NSString *text; + bool hasInput; +} + +@property (nonatomic, retain) IBOutlet UITextField *textField; +@property (nonatomic, retain) IBOutlet UITextView *textView; +@property (nonatomic, retain) IBOutlet UIButton *button1; +@property (nonatomic, retain) NSString *text; +@property (nonatomic) bool hasInput; + +@end diff --git a/pjsip-apps/src/ipjsua/Classes/FirstViewController.m b/pjsip-apps/src/ipjsua/Classes/FirstViewController.m new file mode 100644 index 00000000..8cd37e8f --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/FirstViewController.m @@ -0,0 +1,95 @@ +// +// FirstViewController.m +// ipjsua +// +// Created by Liong Sauw Ming on 3/23/10. +// Copyright Teluu Inc. (http://www.teluu.com) 2010. All rights reserved. +// + +#import "FirstViewController.h" +#import "ipjsuaAppDelegate.h" + + +@implementation FirstViewController +@synthesize textField; +@synthesize textView; +@synthesize button1; +@synthesize text; +@synthesize hasInput; + +- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { + // When the user presses return, take focus away from the text field so that the keyboard is dismissed. + if (theTextField == textField) { + [self.textField resignFirstResponder]; + self.hasInput = true; + self.text = [textField.text stringByAppendingString:@"\n"]; + textField.text = @""; + } + return YES; +} + + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + // Dismiss the keyboard when the view outside the text field is touched. + [textField resignFirstResponder]; + [super touchesBegan:touches withEvent:event]; +} + +/* +// The designated initializer. Override to perform setup that is required before the view is loaded. +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { + // Custom initialization + } + return self; +} +*/ + +/* +// Implement loadView to create a view hierarchy programmatically, without using a nib. +- (void)loadView { +} +*/ + +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; + + ipjsuaAppDelegate *appd = (ipjsuaAppDelegate *)[[UIApplication sharedApplication] delegate]; + appd.mainView = self; + textField.delegate = self; + [self.textView setFont:[UIFont fontWithName:@"Courier New" size:8.9]]; + [self.textField setEnabled: false]; + [button1 addTarget:self action:@selector(button1Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown]; +} + +- (void)button1Pressed:(id)sender { + /* Clear the text view */ + self.textView.text = @""; +} + +// Override to allow orientations other than the default portrait orientation. +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); +} + +- (void)didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc that aren't in use. +} + +- (void)viewDidUnload { + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +- (void)dealloc { + [super dealloc]; +} + +@end diff --git a/pjsip-apps/src/ipjsua/Classes/TabBarController.h b/pjsip-apps/src/ipjsua/Classes/TabBarController.h new file mode 100644 index 00000000..90cb2244 --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/TabBarController.h @@ -0,0 +1,16 @@ +// +// TabBarController.h +// ipjsua +// +// Created by Liong Sauw Ming on 3/24/10. +// Copyright 2010 Teluu Inc. (http://www.teluu.com). All rights reserved. +// + +#import <UIKit/UIKit.h> + + +@interface TabBarController : UITabBarController { + +} + +@end diff --git a/pjsip-apps/src/ipjsua/Classes/TabBarController.m b/pjsip-apps/src/ipjsua/Classes/TabBarController.m new file mode 100644 index 00000000..c5dcaa5d --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/TabBarController.m @@ -0,0 +1,20 @@ +// +// TabBarController.m +// ipjsua +// +// Created by Liong Sauw Ming on 3/24/10. +// Copyright 2010 Teluu Inc. (http://www.teluu.com). All rights reserved. +// + +#import "TabBarController.h" + + +@implementation TabBarController + +// Override to allow orientations other than the default portrait orientation. +- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); +} + +@end diff --git a/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h b/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h new file mode 100644 index 00000000..2a230c9e --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h @@ -0,0 +1,27 @@ +// +// ipjsuaAppDelegate.h +// ipjsua +// +// Created by Liong Sauw Ming on 3/23/10. +// Copyright Teluu Inc. (http://www.teluu.com) 2010. All rights reserved. +// + +#import <UIKit/UIKit.h> +#import "ConfigViewController.h" +#import "FirstViewController.h" +#import "TabBarController.h" + +@interface ipjsuaAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> { + UIWindow *window; + ConfigViewController *cfgView; + FirstViewController *mainView; + TabBarController *tabBarController; +} + +@property (nonatomic, retain) IBOutlet UIWindow *window; +@property (nonatomic, retain) IBOutlet TabBarController *tabBarController; +@property (nonatomic, retain) IBOutlet ConfigViewController *cfgView; +@property (nonatomic, retain) FirstViewController *mainView; + + +@end diff --git a/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m b/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m new file mode 100644 index 00000000..7c1b4c7a --- /dev/null +++ b/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m @@ -0,0 +1,180 @@ +// +// ipjsuaAppDelegate.m +// ipjsua +// +// Created by Liong Sauw Ming on 3/23/10. +// Copyright Teluu Inc. (http://www.teluu.com) 2010. All rights reserved. +// + +#import <pjlib.h> +#import "ipjsuaAppDelegate.h" + +extern pj_log_func *log_cb; + +@implementation ipjsuaAppDelegate +@synthesize window; +@synthesize tabBarController; +@synthesize mainView; +@synthesize cfgView; + +/* Sleep interval duration */ +#define SLEEP_INTERVAL 0.5 +/* Determine whether we should print the messages in the debugger + * console as well + */ +#define DEBUGGER_PRINT 1 +/* Whether we should show pj log messages in the text area */ +#define SHOW_LOG 1 +#define PATH_LENGTH 128 + +extern pj_bool_t app_restart; + +char argv_buf[PATH_LENGTH]; +char *argv[] = {"", "--config-file", argv_buf}; + +ipjsuaAppDelegate *app; + +bool app_running; +bool thread_quit; +NSMutableString *mstr; + +pj_status_t app_init(int argc, char *argv[]); +pj_status_t app_main(void); +pj_status_t app_destroy(void); + +void showMsg(const char *format, ...) +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + va_list arg; + + va_start(arg, format); + NSString *str = [[NSString alloc] initWithFormat:[NSString stringWithFormat:@"%s", format] arguments: arg]; +#if DEBUGGER_PRINT + NSLog(str); +#endif + va_end(arg); + + [mstr appendString:str]; + [pool release]; +} + +char * getInput(char *s, int n, FILE *stream) +{ + if (stream != stdin) { + return fgets(s, n, stream); + } + + app.mainView.hasInput = false; + [app.mainView.textField setEnabled: true]; + [app performSelectorOnMainThread:@selector(displayMsg:) withObject:mstr waitUntilDone:YES]; + [mstr setString:@""]; + + while (!thread_quit && !app.mainView.hasInput) { + int ctr = 0; + [NSThread sleepForTimeInterval:SLEEP_INTERVAL]; + if (ctr == 4) { + [app performSelectorOnMainThread:@selector(displayMsg:) withObject:mstr waitUntilDone:YES]; + [mstr setString:@""]; + ctr = 0; + } + ctr++; + } + + [app.mainView.text getCString:s maxLength:n encoding:NSASCIIStringEncoding]; + [app.mainView.textField setEnabled: false]; + [app performSelectorOnMainThread:@selector(displayMsg:) withObject:app.mainView.text waitUntilDone:NO]; + + return s; +} + +void showLog(int level, const char *data, int len) +{ + showMsg("%s", data); +} + +- (void)start_app { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + /* Wait until the view is ready */ + while (self.mainView == nil) { + [NSThread sleepForTimeInterval:SLEEP_INTERVAL]; + } + + [NSThread setThreadPriority:1.0]; + mstr = [NSMutableString stringWithCapacity:4196]; +#if SHOW_LOG + pj_log_set_log_func(&showLog); + log_cb = &showLog; +#endif + + do { + app_restart = PJ_FALSE; + if (app_init(3, argv) != PJ_SUCCESS) { + NSString *str = @"Failed to initialize pjsua\n"; + [app performSelectorOnMainThread:@selector(displayMsg:) withObject:str waitUntilDone:YES]; + } else { + app_running = true; + app_main(); + + app_destroy(); + /* This is on purpose */ + app_destroy(); + } + + [app performSelectorOnMainThread:@selector(displayMsg:) withObject:mstr waitUntilDone:YES]; + [mstr setString:@""]; + } while (app_restart); + + [pool release]; +} + +- (void)displayMsg:(NSString *)str { + self.mainView.textView.text = [self.mainView.textView.text stringByAppendingString:str]; + [self.mainView.textView scrollRangeToVisible:NSMakeRange([self.mainView.textView.text length] - 1, 1)]; +} + +- (void)applicationDidFinishLaunching:(UIApplication *)application { + /* If there is no config file in the document dir, copy the default config file into the directory */ + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; + if (![[NSFileManager defaultManager] fileExistsAtPath:cfgPath]) { + NSString *resPath = [[NSBundle mainBundle] pathForResource:@"config" ofType:@"cfg"]; + NSString *cfg = [NSString stringWithContentsOfFile:resPath encoding:NSASCIIStringEncoding error:NULL]; + [cfg writeToFile:cfgPath atomically:NO encoding:NSASCIIStringEncoding error:NULL]; + } + [cfgPath getCString:argv[2] maxLength:PATH_LENGTH encoding:NSASCIIStringEncoding]; + + // Add the tab bar controller's current view as a subview of the window + [window addSubview:tabBarController.view]; + [window makeKeyAndVisible]; + + app = self; + app_running = false; + thread_quit = false; + /* Start pjsua thread */ + [NSThread detachNewThreadSelector:@selector(start_app) toTarget:self withObject:nil]; +} + +/* +// Optional UITabBarControllerDelegate method +- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { +} +*/ + +/* +// Optional UITabBarControllerDelegate method +- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed { +} +*/ + + +- (void)dealloc { + thread_quit = true; + [NSThread sleepForTimeInterval:SLEEP_INTERVAL]; + + [tabBarController release]; + [window release]; + [super dealloc]; +} + +@end + diff --git a/pjsip-apps/src/ipjsua/MainWindow.xib b/pjsip-apps/src/ipjsua/MainWindow.xib new file mode 100644 index 00000000..dfdc90fa --- /dev/null +++ b/pjsip-apps/src/ipjsua/MainWindow.xib @@ -0,0 +1,780 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10"> + <data> + <int key="IBDocument.SystemTarget">784</int> + <string key="IBDocument.SystemVersion">10C540</string> + <string key="IBDocument.InterfaceBuilderVersion">740</string> + <string key="IBDocument.AppKitVersion">1038.25</string> + <string key="IBDocument.HIToolboxVersion">458.00</string> + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> + <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="NS.object.0">62</string> + </object> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="106"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys" id="0"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBProxyObject" id="841351856"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + </object> + <object class="IBProxyObject" id="532797962"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + </object> + <object class="IBUICustomObject" id="664661524"/> + <object class="IBUIWindow" id="380026005"> + <nil key="NSNextResponder"/> + <int key="NSvFlags">1316</int> + <object class="NSPSMatrix" key="NSFrameMatrix"/> + <string key="NSFrameSize">{320, 480}</string> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEAA</bytes> + </object> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> + <bool key="IBUIVisibleAtLaunch">YES</bool> + </object> + <object class="IBUITabBarController" id="1034742383"> + <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/> + <object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics"> + <int key="IBUIBarStyle">2</int> + <bool key="IBUIPrompted">NO</bool> + </object> + <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"> + <int key="IBUIStatusBarStyle">2</int> + </object> + <bool key="IBUIHorizontal">YES</bool> + <object class="IBUIViewController" key="IBUISelectedViewController" id="1024858337"> + <object class="IBUIView" key="IBUIView" id="434903890"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">274</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBUITextView" id="876077251"> + <reference key="NSNextResponder" ref="434903890"/> + <int key="NSvFlags">306</int> + <string key="NSFrame">{{0, 34}, {480, 217}}</string> + <reference key="NSSuperview" ref="434903890"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC45ODE5Mjc3MTA4IDAuOTYzODU1NDIxNyAxIDAAA</bytes> + </object> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <bool key="IBUIMultipleTouchEnabled">YES</bool> + <bool key="IBUIDelaysContentTouches">NO</bool> + <bool key="IBUICanCancelContentTouches">NO</bool> + <float key="IBUIMinimumZoomScale">0.0</float> + <float key="IBUIMaximumZoomScale">0.0</float> + <bool key="IBUIBouncesZoom">NO</bool> + <bool key="IBUIEditable">NO</bool> + <string key="IBUIText"/> + <object class="IBUITextInputTraits" key="IBUITextInputTraits"/> + </object> + <object class="IBUITextField" id="625972407"> + <reference key="NSNextResponder" ref="434903890"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{7, 0}, {323, 31}}</string> + <reference key="NSSuperview" ref="434903890"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentVerticalAlignment">0</int> + <string key="IBUIText"/> + <int key="IBUIBorderStyle">3</int> + <string key="IBUIPlaceholder">Insert command here</string> + <object class="NSColor" key="IBUITextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + <object class="NSColorSpace" key="NSCustomColorSpace"> + <int key="NSID">2</int> + </object> + </object> + <bool key="IBUIAdjustsFontSizeToFit">YES</bool> + <float key="IBUIMinimumFontSize">17</float> + <object class="IBUITextInputTraits" key="IBUITextInputTraits"> + <int key="IBUIAutocorrectionType">1</int> + <int key="IBUIKeyboardType">1</int> + <int key="IBUIReturnKeyType">1</int> + </object> + <int key="IBUIClearButtonMode">1</int> + </object> + <object class="IBUIButton" id="808516100"> + <reference key="NSNextResponder" ref="434903890"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{351, 0}, {90, 32}}</string> + <reference key="NSSuperview" ref="434903890"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentHorizontalAlignment">0</int> + <int key="IBUIContentVerticalAlignment">0</int> + <object class="NSFont" key="IBUIFont"> + <string key="NSName">Helvetica-Bold</string> + <double key="NSSize">15</double> + <int key="NSfFlags">16</int> + </object> + <int key="IBUIButtonType">1</int> + <string key="IBUINormalTitle">Clear view</string> + <object class="NSColor" key="IBUIHighlightedTitleColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + <object class="NSColor" key="IBUINormalTitleColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> + </object> + <object class="NSColor" key="IBUINormalTitleShadowColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC41AA</bytes> + </object> + </object> + </object> + <string key="NSFrameSize">{480, 251}</string> + <reference key="NSSuperview"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC42NDQxOTgyNzA4IDAuNzgwNDMyODUxOSAwLjg2NDEzMDQzNDgAA</bytes> + </object> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + </object> + <object class="IBUITabBarItem" key="IBUITabBarItem" id="765670903"> + <string key="IBUITitle">ipjsua</string> + <reference key="IBUITabBar"/> + </object> + <reference key="IBUIParentViewController" ref="1034742383"/> + </object> + <object class="NSMutableArray" key="IBUIViewControllers"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1024858337"/> + <object class="IBUIViewController" id="268481961"> + <object class="IBUITabBarItem" key="IBUITabBarItem" id="807309489"> + <string key="IBUITitle">Config</string> + <reference key="IBUITabBar"/> + </object> + <reference key="IBUIParentViewController" ref="1034742383"/> + <string key="IBUINibName">SecondView</string> + </object> + </object> + <object class="IBUITabBar" key="IBUITabBar" id="795333663"> + <nil key="NSNextResponder"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{129, 330}, {163, 49}}</string> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwAA</bytes> + </object> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + </object> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">window</string> + <reference key="source" ref="664661524"/> + <reference key="destination" ref="380026005"/> + </object> + <int key="connectionID">9</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="841351856"/> + <reference key="destination" ref="664661524"/> + </object> + <int key="connectionID">99</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">tabBarController</string> + <reference key="source" ref="664661524"/> + <reference key="destination" ref="1034742383"/> + </object> + <int key="connectionID">113</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">textField</string> + <reference key="source" ref="1024858337"/> + <reference key="destination" ref="625972407"/> + </object> + <int key="connectionID">129</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">textView</string> + <reference key="source" ref="1024858337"/> + <reference key="destination" ref="876077251"/> + </object> + <int key="connectionID">135</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">delegate</string> + <reference key="source" ref="1034742383"/> + <reference key="destination" ref="664661524"/> + </object> + <int key="connectionID">136</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">button1</string> + <reference key="source" ref="1024858337"/> + <reference key="destination" ref="808516100"/> + </object> + <int key="connectionID">140</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <reference key="object" ref="0"/> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">2</int> + <reference key="object" ref="380026005"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="841351856"/> + <reference key="parent" ref="0"/> + <string key="objectName">File's Owner</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">3</int> + <reference key="object" ref="664661524"/> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">106</int> + <reference key="object" ref="1034742383"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="795333663"/> + <reference ref="1024858337"/> + <reference ref="268481961"/> + </object> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">107</int> + <reference key="object" ref="795333663"/> + <reference key="parent" ref="1034742383"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">108</int> + <reference key="object" ref="1024858337"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="765670903"/> + <reference ref="434903890"/> + </object> + <reference key="parent" ref="1034742383"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">109</int> + <reference key="object" ref="268481961"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="807309489"/> + </object> + <reference key="parent" ref="1034742383"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">110</int> + <reference key="object" ref="807309489"/> + <reference key="parent" ref="268481961"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">111</int> + <reference key="object" ref="765670903"/> + <reference key="parent" ref="1024858337"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="532797962"/> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">119</int> + <reference key="object" ref="434903890"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="625972407"/> + <reference ref="876077251"/> + <reference ref="808516100"/> + </object> + <reference key="parent" ref="1024858337"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">123</int> + <reference key="object" ref="876077251"/> + <reference key="parent" ref="434903890"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">126</int> + <reference key="object" ref="625972407"/> + <reference key="parent" ref="434903890"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">139</int> + <reference key="object" ref="808516100"/> + <reference key="parent" ref="434903890"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.CustomClassName</string> + <string>-2.CustomClassName</string> + <string>106.CustomClassName</string> + <string>106.IBEditorWindowLastContentRect</string> + <string>106.IBPluginDependency</string> + <string>107.IBPluginDependency</string> + <string>108.CustomClassName</string> + <string>108.IBPluginDependency</string> + <string>109.CustomClassName</string> + <string>109.IBPluginDependency</string> + <string>110.IBPluginDependency</string> + <string>111.IBPluginDependency</string> + <string>119.IBPluginDependency</string> + <string>123.IBPluginDependency</string> + <string>126.IBPluginDependency</string> + <string>139.IBPluginDependency</string> + <string>2.IBAttributePlaceholdersKey</string> + <string>2.IBEditorWindowLastContentRect</string> + <string>2.IBPluginDependency</string> + <string>3.CustomClassName</string> + <string>3.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>UIApplication</string> + <string>UIResponder</string> + <string>TabBarController</string> + <string>{{702, 231}, {480, 320}}</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>FirstViewController</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>ConfigViewController</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <object class="NSMutableDictionary"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference key="dict.sortedKeys" ref="0"/> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <string>{{229, 373}, {320, 480}}</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>ipjsuaAppDelegate</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference key="dict.sortedKeys" ref="0"/> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference key="dict.sortedKeys" ref="0"/> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">140</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">ConfigViewController</string> + <string key="superclassName">UIViewController</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>button1</string> + <string>button2</string> + <string>textView</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>UIButton</string> + <string>UIButton</string> + <string>UITextView</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/ConfigViewController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">FirstViewController</string> + <string key="superclassName">UIViewController</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>button1</string> + <string>textField</string> + <string>textView</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>UIButton</string> + <string>UITextField</string> + <string>UITextView</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/FirstViewController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">TabBarController</string> + <string key="superclassName">UITabBarController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/TabBarController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">ipjsuaAppDelegate</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>cfgView</string> + <string>tabBarController</string> + <string>window</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>ConfigViewController</string> + <string>TabBarController</string> + <string>UIWindow</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/ipjsuaAppDelegate.h</string> + </object> + </object> + </object> + <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSError.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSPort.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSStream.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="539560514"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIApplication</string> + <string key="superclassName">UIResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIBarItem</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIButton</string> + <string key="superclassName">UIControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIButton.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIControl</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIControl.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIResponder</string> + <string key="superclassName">NSObject</string> + <reference key="sourceIdentifier" ref="539560514"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIScrollView</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UISearchBar</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UISearchDisplayController</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UITabBar</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITabBar.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UITabBarController</string> + <string key="superclassName">UIViewController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="53818940"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UITabBarItem</string> + <string key="superclassName">UIBarItem</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITabBarItem.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UITextField</string> + <string key="superclassName">UIControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1015289008"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITextField.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UITextView</string> + <string key="superclassName">UIScrollView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITextView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIView</string> + <reference key="sourceIdentifier" ref="1015289008"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIView</string> + <string key="superclassName">UIResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIViewController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIViewController</string> + <reference key="sourceIdentifier" ref="53818940"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIViewController</string> + <string key="superclassName">UIResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIWindow</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string> + </object> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> + <integer value="3100" key="NS.object.0"/> + </object> + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> + <string key="IBDocument.LastKnownRelativeProjectPath">ipjsua.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + <string key="IBCocoaTouchPluginVersion">3.1</string> + </data> +</archive> diff --git a/pjsip-apps/src/ipjsua/SecondView.xib b/pjsip-apps/src/ipjsua/SecondView.xib new file mode 100644 index 00000000..dc43b74a --- /dev/null +++ b/pjsip-apps/src/ipjsua/SecondView.xib @@ -0,0 +1,501 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10"> + <data> + <int key="IBDocument.SystemTarget">784</int> + <string key="IBDocument.SystemVersion">10C540</string> + <string key="IBDocument.InterfaceBuilderVersion">740</string> + <string key="IBDocument.AppKitVersion">1038.25</string> + <string key="IBDocument.HIToolboxVersion">458.00</string> + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> + <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="NS.object.0">62</string> + </object> + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> + <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="1"/> + </object> + <object class="NSArray" key="IBDocument.PluginDependencies"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys" id="0"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBProxyObject" id="372490531"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + </object> + <object class="IBProxyObject" id="263589821"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + </object> + <object class="IBUIView" id="191373211"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">274</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBUITextView" id="255779567"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">306</int> + <string key="NSFrameSize">{375, 251}</string> + <reference key="NSSuperview" ref="191373211"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAwLjkzNzA0OTE0MTggMC45NDg5MTUzMDc3AA</bytes> + </object> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <bool key="IBUIMultipleTouchEnabled">YES</bool> + <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool> + <bool key="IBUIDelaysContentTouches">NO</bool> + <bool key="IBUICanCancelContentTouches">NO</bool> + <float key="IBUIMinimumZoomScale">0.0</float> + <float key="IBUIMaximumZoomScale">0.0</float> + <bool key="IBUIBouncesZoom">NO</bool> + <string key="IBUIText">Config</string> + <object class="IBUITextInputTraits" key="IBUITextInputTraits"> + <int key="IBUIAutocorrectionType">1</int> + <int key="IBUIKeyboardType">1</int> + </object> + </object> + <object class="IBUIButton" id="11217163"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{376, 6}, {104, 37}}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentHorizontalAlignment">0</int> + <int key="IBUIContentVerticalAlignment">0</int> + <object class="NSFont" key="IBUIFont" id="1008892202"> + <string key="NSName">Helvetica-Bold</string> + <double key="NSSize">15</double> + <int key="NSfFlags">16</int> + </object> + <int key="IBUIButtonType">1</int> + <string key="IBUINormalTitle">Save</string> + <object class="NSColor" key="IBUIHighlightedTitleColor" id="700997684"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + <object class="NSColor" key="IBUINormalTitleColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> + </object> + <object class="NSColor" key="IBUINormalTitleShadowColor" id="201718988"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC41AA</bytes> + </object> + </object> + <object class="IBUIButton" id="944403502"> + <reference key="NSNextResponder" ref="191373211"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{376, 51}, {104, 37}}</string> + <reference key="NSSuperview" ref="191373211"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <int key="IBUIContentHorizontalAlignment">0</int> + <int key="IBUIContentVerticalAlignment">0</int> + <reference key="IBUIFont" ref="1008892202"/> + <int key="IBUIButtonType">1</int> + <string key="IBUINormalTitle">Revert</string> + <reference key="IBUIHighlightedTitleColor" ref="700997684"/> + <object class="NSColor" key="IBUINormalTitleColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> + </object> + <reference key="IBUINormalTitleShadowColor" ref="201718988"/> + </object> + </object> + <string key="NSFrameSize">{480, 251}</string> + <reference key="NSSuperview"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC41NjQxMjQ1MDA4IDAuNzUyMzk5ODQ5NyAwLjg1NzE0Mjg1NzEAA</bytes> + </object> + <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> + <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/> + </object> + </object> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <object class="NSMutableArray" key="connectionRecords"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">view</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="191373211"/> + </object> + <int key="connectionID">3</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">textView</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="255779567"/> + </object> + <int key="connectionID">8</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">button1</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="11217163"/> + </object> + <int key="connectionID">11</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">button2</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="944403502"/> + </object> + <int key="connectionID">12</int> + </object> + </object> + <object class="IBMutableOrderedSet" key="objectRecords"> + <object class="NSArray" key="orderedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <reference key="object" ref="0"/> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">1</int> + <reference key="object" ref="191373211"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="255779567"/> + <reference ref="944403502"/> + <reference ref="11217163"/> + </object> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="372490531"/> + <reference key="parent" ref="0"/> + <string key="objectName">File's Owner</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="263589821"/> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">7</int> + <reference key="object" ref="255779567"/> + <reference key="parent" ref="191373211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">9</int> + <reference key="object" ref="11217163"/> + <reference key="parent" ref="191373211"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">10</int> + <reference key="object" ref="944403502"/> + <reference key="parent" ref="191373211"/> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="flattenedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>-1.CustomClassName</string> + <string>-2.CustomClassName</string> + <string>1.IBEditorWindowLastContentRect</string> + <string>1.IBPluginDependency</string> + <string>10.IBPluginDependency</string> + <string>7.IBPluginDependency</string> + <string>9.IBPluginDependency</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>ConfigViewController</string> + <string>UIResponder</string> + <string>{{530, 459}, {480, 320}}</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </object> + </object> + <object class="NSMutableDictionary" key="unlocalizedProperties"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference key="dict.sortedKeys" ref="0"/> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="activeLocalization"/> + <object class="NSMutableDictionary" key="localizations"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference key="dict.sortedKeys" ref="0"/> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <nil key="sourceID"/> + <int key="maxID">12</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">ConfigViewController</string> + <string key="superclassName">UIViewController</string> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>button1</string> + <string>button2</string> + <string>textView</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>UIButton</string> + <string>UIButton</string> + <string>UITextView</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">Classes/ConfigViewController.h</string> + </object> + </object> + </object> + <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSError.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSPort.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSStream.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="518071601"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIButton</string> + <string key="superclassName">UIControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIButton.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIControl</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIControl.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIResponder</string> + <string key="superclassName">NSObject</string> + <reference key="sourceIdentifier" ref="518071601"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIScrollView</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UISearchBar</string> + <string key="superclassName">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UISearchDisplayController</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UITextView</string> + <string key="superclassName">UIScrollView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITextView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITextField.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIView</string> + <string key="superclassName">UIResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIViewController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIViewController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">UIViewController</string> + <string key="superclassName">UIResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string> + </object> + </object> + </object> + </object> + <int key="IBDocument.localizationMode">0</int> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> + <integer value="3100" key="NS.object.0"/> + </object> + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> + <string key="IBDocument.LastKnownRelativeProjectPath">ipjsua.xcodeproj</string> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + <string key="IBCocoaTouchPluginVersion">3.1</string> + </data> +</archive> diff --git a/pjsip-apps/src/ipjsua/config.cfg b/pjsip-apps/src/ipjsua/config.cfg new file mode 100644 index 00000000..3399a807 --- /dev/null +++ b/pjsip-apps/src/ipjsua/config.cfg @@ -0,0 +1 @@ +--clock-rate=8000 diff --git a/pjsip-apps/src/ipjsua/ipjsua-Info.plist b/pjsip-apps/src/ipjsua/ipjsua-Info.plist new file mode 100644 index 00000000..5cc34c72 --- /dev/null +++ b/pjsip-apps/src/ipjsua/ipjsua-Info.plist @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleDisplayName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.teluu.${PRODUCT_NAME:rfc1034identifier}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>NSMainNibFile</key> + <string>MainWindow</string> + <key>UIInterfaceOrientation</key> + <string>UIInterfaceOrientationLandscapeRight</string> +</dict> +</plist> diff --git a/pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj b/pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj new file mode 100644 index 00000000..c4af1050 --- /dev/null +++ b/pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj @@ -0,0 +1,408 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 1D3623260D0F684500981E51 /* ipjsuaAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* ipjsuaAppDelegate.m */; }; + 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 28216C970DB411BC00E5133A /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28216C960DB411BC00E5133A /* FirstViewController.m */; }; + 282CCBFE0DB6C98000C4EA27 /* SecondView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 282CCBFD0DB6C98000C4EA27 /* SecondView.xib */; }; + 288765080DF74369002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765070DF74369002DB57D /* CoreGraphics.framework */; }; + 28AD73880D9D96C1002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD73870D9D96C1002E5188 /* MainWindow.xib */; }; + 3AE9099D11587BB900FAEAA5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE9099C11587BB900FAEAA5 /* AudioToolbox.framework */; }; + 3AE90A2D1158B52500FAEAA5 /* pjsua_app.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AE90A2C1158B52500FAEAA5 /* pjsua_app.c */; }; + 3AE90A6A1158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A691158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a */; }; + 3AE90A6C1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A6B1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a */; }; + 3AE90A6E1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A6D1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a */; }; + 3AE90A701158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A6F1158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a */; }; + 3AE90A721158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A711158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a */; }; + 3AE90A741158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A731158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a */; }; + 3AE90A761158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A751158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a */; }; + 3AE90A781158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A771158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a */; }; + 3AE90A7A1158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A791158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a */; }; + 3AE90A7C1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A7B1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a */; }; + 3AE90A7E1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A7D1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a */; }; + 3AE90A801158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A7F1158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a */; }; + 3AE90AC01158F0C400FAEAA5 /* config.cfg in Resources */ = {isa = PBXBuildFile; fileRef = 3AE90ABF1158F0C400FAEAA5 /* config.cfg */; }; + 3AE90C51115A35BB00FAEAA5 /* TabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AE90C50115A35BB00FAEAA5 /* TabBarController.m */; }; + 3AE90DAD115BB1CF00FAEAA5 /* ConfigViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AE90DAC115BB1CF00FAEAA5 /* ConfigViewController.m */; }; + 3AE90EB7115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB1115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */; }; + 3AE90EB8115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB2115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */; }; + 3AE90EB9115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB3115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a */; }; + 3AE90EBA115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB4115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */; }; + 3AE90EBB115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB5115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a */; }; + 3AE90EBC115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB6115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1D3623240D0F684500981E51 /* ipjsuaAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipjsuaAppDelegate.h; sourceTree = "<group>"; }; + 1D3623250D0F684500981E51 /* ipjsuaAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ipjsuaAppDelegate.m; sourceTree = "<group>"; }; + 1D6058910D05DD3D006BFB54 /* ipjsua.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ipjsua.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 28216C950DB411BC00E5133A /* FirstViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = "<group>"; }; + 28216C960DB411BC00E5133A /* FirstViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = "<group>"; }; + 282CCBFD0DB6C98000C4EA27 /* SecondView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SecondView.xib; sourceTree = "<group>"; }; + 288765070DF74369002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 28A0AB4B0D9B1048005BE974 /* ipjsua_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipjsua_Prefix.pch; sourceTree = "<group>"; }; + 28AD73870D9D96C1002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; + 3AE9099C11587BB900FAEAA5 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 3AE90A2C1158B52500FAEAA5 /* pjsua_app.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app.c; path = ../pjsua/pjsua_app.c; sourceTree = SOURCE_ROOT; }; + 3AE90A691158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgsmcodec-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/third_party/lib/libgsmcodec-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A6B1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpj-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjlib/lib/libpj-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A6D1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjlib-util-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjlib-util/lib/libpjlib-util-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A6F1158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjmedia/lib/libpjmedia-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A711158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-audiodev-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjmedia/lib/libpjmedia-audiodev-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A731158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-codec-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjmedia/lib/libpjmedia-codec-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A751158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjnath-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjnath/lib/libpjnath-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A771158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjsip/lib/libpjsip-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A791158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-simple-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjsip/lib/libpjsip-simple-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A7B1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-ua-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjsip/lib/libpjsip-ua-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A7D1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsua-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/pjsip/lib/libpjsua-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90A7F1158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libresample-arm-apple-darwin9.a"; path = "/Users/ming/teluu/pjproject-iphone/third_party/lib/libresample-arm-apple-darwin9.a"; sourceTree = "<absolute>"; }; + 3AE90ABF1158F0C400FAEAA5 /* config.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = config.cfg; sourceTree = "<group>"; }; + 3AE90B131159D38400FAEAA5 /* gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gui.h; path = ../pjsua/gui.h; sourceTree = SOURCE_ROOT; }; + 3AE90C4F115A35BB00FAEAA5 /* TabBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TabBarController.h; sourceTree = "<group>"; }; + 3AE90C50115A35BB00FAEAA5 /* TabBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TabBarController.m; sourceTree = "<group>"; }; + 3AE90DAB115BB1CF00FAEAA5 /* ConfigViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigViewController.h; sourceTree = "<group>"; }; + 3AE90DAC115BB1CF00FAEAA5 /* ConfigViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfigViewController.m; sourceTree = "<group>"; }; + 3AE90EB1115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libg7221codec-arm-apple-darwin9.a"; path = "../../../third_party/lib/libg7221codec-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; + 3AE90EB2115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libilbccodec-arm-apple-darwin9.a"; path = "../../../third_party/lib/libilbccodec-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; + 3AE90EB3115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmilenage-arm-apple-darwin9.a"; path = "../../../third_party/lib/libmilenage-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; + 3AE90EB4115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsdp-arm-apple-darwin9.a"; path = "../../../pjmedia/lib/libpjsdp-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; + 3AE90EB5115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libspeex-arm-apple-darwin9.a"; path = "../../../third_party/lib/libspeex-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; + 3AE90EB6115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libsrtp-arm-apple-darwin9.a"; path = "../../../third_party/lib/libsrtp-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; + 8D1107310486CEB800E47090 /* ipjsua-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ipjsua-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + 288765080DF74369002DB57D /* CoreGraphics.framework in Frameworks */, + 3AE9099D11587BB900FAEAA5 /* AudioToolbox.framework in Frameworks */, + 3AE90A6A1158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */, + 3AE90A6C1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a in Frameworks */, + 3AE90A6E1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */, + 3AE90A701158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a in Frameworks */, + 3AE90A721158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */, + 3AE90A741158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */, + 3AE90A761158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a in Frameworks */, + 3AE90A781158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a in Frameworks */, + 3AE90A7A1158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */, + 3AE90A7C1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */, + 3AE90A7E1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a in Frameworks */, + 3AE90A801158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a in Frameworks */, + 3AE90EB7115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a in Frameworks */, + 3AE90EB8115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a in Frameworks */, + 3AE90EB9115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a in Frameworks */, + 3AE90EBA115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a in Frameworks */, + 3AE90EBB115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a in Frameworks */, + 3AE90EBC115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + 3AE90DAB115BB1CF00FAEAA5 /* ConfigViewController.h */, + 3AE90DAC115BB1CF00FAEAA5 /* ConfigViewController.m */, + 28216C950DB411BC00E5133A /* FirstViewController.h */, + 28216C960DB411BC00E5133A /* FirstViewController.m */, + 3AE90C4F115A35BB00FAEAA5 /* TabBarController.h */, + 3AE90C50115A35BB00FAEAA5 /* TabBarController.m */, + 1D3623240D0F684500981E51 /* ipjsuaAppDelegate.h */, + 1D3623250D0F684500981E51 /* ipjsuaAppDelegate.m */, + ); + path = Classes; + sourceTree = "<group>"; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 1D6058910D05DD3D006BFB54 /* ipjsua.app */, + ); + name = Products; + sourceTree = "<group>"; + }; + 29B97314FDCFA39411CA2CEA /* ipjsua */ = { + isa = PBXGroup; + children = ( + 080E96DDFE201D6D7F000001 /* Classes */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 3AE909B211587D2700FAEAA5 /* Libraries */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = ipjsua; + sourceTree = "<group>"; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 3AE90B131159D38400FAEAA5 /* gui.h */, + 3AE90ABF1158F0C400FAEAA5 /* config.cfg */, + 3AE90A2C1158B52500FAEAA5 /* pjsua_app.c */, + 28A0AB4B0D9B1048005BE974 /* ipjsua_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = "<group>"; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 282CCBFD0DB6C98000C4EA27 /* SecondView.xib */, + 28AD73870D9D96C1002E5188 /* MainWindow.xib */, + 8D1107310486CEB800E47090 /* ipjsua-Info.plist */, + ); + name = Resources; + sourceTree = "<group>"; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, + 1D30AB110D05D00D00671497 /* Foundation.framework */, + 288765070DF74369002DB57D /* CoreGraphics.framework */, + 3AE9099C11587BB900FAEAA5 /* AudioToolbox.framework */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; + 3AE909B211587D2700FAEAA5 /* Libraries */ = { + isa = PBXGroup; + children = ( + 3AE90EB1115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */, + 3AE90EB2115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */, + 3AE90EB3115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a */, + 3AE90EB4115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */, + 3AE90EB5115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a */, + 3AE90EB6115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a */, + 3AE90A691158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a */, + 3AE90A6B1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a */, + 3AE90A6D1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a */, + 3AE90A6F1158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a */, + 3AE90A711158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a */, + 3AE90A731158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a */, + 3AE90A751158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a */, + 3AE90A771158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a */, + 3AE90A791158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a */, + 3AE90A7B1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a */, + 3AE90A7D1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a */, + 3AE90A7F1158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a */, + ); + name = Libraries; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1D6058900D05DD3D006BFB54 /* ipjsua */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ipjsua" */; + buildPhases = ( + 1D60588D0D05DD3D006BFB54 /* Resources */, + 1D60588E0D05DD3D006BFB54 /* Sources */, + 1D60588F0D05DD3D006BFB54 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ipjsua; + productName = ipjsua; + productReference = 1D6058910D05DD3D006BFB54 /* ipjsua.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + attributes = { + ORGANIZATIONNAME = "Teluu Inc. (http://www.teluu.com)"; + }; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ipjsua" */; + compatibilityVersion = "Xcode 3.1"; + hasScannedForEncodings = 1; + mainGroup = 29B97314FDCFA39411CA2CEA /* ipjsua */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1D6058900D05DD3D006BFB54 /* ipjsua */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1D60588D0D05DD3D006BFB54 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 28AD73880D9D96C1002E5188 /* MainWindow.xib in Resources */, + 282CCBFE0DB6C98000C4EA27 /* SecondView.xib in Resources */, + 3AE90AC01158F0C400FAEAA5 /* config.cfg in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1D60588E0D05DD3D006BFB54 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589B0D05DD56006BFB54 /* main.m in Sources */, + 1D3623260D0F684500981E51 /* ipjsuaAppDelegate.m in Sources */, + 28216C970DB411BC00E5133A /* FirstViewController.m in Sources */, + 3AE90A2D1158B52500FAEAA5 /* pjsua_app.c in Sources */, + 3AE90C51115A35BB00FAEAA5 /* TabBarController.m in Sources */, + 3AE90DAD115BB1CF00FAEAA5 /* ConfigViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1D6058940D05DD3E006BFB54 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ipjsua_Prefix.pch; + INFOPLIST_FILE = "ipjsua-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../../third_party/lib\"", + "\"$(SRCROOT)/../../../pjlib/lib\"", + "\"$(SRCROOT)/../../../pjlib-util/lib\"", + "\"$(SRCROOT)/../../../pjmedia/lib\"", + "\"$(SRCROOT)/../../../pjnath/lib\"", + "\"$(SRCROOT)/../../../pjsip/lib\"", + ); + PRODUCT_NAME = ipjsua; + }; + name = Debug; + }; + 1D6058950D05DD3E006BFB54 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ipjsua_Prefix.pch; + INFOPLIST_FILE = "ipjsua-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../../third_party/lib\"", + "\"$(SRCROOT)/../../../pjlib/lib\"", + "\"$(SRCROOT)/../../../pjlib-util/lib\"", + "\"$(SRCROOT)/../../../pjmedia/lib\"", + "\"$(SRCROOT)/../../../pjnath/lib\"", + "\"$(SRCROOT)/../../../pjsip/lib\"", + ); + PRODUCT_NAME = ipjsua; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PREPROCESSOR_DEFINITIONS = USE_GUI; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../../../pjsip/include, + ../../../pjlib/include, + "../../../pjlib-util/include", + ../../../pjnath/include, + ../../../pjmedia/include, + ); + LIBRARY_SEARCH_PATHS = ( + ../../../pjlib/lib, + "../../../pjlib-util/lib", + ../../../pjnath/lib, + ../../../pjmedia/lib, + ../../../pjsip/lib, + ../../../third_party/lib, + ); + PREBINDING = NO; + SDKROOT = iphoneos3.1.2; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PREPROCESSOR_DEFINITIONS = USE_GUI; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../../../pjsip/include, + ../../../pjlib/include, + "../../../pjlib-util/include", + ../../../pjnath/include, + ../../../pjmedia/include, + ); + LIBRARY_SEARCH_PATHS = ( + ../../../pjlib/lib, + "../../../pjlib-util/lib", + ../../../pjnath/lib, + ../../../pjmedia/lib, + ../../../pjsip/lib, + ../../../third_party/lib, + ); + PREBINDING = NO; + SDKROOT = iphoneos3.1.2; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ipjsua" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1D6058940D05DD3E006BFB54 /* Debug */, + 1D6058950D05DD3E006BFB54 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ipjsua" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/pjsip-apps/src/ipjsua/ipjsua_Prefix.pch b/pjsip-apps/src/ipjsua/ipjsua_Prefix.pch new file mode 100644 index 00000000..2fe18564 --- /dev/null +++ b/pjsip-apps/src/ipjsua/ipjsua_Prefix.pch @@ -0,0 +1,8 @@ +// +// Prefix header for all source files of the 'ipjsua' target in the 'ipjsua' project +// + +#ifdef __OBJC__ + #import <Foundation/Foundation.h> + #import <UIKit/UIKit.h> +#endif diff --git a/pjsip-apps/src/ipjsua/main.m b/pjsip-apps/src/ipjsua/main.m new file mode 100644 index 00000000..9451af16 --- /dev/null +++ b/pjsip-apps/src/ipjsua/main.m @@ -0,0 +1,17 @@ +// +// main.m +// ipjsua +// +// Created by Liong Sauw Ming on 3/23/10. +// Copyright Teluu Inc. (http://www.teluu.com) 2010. All rights reserved. +// + +#import <UIKit/UIKit.h> + +int main(int argc, char *argv[]) { + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, nil); + [pool release]; + return retVal; +} + |