39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
|
#ifndef CONFIGURATION_H
|
||
|
#define CONFIGURATION_H
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
struct Configuration
|
||
|
{
|
||
|
string locale;
|
||
|
string vendor;
|
||
|
string orientation;
|
||
|
string density;
|
||
|
string touchscreen;
|
||
|
string keyboard;
|
||
|
string navigation;
|
||
|
string screenSize;
|
||
|
|
||
|
// Compare two configurations
|
||
|
int Compare(const Configuration& that) const;
|
||
|
|
||
|
inline bool operator<(const Configuration& that) const { return Compare(that) < 0; }
|
||
|
inline bool operator<=(const Configuration& that) const { return Compare(that) <= 0; }
|
||
|
inline bool operator==(const Configuration& that) const { return Compare(that) == 0; }
|
||
|
inline bool operator!=(const Configuration& that) const { return Compare(that) != 0; }
|
||
|
inline bool operator>=(const Configuration& that) const { return Compare(that) >= 0; }
|
||
|
inline bool operator>(const Configuration& that) const { return Compare(that) > 0; }
|
||
|
|
||
|
// Parse a directory name, like "values-en-rUS". Return the first segment in resType.
|
||
|
bool ParseDiectoryName(const string& dir, string* resType);
|
||
|
|
||
|
string ToString() const;
|
||
|
};
|
||
|
|
||
|
bool split_locale(const string& in, string* language, string* region);
|
||
|
|
||
|
|
||
|
#endif // CONFIGURATION_H
|