⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pathmapper.h

📁 Last change: 2008-02-03 This is the source code of KCeasy。
💻 H
字号:
/*
This file is part of KCeasy (http://www.kceasy.com)
Copyright (C) 2002-2004 Markus Kern <mkern@kceasy.com>

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
*/
//---------------------------------------------------------------------------
#ifndef PathMapperH
#define PathMapperH

#include <list>
#include "istring.h"
//---------------------------------------------------------------------------

namespace KCeasyEngine {

using std::list;

// meta data handling

class TPathMap
{
public:
    TPathMap(const string& NKey, const string& NPath) : Key(NKey), Path(NPath) {}
    TPathMap(const TPathMap& Org) : Key(Org.Key), Path(Org.Path) {}
    TPathMap& operator =(const TPathMap& Org) { Key = Org.Key; Path = Org.Path; return *this; }

    string Key;
    string Path;
};

class TPathMapper
{
public:
    typedef list<TPathMap>::iterator Iterator;

    TPathMapper();
    TPathMapper(const TPathMapper& Org);
    TPathMapper& operator =(const TPathMapper& Org);

    bool GetNeedToMap() { return NeedToMap; }
    void SetNeedToMap(bool Need) { NeedToMap = Need; }

    string Serialize();
    bool Unserialize(const string& Serial);

    bool Insert(const string& Key, const string& Path, int Pos = 0);
    void Remove(const string& Key);
    string Map(const string& Path);
    bool MappingExists(const string& Path);
    bool PathUsable(const string &Path);

    bool Empty() { return MapList.empty(); }
    int NoOfMaps() { return MapList.size(); }
    Iterator Begin() { return MapList.begin(); }
    Iterator End() { return MapList.end(); }

private:
    list<TPathMap> MapList;
    bool NeedToMap;
};

} // namespace KCeasyEngine

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -