Enhancement - attributes and stringtable

- Modified Att to contain a vector of Mods, not std::strings, even
  though a Mod is a std::string.
- Added a StringTable object to Context, to start getting the I18N
  infrastructure in place before it is needed.  Only a few strings
  are expected to be migrated.
This commit is contained in:
Paul Beckingham 2009-05-23 10:32:07 -04:00
parent 627d0a7ae9
commit 17979e10f0
3 changed files with 33 additions and 20 deletions

View file

@ -29,6 +29,7 @@
#include <string>
#include <vector>
#include "Mod.h"
class Att
{
@ -66,7 +67,7 @@ private:
private:
std::string mName;
std::string mValue;
std::vector <std::string> mMods;
std::vector <Mod> mMods;
};
#endif

View file

@ -47,12 +47,13 @@ Context::Context ()
Context::Context (const Context& other)
{
throw std::string ("unimplemented Context::Context");
config = other.config;
filter = other.filter;
keymap = other.keymap;
sequence = other.sequence;
task = other.task;
tdb = other.tdb;
config = other.config;
filter = other.filter;
keymap = other.keymap;
sequence = other.sequence;
task = other.task;
tdb = other.tdb;
stringtable = other.stringtable;
}
////////////////////////////////////////////////////////////////////////////////
@ -61,12 +62,13 @@ Context& Context::operator= (const Context& other)
throw std::string ("unimplemented Context::operator=");
if (this != &other)
{
config = other.config;
filter = other.filter;
keymap = other.keymap;
sequence = other.sequence;
task = other.task;
tdb = other.tdb;
config = other.config;
filter = other.filter;
keymap = other.keymap;
sequence = other.sequence;
task = other.task;
tdb = other.tdb;
stringtable = other.stringtable;
}
return *this;
@ -105,6 +107,7 @@ void Context::initialize (int argc, char** argv)
// Allow user override of file locking. Solaris/NFS machines may want this.
tdb.lock (config.get ("locking", true));
// TODO Load appropriate stringtable.
// TODO Load pending.data.
// TODO Load completed.data.
// TODO Load deleted.data.
@ -122,6 +125,13 @@ int Context::run ()
return 0;
}
////////////////////////////////////////////////////////////////////////////////
int Context::interactive ()
{
throw std::string ("unimplemented Context::interactive");
return 0;
}
////////////////////////////////////////////////////////////////////////////////
void Context::loadCorrectConfigFile (int argc, char** argv)
{

View file

@ -33,7 +33,7 @@
#include "Sequence.h"
#include "T.h"
#include "TDB.h"
#include "StringTable.h"
class Context
{
@ -45,17 +45,19 @@ public:
void initialize (int, char**);
int run ();
int interactive ();
private:
void loadCorrectConfigFile (int, char**);
public:
Config config;
Filter filter;
Keymap keymap;
Sequence sequence;
T task;
TDB tdb;
Config config;
Filter filter;
Keymap keymap;
Sequence sequence;
T task;
TDB tdb;
StringTable stringtable;
private:
};