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)#include "ipc/ipc_channel.h" 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace IPC { 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<Channel> Channel::CreateClient( 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const IPC::ChannelHandle &channel_handle, Listener* listener) { 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) return Channel::Create(channel_handle, Channel::MODE_CLIENT, listener); 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<Channel> Channel::CreateNamedServer( 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const IPC::ChannelHandle &channel_handle, Listener* listener) { 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) return Channel::Create(channel_handle, Channel::MODE_NAMED_SERVER, listener); 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<Channel> Channel::CreateNamedClient( 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const IPC::ChannelHandle &channel_handle, Listener* listener) { 2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) return Channel::Create(channel_handle, Channel::MODE_NAMED_CLIENT, listener); 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(OS_POSIX) 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<Channel> Channel::CreateOpenNamedServer( 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const IPC::ChannelHandle &channel_handle, Listener* listener) { 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) return Channel::Create(channel_handle, 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) Channel::MODE_OPEN_NAMED_SERVER, 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) listener); 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<Channel> Channel::CreateServer( 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const IPC::ChannelHandle &channel_handle, Listener* listener) { 4046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) return Channel::Create(channel_handle, Channel::MODE_SERVER, listener); 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)Channel::~Channel() { 4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace IPC 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 48