1 /***************************************************************************** 2 * Copyright (C) 2003-2004 Max Howell <max.howell@methylblue.com> * 3 * Copyright (C) 2004-2019 Krusader Krew [https://krusader.org] * 4 * * 5 * This file is part of Krusader [https://krusader.org]. * 6 * * 7 * Krusader is free software: you can redistribute it and/or modify * 8 * it under the terms of the GNU General Public License as published by * 9 * the Free Software Foundation, either version 2 of the License, or * 10 * (at your option) any later version. * 11 * * 12 * Krusader is distributed in the hope that it will be useful, * 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 15 * GNU General Public License for more details. * 16 * * 17 * You should have received a copy of the GNU General Public License * 18 * along with Krusader. If not, see [http://www.gnu.org/licenses/]. * 19 *****************************************************************************/ 20 21 #ifndef BUILDER_H 22 #define BUILDER_H 23 24 #include "radialMap.h" //Segment, defines 25 #include "fileTree.h" 26 27 template <class T> class Chain; 28 29 namespace RadialMap 30 { 31 class Map; 32 33 //temporary class that builds the Map signature 34 35 class Builder 36 { 37 public: 38 Builder(Map*, const Directory* const, bool fast = false); 39 40 private: 41 void findVisibleDepth(const Directory* const dir, const uint = 0); 42 void setLimits(const uint&); 43 bool build(const Directory* const, const uint = 0, uint = 0, const uint = 5760); 44 45 Map *m_map; 46 const Directory* const m_root; 47 const FileSize m_minSize; 48 uint *m_depth; 49 Chain<Segment> *m_signature; 50 FileSize *m_limits; 51 }; 52 } 53 54 #endif 55