connect.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef MOJO_PUBLIC_CPP_APPLICATION_CONNECT_H_
6#define MOJO_PUBLIC_CPP_APPLICATION_CONNECT_H_
7
8#include "mojo/public/interfaces/service_provider/service_provider.mojom.h"
9
10namespace mojo {
11
12template <typename Interface>
13inline void ConnectToService(ServiceProvider* service_provider,
14                             const std::string& url,
15                             InterfacePtr<Interface>* ptr) {
16  MessagePipe pipe;
17  ptr->Bind(pipe.handle0.Pass());
18  service_provider->ConnectToService(url, pipe.handle1.Pass());
19}
20
21}  // namespace mojo
22
23#endif  // MOJO_PUBLIC_CPP_APPLICATION_CONNECT_H_
24