goldendict-ng/src/instances.hh

42 lines
1.1 KiB
C++
Raw Normal View History

/* This file is (c) 2008-2009 Konstantin Isakov <ikm@users.sf.net>
* Part of GoldenDict. Licensed under GPLv3 or later, see the LICENSE file */
#ifndef __INSTANCES_HH_INCLUDED__
#define __INSTANCES_HH_INCLUDED__
#include "config.hh"
#include "dictionary.hh"
// This complements Config, providing instances for the stored configurations.
// Simply put, it can convert groups to ones which hold references to
// dictionaries directly, instead of only having their ids, and can also convert
// them back.
namespace Instances {
using std::vector;
struct Group
{
QString name, icon;
vector< sptr< Dictionary::Class > > dictionaries;
/// Instantiates the given group from its configuration. If some dictionary
/// wasn't found, it just skips it.
Group( Config::Group const & cfgGroup,
vector< sptr< Dictionary::Class > > const & allDictionaries );
/// Creates an empty group.
Group( QString const & name_ );
/// Makes the configuration group from the current contents.
Config::Group makeConfigGroup();
};
typedef vector< Group > Groups;
}
#endif