49 lines
1.4 KiB
C
49 lines
1.4 KiB
C
|
#ifndef VALUES_H
|
||
|
#define VALUES_H
|
||
|
|
||
|
#include "Configuration.h"
|
||
|
#include "XMLHandler.h"
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
enum {
|
||
|
CURRENT_VERSION,
|
||
|
OLD_VERSION
|
||
|
};
|
||
|
|
||
|
struct StringResource
|
||
|
{
|
||
|
StringResource();
|
||
|
StringResource(const SourcePos& pos, const string& file, const Configuration& config,
|
||
|
const string& id, int index, XMLNode* value,
|
||
|
int version, const string& versionString, const string& comment = "");
|
||
|
StringResource(const StringResource& that);
|
||
|
|
||
|
// Compare two configurations
|
||
|
int Compare(const StringResource& that) const;
|
||
|
|
||
|
inline bool operator<(const StringResource& that) const { return Compare(that) < 0; }
|
||
|
inline bool operator<=(const StringResource& that) const { return Compare(that) <= 0; }
|
||
|
inline bool operator==(const StringResource& that) const { return Compare(that) == 0; }
|
||
|
inline bool operator!=(const StringResource& that) const { return Compare(that) != 0; }
|
||
|
inline bool operator>=(const StringResource& that) const { return Compare(that) >= 0; }
|
||
|
inline bool operator>(const StringResource& that) const { return Compare(that) > 0; }
|
||
|
|
||
|
string TypedID() const;
|
||
|
static bool ParseTypedID(const string& typed, string* id, int* index);
|
||
|
|
||
|
SourcePos pos;
|
||
|
string file;
|
||
|
Configuration config;
|
||
|
string id;
|
||
|
int index;
|
||
|
XMLNode* value;
|
||
|
int version;
|
||
|
string versionString;
|
||
|
string comment;
|
||
|
};
|
||
|
|
||
|
#endif // VALUES_H
|