ICSAPI::parseVerbose is now used instead of VariantInfo::getVerboseMove.
[tagua/yd.git] / src / variants / variants.h
blob957787e4462dee7fa8454a7b4651b00b42956347
1 /*
2 Copyright (c) 2006 Paolo Capriotti <p.capriotti@sns.it>
3 (c) 2006 Maurizio Monge <maurizio.monge@kdemail.net>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9 */
12 #ifndef VARIANTS_H
13 #define VARIANTS_H
15 #include <QString>
16 #include <map>
18 class VariantInfo;
20 class Variant {
21 public:
22 class case_comparer {
23 public:
24 bool operator()(const QString& a, const QString& b) {
25 return a.compare(b, Qt::CaseInsensitive) < 0;
29 typedef std::map<QString, VariantInfo*, case_comparer> Variants;
31 static bool s_initialized;
32 static Variants s_registered;
34 static void register_variant(VariantInfo* v);
35 template<typename T>
36 static void register_variant();
37 static void initialize();
39 static VariantInfo* variant(const QString& name);
40 static const Variants& allVariants();
41 //static VariantInfo* variant(Code code);
44 #endif // VARIANTS_H