3 * Copyright (c) 2002 - 2007, Blue Static <http://www.bluestatic.org>
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
10 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
17 #import "DebuggerConnection.h"
20 @implementation DebuggerConnection
23 * Creates a new DebuggerConnection and initializes the socket from the given connection
26 - (id)initWithPort
: (int)port session
: (NSString
*)session
28 if (self = [super init
])
31 _session
= [session retain
];
33 _windowController
= [[DebuggerWindowController alloc
] initWithConnection
: self];
34 [[_windowController window
] makeKeyAndOrderFront
: self];
36 // now that we have our host information, open the socket
37 socket
= [[SocketWrapper alloc
] initWithPort
: port
];
40 // TODO - kill us somehow
41 NSLog(@
"can't proceed further... SocketWrapper is nil");
44 [socket setDelegate
: self];
46 NSLog(@"data = %@", [socket receive]);
47 [socket send: @"status -i foo"];
48 NSLog(@"status = %@", [socket receive]);
49 [socket send: @"run -i foo"];
50 NSLog(@"status = %@", [socket receive]);
53 [[NSNotificationCenter defaultCenter
] addObserver
: self selector
: @selector(dataReceived
:) name
: SocketWrapperDataReceivedNotification object
: nil];
58 // clean up after ourselves
59 [[NSNotificationCenter defaultCenter
] addObserver
: self
60 selector
: @selector(applicationWillTerminate
:)
61 name
: NSApplicationWillTerminateNotification
67 - (void)dataReceived
: (NSNotification
*)notif
70 NSLog(@
"notif = %@", [notif object
]);
73 - (void)dataSent
: (NSNotification
*)notif
79 * Release ourselves when we're about to die
81 - (void)applicationWillTerminate
: (NSNotification
*)notif
87 * Releases all of the object's data members and closes the streams
98 * Gets the port number
106 * Gets the session name
108 - (NSString
*)session