1a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie/*
2a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * Copyright (C) 2015 The Android Open Source Project
3a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie *
4a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * Licensed under the Apache License, Version 2.0 (the "License");
5a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * you may not use this file except in compliance with the License.
6a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * You may obtain a copy of the License at
7a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie *
8a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie *      http://www.apache.org/licenses/LICENSE-2.0
9a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie *
10a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * Unless required by applicable law or agreed to in writing, software
11a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * distributed under the License is distributed on an "AS IS" BASIS,
12a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * See the License for the specific language governing permissions and
14a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie * limitations under the License.
15a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie */
16a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie
17a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie#pragma once
18a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie
19913d06c099bd689375483a839e11057ccf284d1cMikhail Naganov#include <media/TypeConverter.h>
20913d06c099bd689375483a839e11057ccf284d1cMikhail Naganov
215fcd6f99944d8722c57d2b2963814a1964ecfeddFrançois Gaffie#include "policy.h"
225fcd6f99944d8722c57d2b2963814a1964ecfeddFrançois Gaffie#include <Volume.h>
23a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie
24a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffienamespace android {
25a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie
265fcd6f99944d8722c57d2b2963814a1964ecfeddFrançois Gaffiestruct DeviceCategoryTraits
275fcd6f99944d8722c57d2b2963814a1964ecfeddFrançois Gaffie{
280d6a03301d77724c00c7a9ce7b8c123092d07a19Mikhail Naganov    typedef device_category Type;
290d6a03301d77724c00c7a9ce7b8c123092d07a19Mikhail Naganov    typedef Vector<Type> Collection;
300d6a03301d77724c00c7a9ce7b8c123092d07a19Mikhail Naganov};
3144344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganovstruct MixTypeTraits
3244344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov{
3344344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov    typedef int32_t Type;
3444344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov    typedef Vector<Type> Collection;
3544344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov};
3644344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganovstruct RouteFlagTraits
3744344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov{
3844344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov    typedef uint32_t Type;
3944344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov    typedef Vector<Type> Collection;
4044344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov};
4144344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganovstruct RuleTraits
4244344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov{
4344344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov    typedef uint32_t Type;
4444344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov    typedef Vector<Type> Collection;
4544344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganov};
46a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie
475fcd6f99944d8722c57d2b2963814a1964ecfeddFrançois Gaffietypedef TypeConverter<DeviceCategoryTraits> DeviceCategoryConverter;
4844344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganovtypedef TypeConverter<MixTypeTraits> MixTypeConverter;
4944344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganovtypedef TypeConverter<RouteFlagTraits> RouteFlagTypeConverter;
5044344b05261cb9ad46a43e635f637b89aecc7afeMikhail Naganovtypedef TypeConverter<RuleTraits> RuleTypeConverter;
51a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie
52a8ecc2c72ca26389bd6b0162181d60aaeaca8149François Gaffie}; // namespace android
53