120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie/*
220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * Copyright (C) 2015 The Android Open Source Project
320f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie *
420f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * Licensed under the Apache License, Version 2.0 (the "License");
520f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * you may not use this file except in compliance with the License.
620f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * You may obtain a copy of the License at
720f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie *
820f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie *      http://www.apache.org/licenses/LICENSE-2.0
920f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie *
1020f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * Unless required by applicable law or agreed to in writing, software
1120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * distributed under the License is distributed on an "AS IS" BASIS,
1220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1320f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * See the License for the specific language governing permissions and
1420f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * limitations under the License.
1520f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie */
1620f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
1720f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie#pragma once
1820f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
1920f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie#include <string>
2020f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie#include <system/audio_policy.h>
2120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
2220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie//////////////////////////////////////////////////////////////////////////////////////////////////
2320f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie//      Definitions for audio policy criteria configuration file (audio_policy_criteria.conf)   //
2420f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie//                                                                                              //
2520f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie//      @TODO: scripted from audio.h & audio_policy,h                                           //
2620f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie//////////////////////////////////////////////////////////////////////////////////////////////////
2720f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
2820f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const char *const gAudioPolicyCriteriaConfFilePath =
2920f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie    "/system/etc/audio_policy_criteria.conf";
3020f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const char *const gAudioPolicyCriteriaVendorConfFilePath =
3120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie    "/vendor/etc/audio_policy_criteria.conf";
3220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
3320f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie/**
3420f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * PFW instances tags
3520f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie */
3620f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gPolicyConfTag = "Policy";
3720f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gDefaultTag = "Default";
3820f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gTypeTag = "Type";
3920f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
4020f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie/**
4120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * PFW elements tags
4220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie */
4320f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gInclusiveCriterionTypeTag = "InclusiveCriterionType";
4420f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gExclusiveCriterionTypeTag = "ExclusiveCriterionType";
4520f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gCriterionTag = "Criterion";
4620f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
4720f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie/**
4820f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * PFW known criterion tags
4920f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie */
5020f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gInputDeviceCriterionTag = "AvailableInputDevices";
5120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gOutputDeviceCriterionTag = "AvailableOutputDevices";
5220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string &gPhoneStateCriterionTag = "TelephonyMode";
5320f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
5420f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie/**
5520f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie * Order MUST be align with defintiion of audio_policy_force_use_t within audio_policy.h
5620f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie */
5720f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffiestatic const std::string gForceUseCriterionTag[AUDIO_POLICY_FORCE_USE_CNT] =
5820f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie{
5920f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie    [AUDIO_POLICY_FORCE_FOR_COMMUNICATION] =        "ForceUseForCommunication",
6020f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie    [AUDIO_POLICY_FORCE_FOR_MEDIA] =                "ForceUseForMedia",
6120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie    [AUDIO_POLICY_FORCE_FOR_RECORD] =               "ForceUseForRecord",
6220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie    [AUDIO_POLICY_FORCE_FOR_DOCK] =                 "ForceUseForDock",
6320f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie    [AUDIO_POLICY_FORCE_FOR_SYSTEM] =               "ForceUseForSystem",
64f4541b1d2342e08ee429b71627f1161812fc8d13François Gaffie    [AUDIO_POLICY_FORCE_FOR_HDMI_SYSTEM_AUDIO] =    "ForceUseForHdmiSystemAudio",
65f4541b1d2342e08ee429b71627f1161812fc8d13François Gaffie    [AUDIO_POLICY_FORCE_FOR_ENCODED_SURROUND] =     "ForceUseForEncodedSurround"
6620f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie};
6720f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
6820f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
6920f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
7020f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
7120f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
7220f06f996337c9bf79d0b112083f6427a122ebabFrançois Gaffie
73