Files
winix/templates/indexpatterns.h
Tomasz Sowa 217cf1420b the first part of reimplementing has been done
now we have app object and singletons are only: log logn plugin and app



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@628 e52654a7-88a9-db11-a3e9-0013d4bc506e
2010-08-10 16:12:50 +00:00

63 lines
1.4 KiB
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslutemplatesindexpatterns
#define headerfilecmslutemplatesindexpatterns
#include <string>
#include <vector>
#include <map>
#include "ezc.h"
#include "localefilter.h"
#include "core/locale.h"
#include "core/config.h"
class IndexPatterns
{
public:
void SetConfig(Config * pconfig);
// can return null pointer if there is not such a pattern
Ezc::Pattern * GetPattern(const std::string & file, Locale::Lang lang);
void AddPattern(const std::string & file, Locale & locale, LocaleFilter & locale_filter, bool delete_white);
void AddPatternIfNotExists(const std::string & file, Locale & locale, LocaleFilter & locale_filter, bool delete_white);
// adding a file name without reading the pattern
// the pattern will be read during ReloadPatterns()
void AddFileName(const std::string & file);
void ReloadPatterns(Locale & locale, LocaleFilter & locale_filter, bool delete_white);
void MarkAllToDelete();
void DeleteMarked();
private:
Config * config;
struct Template
{
bool to_delete;
// table[lang]
std::vector<Ezc::Pattern> patterns;
};
typedef std::map<std::string, Template> Tab;
Tab tab;
void ReadPattern(Tab::iterator & i, Locale & locale, LocaleFilter & locale_filter, bool delete_white);
};
#endif