blob: 0d127ba352c98e1768190da51d836c0800c3d7aa [file] [log] [blame]
Dianne Hackborne6b68032011-10-13 16:26:02 -07001//
2// Copyright 2011 The Android Open Source Project
3//
4// Build resource files from raw assets.
5//
6
7#ifndef RESOURCE_FILTER_H
8#define RESOURCE_FILTER_H
9
10#include "AaptAssets.h"
11
12/**
13 * Implements logic for parsing and handling "-c" and "--preferred-configurations"
14 * options.
15 */
16class ResourceFilter
17{
18public:
19 ResourceFilter() : mData(), mContainsPseudo(false) {}
20 status_t parse(const char* arg);
21 bool isEmpty() const;
Dianne Hackborne6b68032011-10-13 16:26:02 -070022 bool match(int axis, const ResTable_config& config) const;
23 bool match(const ResTable_config& config) const;
Narayan Kamath788fa412014-01-21 15:32:36 +000024 const SortedVector<AxisValue>* configsForAxis(int axis) const;
Dianne Hackborne6b68032011-10-13 16:26:02 -070025 inline bool containsPseudo() const { return mContainsPseudo; }
26
27private:
Narayan Kamath788fa412014-01-21 15:32:36 +000028 bool match(int axis, const AxisValue& value) const;
29
30 KeyedVector<int,SortedVector<AxisValue> > mData;
Dianne Hackborne6b68032011-10-13 16:26:02 -070031 bool mContainsPseudo;
32};
33
34#endif