connect.h revision 46d4c2bc3267f3f028f39e7e311b0f89aba2e4fd
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(
19      url, Interface::Name_, pipe.handle1.Pass(), std::string());
20}
21
22}  // namespace mojo
23
24#endif  // MOJO_PUBLIC_CPP_APPLICATION_CONNECT_H_
25