#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