diff options
Diffstat (limited to 'mojo/public/cpp/application/lib/service_connector.h')
-rw-r--r-- | mojo/public/cpp/application/lib/service_connector.h | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/mojo/public/cpp/application/lib/service_connector.h b/mojo/public/cpp/application/lib/service_connector.h deleted file mode 100644 index 70c1380..0000000 --- a/mojo/public/cpp/application/lib/service_connector.h +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2014 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. - -#ifndef MOJO_PUBLIC_CPP_APPLICATION_LIB_SERVICE_CONNECTOR_H_ -#define MOJO_PUBLIC_CPP_APPLICATION_LIB_SERVICE_CONNECTOR_H_ - -#include "mojo/public/cpp/application/interface_factory.h" -#include "mojo/public/cpp/bindings/interface_request.h" - -namespace mojo { -class ApplicationConnection; - -namespace internal { - -class ServiceConnectorBase { - public: - ServiceConnectorBase(const std::string& name); - virtual ~ServiceConnectorBase(); - virtual void ConnectToService(const std::string& name, - ScopedMessagePipeHandle client_handle) = 0; - std::string name() const { return name_; } - void set_application_connection(ApplicationConnection* connection) { - application_connection_ = connection; - } - - protected: - std::string name_; - ApplicationConnection* application_connection_; - - MOJO_DISALLOW_COPY_AND_ASSIGN(ServiceConnectorBase); -}; - -template <typename Interface> -class InterfaceFactoryConnector : public ServiceConnectorBase { - public: - explicit InterfaceFactoryConnector(InterfaceFactory<Interface>* factory) - : ServiceConnectorBase(Interface::Name_), factory_(factory) {} - virtual ~InterfaceFactoryConnector() {} - - virtual void ConnectToService(const std::string& name, - ScopedMessagePipeHandle client_handle) { - factory_->Create(application_connection_, - MakeRequest<Interface>(client_handle.Pass())); - } - - private: - InterfaceFactory<Interface>* factory_; - MOJO_DISALLOW_COPY_AND_ASSIGN(InterfaceFactoryConnector); -}; - -} // namespace internal -} // namespace mojo - -#endif // MOJO_PUBLIC_CPP_APPLICATION_LIB_SERVICE_CONNECTOR_H_ |