| Index: mojo/public/cpp/application/lib/application_impl_base.cc
|
| diff --git a/mojo/public/cpp/application/lib/application_impl.cc b/mojo/public/cpp/application/lib/application_impl_base.cc
|
| similarity index 58%
|
| copy from mojo/public/cpp/application/lib/application_impl.cc
|
| copy to mojo/public/cpp/application/lib/application_impl_base.cc
|
| index 6be42ff0b239afce6a16ac8d0bd6575737965ee0..a5e90d63363b02c163c99c52aa7efe51d4d5b154 100644
|
| --- a/mojo/public/cpp/application/lib/application_impl.cc
|
| +++ b/mojo/public/cpp/application/lib/application_impl_base.cc
|
| @@ -1,45 +1,43 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "mojo/public/cpp/application/application_impl.h"
|
| +#include "mojo/public/cpp/application/application_impl_base.h"
|
|
|
| +#include <algorithm>
|
| #include <utility>
|
|
|
| -#include "mojo/public/cpp/application/application_delegate.h"
|
| #include "mojo/public/cpp/application/connection_context.h"
|
| #include "mojo/public/cpp/application/service_provider_impl.h"
|
| -#include "mojo/public/cpp/bindings/interface_ptr.h"
|
| -#include "mojo/public/cpp/bindings/interface_request.h"
|
| #include "mojo/public/cpp/environment/logging.h"
|
|
|
| namespace mojo {
|
|
|
| -ApplicationImpl::ApplicationImpl(ApplicationDelegate* delegate,
|
| - InterfaceRequest<Application> request)
|
| - : delegate_(delegate), application_binding_(this, request.Pass()) {}
|
| +ApplicationImplBase::ApplicationImplBase(
|
| + InterfaceRequest<Application> application_request)
|
| + : application_binding_(this, application_request.Pass()) {}
|
|
|
| -ApplicationImpl::~ApplicationImpl() {}
|
| +ApplicationImplBase::~ApplicationImplBase() {}
|
|
|
| -bool ApplicationImpl::HasArg(const std::string& arg) const {
|
| +bool ApplicationImplBase::HasArg(const std::string& arg) const {
|
| return std::find(args_.begin(), args_.end(), arg) != args_.end();
|
| }
|
|
|
| -void ApplicationImpl::Initialize(InterfaceHandle<Shell> shell,
|
| - Array<String> args,
|
| - const mojo::String& url) {
|
| +void ApplicationImplBase::Initialize(InterfaceHandle<Shell> shell,
|
| + Array<String> args,
|
| + const mojo::String& url) {
|
| shell_ = ShellPtr::Create(std::move(shell));
|
| shell_.set_connection_error_handler([this]() {
|
| - delegate_->Quit();
|
| + OnQuit();
|
| service_provider_impls_.clear();
|
| Terminate();
|
| });
|
| url_ = url;
|
| args_ = args.To<std::vector<std::string>>();
|
| - delegate_->Initialize(this);
|
| + OnInitialize();
|
| }
|
|
|
| -void ApplicationImpl::AcceptConnection(
|
| +void ApplicationImplBase::AcceptConnection(
|
| const String& requestor_url,
|
| InterfaceRequest<ServiceProvider> services,
|
| InterfaceHandle<ServiceProvider> exposed_services,
|
| @@ -54,13 +52,13 @@ void ApplicationImpl::AcceptConnection(
|
| ConnectionContext(ConnectionContext::Type::INCOMING, requestor_url,
|
| url),
|
| services.Pass()));
|
| - if (!delegate_->ConfigureIncomingConnection(service_provider_impl.get()))
|
| + if (!OnAcceptConnection(service_provider_impl.get()))
|
| return;
|
| service_provider_impls_.push_back(std::move(service_provider_impl));
|
| }
|
|
|
| -void ApplicationImpl::RequestQuit() {
|
| - delegate_->Quit();
|
| +void ApplicationImplBase::RequestQuit() {
|
| + OnQuit();
|
| Terminate();
|
| }
|
|
|
|
|