Chromium Code Reviews| Index: mojo/public/cpp/application/lib/application_impl.cc |
| diff --git a/mojo/public/cpp/application/lib/application_impl.cc b/mojo/public/cpp/application/lib/application_impl.cc |
| index 469ba3a9417f242f218b274c707892ff740b70e2..0781a193810470290f3939f1709e5cd2754347d0 100644 |
| --- a/mojo/public/cpp/application/lib/application_impl.cc |
| +++ b/mojo/public/cpp/application/lib/application_impl.cc |
| @@ -28,13 +28,13 @@ class ApplicationImpl::ShellPtrWatcher : public ErrorHandler { |
| ApplicationImpl::ApplicationImpl(ApplicationDelegate* delegate, |
| ScopedMessagePipeHandle shell_handle) |
| - : delegate_(delegate), shell_watch_(NULL) { |
| + : initialized_(false), delegate_(delegate), shell_watch_(NULL) { |
| BindShell(shell_handle.Pass()); |
| } |
| ApplicationImpl::ApplicationImpl(ApplicationDelegate* delegate, |
| MojoHandle shell_handle) |
| - : delegate_(delegate), shell_watch_(NULL) { |
| + : initialized_(false), delegate_(delegate), shell_watch_(NULL) { |
| BindShell(MakeScopedHandle(MessagePipeHandle(shell_handle))); |
| } |
| @@ -54,8 +54,16 @@ ApplicationImpl::~ApplicationImpl() { |
| delete shell_watch_; |
| } |
| +void ApplicationImpl::Initialize(Array<String> args) { |
| + assert(!initialized_); |
|
viettrungluu
2014/09/15 17:26:19
You can actually use mojo/public/cpp/environment/l
DaveMoore
2014/09/15 22:35:08
Done.
|
| + initialized_ = true; |
| + args_ = args.Pass(); |
| + delegate_->Initialize(this); |
| +} |
| + |
| ApplicationConnection* ApplicationImpl::ConnectToApplication( |
| const String& application_url) { |
| + assert(initialized_); |
|
viettrungluu
2014/09/15 17:26:19
"
DaveMoore
2014/09/15 22:35:08
Done.
|
| ServiceProviderPtr out_service_provider; |
| shell_->ConnectToApplication(application_url, Get(&out_service_provider)); |
| internal::ServiceRegistry* registry = new internal::ServiceRegistry( |
| @@ -71,11 +79,11 @@ ApplicationConnection* ApplicationImpl::ConnectToApplication( |
| } |
| void ApplicationImpl::BindShell(ScopedMessagePipeHandle shell_handle) { |
| + initialized_ = false; |
|
viettrungluu
2014/09/15 17:26:19
I don't think you need this. Maybe a MOJO_DCHECK(!
DaveMoore
2014/09/15 22:35:08
Removed. At one point this was where I initialized
|
| shell_watch_ = new ShellPtrWatcher(this); |
| shell_.Bind(shell_handle.Pass()); |
| shell_.set_client(this); |
| shell_.set_error_handler(shell_watch_); |
| - delegate_->Initialize(this); |
| } |
| void ApplicationImpl::AcceptConnection(const String& requestor_url, |