Chromium Code Reviews| Index: remoting/host/disconnect_window_mac.mm |
| diff --git a/remoting/host/disconnect_window_mac.mm b/remoting/host/disconnect_window_mac.mm |
| index bccd31c97eec7e25b7db21db274d1ef293497172..8e24a2195f286fdf4d5be88c813cbac78e9689f0 100644 |
| --- a/remoting/host/disconnect_window_mac.mm |
| +++ b/remoting/host/disconnect_window_mac.mm |
| @@ -19,7 +19,8 @@ class DisconnectWindowMac : public remoting::DisconnectWindow { |
| DisconnectWindowMac(); |
| virtual ~DisconnectWindowMac(); |
| - virtual void Show(remoting::ChromotingHost* host, |
| + virtual void Show(ChromotingHost* host, |
| + const DisconnectCallback& disconnect_callback, |
| const std::string& username) OVERRIDE; |
| virtual void Hide() OVERRIDE; |
| @@ -37,12 +38,14 @@ DisconnectWindowMac::~DisconnectWindowMac() { |
| [window_controller_ close]; |
| } |
| -void DisconnectWindowMac::Show(remoting::ChromotingHost* host, |
| +void DisconnectWindowMac::Show(ChromotingHost* host, |
| + const DisconnectCallback& disconnect_callback, |
| const std::string& username) { |
| CHECK(window_controller_ == nil); |
| NSString* nsUsername = base::SysUTF8ToNSString(username); |
| window_controller_ = |
| [[DisconnectWindowController alloc] initWithHost:host |
| + callback:disconnect_callback |
| username:nsUsername]; |
| [window_controller_ showWindow:nil]; |
| } |
| @@ -62,6 +65,7 @@ scoped_ptr<DisconnectWindow> DisconnectWindow::Create() { |
| @interface DisconnectWindowController() |
| @property (nonatomic, assign) remoting::ChromotingHost* host; |
| +@property (nonatomic, assign) DisconnectCallback disconnect_callback; |
|
dcaiafa
2012/05/11 20:10:38
This doesn't need to be a property. It's private a
alexeypa (please no reviews)
2012/05/11 20:19:29
Removed.
|
| @property (nonatomic, copy) NSString* username; |
| - (BOOL)isRToL; |
| @@ -71,13 +75,16 @@ scoped_ptr<DisconnectWindow> DisconnectWindow::Create() { |
| @implementation DisconnectWindowController |
| @synthesize host = host_; |
| +@synthesize disconnect_callback = disconnect_callback_; |
|
dcaiafa
2012/05/11 20:10:38
Again, not needed.
alexeypa (please no reviews)
2012/05/11 20:19:29
Done.
|
| @synthesize username = username_; |
| - (id)initWithHost:(remoting::ChromotingHost*)host |
| + callback:(const DisconnectCallback&)disconnect_callback |
| username:(NSString*)username { |
| self = [super initWithWindowNibName:@"disconnect_window"]; |
| if (self) { |
| host_ = host; |
| + disconnect_callback_ = disconnect_callback; |
| username_ = [username copy]; |
| } |
| return self; |
| @@ -89,9 +96,8 @@ scoped_ptr<DisconnectWindow> DisconnectWindow::Create() { |
| } |
| - (IBAction)stopSharing:(id)sender { |
| - if (self.host) { |
| - self.host->Shutdown(base::Closure()); |
| - self.host = NULL; |
| + if (!self.disconnect_callback.is_null()) { |
|
dcaiafa
2012/05/11 20:10:38
To access the field directly, just drop the 'self.
alexeypa (please no reviews)
2012/05/11 20:19:29
Done.
|
| + self.disconnect_callback.Run(); |
| } |
| } |