MatrixHal.h revision 676447acd00ebf93d1023f79fc02b5cbbb86dda2
1676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong/* 2676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * Copyright (C) 2017 The Android Open Source Project 3676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * 4676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * Licensed under the Apache License, Version 2.0 (the "License"); 5676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * you may not use this file except in compliance with the License. 6676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * You may obtain a copy of the License at 7676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * 8676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * http://www.apache.org/licenses/LICENSE-2.0 9676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * 10676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * Unless required by applicable law or agreed to in writing, software 11676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * distributed under the License is distributed on an "AS IS" BASIS, 12676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * See the License for the specific language governing permissions and 14676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong * limitations under the License. 15676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong */ 16676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 17676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong#ifndef ANDROID_VINTF_MATRIX_HAL_H 18676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong#define ANDROID_VINTF_MATRIX_HAL_H 19676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 20676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong#include <string> 21676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong#include <vector> 22676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 23676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong#include "HalFormat.h" 24676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong#include "VersionRange.h" 25676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 26676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hongnamespace android { 27676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hongnamespace vintf { 28676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 29676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong// A HAL entry to a compatibility matrix 30676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hongstruct MatrixHal { 31676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 32676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong bool operator==(const MatrixHal &other) const; 33676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 34676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong HalFormat format = HalFormat::HIDL; 35676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong std::string name; 36676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong std::vector<VersionRange> versionRanges; 37676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong bool optional = false; 38676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong}; 39676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 40676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong} // namespace vintf 41676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong} // namespace android 42676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong 43676447acd00ebf93d1023f79fc02b5cbbb86dda2Yifan Hong#endif // ANDROID_VINTF_MATRIX_HAL_H 44