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