diff options
Diffstat (limited to 'tools/localize/Values.cpp')
-rw-r--r-- | tools/localize/Values.cpp | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/tools/localize/Values.cpp b/tools/localize/Values.cpp deleted file mode 100644 index 8623b97..0000000 --- a/tools/localize/Values.cpp +++ /dev/null @@ -1,135 +0,0 @@ -#include "Values.h" -#include <stdlib.h> -#include <cstdio> - - -// ===================================================================================== -StringResource::StringResource(const SourcePos& p, const string& f, const Configuration& c, - const string& i, int ix, XMLNode* v, const int ve, const string& vs, - const string& cmnt) - :pos(p), - file(f), - config(c), - id(i), - index(ix), - value(v), - version(ve), - versionString(vs), - comment(cmnt) -{ -} - -StringResource::StringResource() - :pos(), - file(), - config(), - id(), - index(-1), - value(NULL), - version(), - versionString(), - comment() -{ -} - -StringResource::StringResource(const StringResource& that) - :pos(that.pos), - file(that.file), - config(that.config), - id(that.id), - index(that.index), - value(that.value), - version(that.version), - versionString(that.versionString), - comment(that.comment) -{ -} - -int -StringResource::Compare(const StringResource& that) const -{ - if (file != that.file) { - return file < that.file ? -1 : 1; - } - if (id != that.id) { - return id < that.id ? -1 : 1; - } - if (index != that.index) { - return index - that.index; - } - if (config != that.config) { - return config < that.config ? -1 : 1; - } - if (version != that.version) { - return version < that.version ? -1 : 1; - } - return 0; -} - -string -StringResource::TypedID() const -{ - string result; - if (index < 0) { - result = "string:"; - } else { - char n[20]; - sprintf(n, "%d:", index); - result = "array:"; - result += n; - } - result += id; - return result; -} - -static void -split(const string& raw, vector<string>*parts) -{ - size_t index = 0; - while (true) { - size_t next = raw.find(':', index); - if (next != raw.npos) { - parts->push_back(string(raw, index, next-index)); - index = next + 1; - } else { - parts->push_back(string(raw, index)); - break; - } - } -} - -bool -StringResource::ParseTypedID(const string& raw, string* id, int* index) -{ - vector<string> parts; - split(raw, &parts); - - const size_t N = parts.size(); - - for (size_t i=0; i<N; i++) { - if (parts[i].length() == 0) { - return false; - } - } - - if (N == 2 && parts[0] == "string") { - *id = parts[1]; - *index = -1; - return true; - } - else if (N == 3 && parts[0] == "array") { - char* p; - int n = (int)strtol(parts[1].c_str(), &p, 0); - if (*p == '\0') { - *id = parts[2]; - *index = n; - return true; - } else { - return false; - } - } - else { - return false; - } -} - |