1 /* Copyright 2019 The Chromium OS 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 6 #include <syslog.h> 7 8 #include "cras_iodev_list.h" 9 #include "cras_messages.h" 10 #include "cras_observer.h" 11 #include "cras_rclient.h" 12 #include "cras_rclient_util.h" 13 #include "cras_rstream.h" 14 #include "cras_types.h" 15 #include "cras_util.h" 16 17 /* Declarations of cras_rclient operators for cras_playback_rclient. */ 18 static const struct cras_rclient_ops cras_playback_rclient_ops = { 19 .handle_message_from_client = rclient_handle_message_from_client, 20 .send_message_to_client = rclient_send_message_to_client, 21 .destroy = rclient_destroy, 22 }; 23 24 /* 25 * Exported Functions. 26 */ 27 28 /* Creates a client structure and sends a message back informing the client that 29 * the connection has succeeded. */ cras_playback_rclient_create(int fd,size_t id)30struct cras_rclient *cras_playback_rclient_create(int fd, size_t id) 31 { 32 return rclient_generic_create( 33 fd, id, &cras_playback_rclient_ops, 34 cras_stream_direction_mask(CRAS_STREAM_OUTPUT)); 35 } 36