| /* Copyright (c) 2012 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. |
| */ |
| |
| #ifndef CRAS_CARD_CONFIG_H_ |
| #define CRAS_CARD_CONFIG_H_ |
| |
| struct cras_card_config; |
| struct cras_volume_curve; |
| |
| /* Creates a configuration based on the config file specified. |
| * Args: |
| * config_path - Path containing the config files. |
| * card_name - Name of the card to load a configuration for. |
| * Returns: |
| * A pointer to the created config on success, NULL on failure. |
| */ |
| struct cras_card_config *cras_card_config_create(const char *config_path, |
| const char *card_name); |
| |
| /* Destroys a configuration returned by cras_card_config_create(). |
| * Args: |
| * card_config - Card configuration returned by cras_card_config_create() |
| */ |
| void cras_card_config_destroy(struct cras_card_config *card_config); |
| |
| /* Returns the apporpriate volume curve to use for the control given by name. |
| * Args: |
| * card_config - Card configuration returned by cras_card_config_create() |
| * Returns: |
| * The specialized curve for the control if there is one, otherwise NULL. |
| */ |
| struct cras_volume_curve *cras_card_config_get_volume_curve_for_control( |
| const struct cras_card_config *card_config, const char *control_name); |
| |
| #endif /* CRAS_CARD_CONFIG_H_ */ |