/* Copyright 2020 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include #include "cras_iodev_list.h" #include "cras_messages.h" #include "cras_observer.h" #include "cras_rclient.h" #include "cras_rclient_util.h" #include "cras_rstream.h" #include "cras_types.h" #include "cras_util.h" /* Declarations of cras_rclient operators for cras_unified_rclient. */ static const struct cras_rclient_ops cras_unified_rclient_ops = { .handle_message_from_client = rclient_handle_message_from_client, .send_message_to_client = rclient_send_message_to_client, .destroy = rclient_destroy, }; /* * Exported Functions. */ /* Creates a client structure and sends a message back informing the client that * the connection has succeeded. */ struct cras_rclient *cras_unified_rclient_create(int fd, size_t id) { int supported_directions = cras_stream_direction_mask(CRAS_STREAM_OUTPUT) | cras_stream_direction_mask(CRAS_STREAM_INPUT); return rclient_generic_create(fd, id, &cras_unified_rclient_ops, supported_directions); }