ResourceFilter.h revision a2ef5c0d4fb863c0382e77ae00f986a019b11cbe
1//
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(), mContainsPseudoAccented(false),
20        mContainsPseudoBidi(false) {}
21    status_t parse(const char* arg);
22    bool isEmpty() const;
23    bool match(int axis, const ResTable_config& config) const;
24    bool match(const ResTable_config& config) const;
25    const SortedVector<AxisValue>* configsForAxis(int axis) const;
26    inline bool containsPseudo() const { return mContainsPseudoAccented; }
27    inline bool containsPseudoBidi() const { return mContainsPseudoBidi; }
28
29private:
30    bool match(int axis, const AxisValue& value) const;
31
32    KeyedVector<int,SortedVector<AxisValue> > mData;
33    bool mContainsPseudoAccented;
34    bool mContainsPseudoBidi;
35};
36
37#endif
38