summaryrefslogtreecommitdiffstats
path: root/tools/localize/ValuesFile.h
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:31:44 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:31:44 -0800
commit9066cfe9886ac131c34d59ed0e2d287b0e3c0087 (patch)
treed88beb88001f2482911e3d28e43833b50e4b4e97 /tools/localize/ValuesFile.h
parentd83a98f4ce9cfa908f5c54bbd70f03eec07e7553 (diff)
downloadframeworks_base-9066cfe9886ac131c34d59ed0e2d287b0e3c0087.zip
frameworks_base-9066cfe9886ac131c34d59ed0e2d287b0e3c0087.tar.gz
frameworks_base-9066cfe9886ac131c34d59ed0e2d287b0e3c0087.tar.bz2
auto import from //depot/cupcake/@135843
Diffstat (limited to 'tools/localize/ValuesFile.h')
-rw-r--r--tools/localize/ValuesFile.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/tools/localize/ValuesFile.h b/tools/localize/ValuesFile.h
new file mode 100644
index 0000000..752fd78
--- /dev/null
+++ b/tools/localize/ValuesFile.h
@@ -0,0 +1,52 @@
+#ifndef VALUES_FILE_H
+#define VALUES_FILE_H
+
+#include "SourcePos.h"
+#include "Configuration.h"
+#include "XMLHandler.h"
+#include "Values.h"
+
+#include <string>
+#include <set>
+
+using namespace std;
+
+extern const XMLNamespaceMap ANDROID_NAMESPACES;
+
+class ValuesFile
+{
+public:
+ ValuesFile(const Configuration& config);
+
+ static ValuesFile* ParseFile(const string& filename, const Configuration& config,
+ int version, const string& versionString);
+ static ValuesFile* ParseString(const string& filename, const string& text,
+ const Configuration& config,
+ int version, const string& versionString);
+ ~ValuesFile();
+
+ const Configuration& GetConfiguration() const;
+
+ void AddString(const StringResource& str);
+ set<StringResource> GetStrings() const;
+
+ // exports this file as a n XMLNode, you own this object
+ XMLNode* ToXMLNode() const;
+
+ // writes the ValuesFile out to a string in the canonical format (i.e. writes the contents of
+ // ToXMLNode()).
+ string ToString() const;
+
+private:
+ class ParseState;
+ friend class ValuesFile::ParseState;
+ friend class StringHandler;
+
+ ValuesFile();
+
+ Configuration m_config;
+ set<StringResource> m_strings;
+ map<string,set<StringResource> > m_arrays;
+};
+
+#endif // VALUES_FILE_H