362c1f4c3b5ce9e3fce11167a51fbe4cdb2174de
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h  1) /* Blinker
Stefan Schuermans update copyright header

Stefan Schuermans authored 5 years ago

src/common/ListTracker.h  2)    Copyright 2011-2019 Stefan Schuermans <stefan@blinkenarea.org>
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h  3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
src/noarch/ListTracker.h  4)    a blinkenarea.org project */
src/noarch/ListTracker.h  5) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h  6) #ifndef BLINKER_LISTTRACKER_H
src/noarch/ListTracker.h  7) #define BLINKER_LISTTRACKER_H
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h  8) 
src/noarch/ListTracker.h  9) #include <list>
src/noarch/ListTracker.h 10) #include <string>
src/noarch/ListTracker.h 11) 
src/noarch/ListTracker.h 12) #include "Directory.h"
src/noarch/ListTracker.h 13) #include "File.h"
src/noarch/ListTracker.h 14) 
src/noarch/ListTracker.h 15) namespace Blinker {
src/noarch/ListTracker.h 16) 
src/noarch/ListTracker.h 17) /**
src/noarch/ListTracker.h 18)  * @brief tracker of a list kept in a directory
src/noarch/ListTracker.h 19)  * @param[in] PARENT type of parent object
src/noarch/ListTracker.h 20)  * @param[in] TYPE type of objects to allocate for list entries
src/noarch/ListTracker.h 21)  * @param[in] FIDI if to track files or subdirs in directory
src/noarch/ListTracker.h 22)                    (File or Directory)
src/noarch/ListTracker.h 23)  */
src/noarch/ListTracker.h 24) template<typename PARENT, typename TYPE, typename FIDI>
src/noarch/ListTracker.h 25) class ListTracker
src/noarch/ListTracker.h 26) {
src/noarch/ListTracker.h 27) public:
src/noarch/ListTracker.h 28)   /// list entry
src/noarch/ListTracker.h 29)   struct Entry {
src/noarch/ListTracker.h 30)     std::string m_name;  ///< name of list entry
src/noarch/ListTracker.h 31)     TYPE        *m_pObj; ///< object
src/noarch/ListTracker.h 32)   };
src/noarch/ListTracker.h 33) 
src/noarch/ListTracker.h 34)   /// list
src/noarch/ListTracker.h 35)   typedef std::list<Entry> List;
src/noarch/ListTracker.h 36) 
src/noarch/ListTracker.h 37)   /// list iterator
Stefan Schuermans fix (reverse) interator typ...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h 38)   typedef typename List::const_iterator ListIt;
src/noarch/ListTracker.h 39) 
src/noarch/ListTracker.h 40)   /// reverse list iterator
src/noarch/ListTracker.h 41)   typedef typename List::const_reverse_iterator ListRevIt;
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h 42) 
src/noarch/ListTracker.h 43) public:
src/noarch/ListTracker.h 44)   /**
src/noarch/ListTracker.h 45)    * @brief constructor
src/noarch/ListTracker.h 46)    * @param[in] parent parent object
src/noarch/ListTracker.h 47)    * @param[in] dir directory containing list and begin tracked
src/noarch/ListTracker.h 48)    */
src/noarch/ListTracker.h 49)   ListTracker(PARENT &parent, const Directory &dir);
src/noarch/ListTracker.h 50) 
src/noarch/ListTracker.h 51)   /// destructor
src/noarch/ListTracker.h 52)   virtual ~ListTracker();
src/noarch/ListTracker.h 53) 
src/noarch/ListTracker.h 54) private:
src/noarch/ListTracker.h 55)   /// copy constructor disabled
src/noarch/ListTracker.h 56)   ListTracker(const ListTracker &that);
src/noarch/ListTracker.h 57) 
src/noarch/ListTracker.h 58)   /// assignment operator disabled
src/noarch/ListTracker.h 59)   const ListTracker & operator=(const ListTracker &that);
src/noarch/ListTracker.h 60) 
src/noarch/ListTracker.h 61) public:
src/noarch/ListTracker.h 62)   /// initialize list by reading directory
src/noarch/ListTracker.h 63)   void init();
src/noarch/ListTracker.h 64) 
src/noarch/ListTracker.h 65)   /// clear list
src/noarch/ListTracker.h 66)   void clear();
src/noarch/ListTracker.h 67) 
src/noarch/ListTracker.h 68)   /// check for update of configuration
src/noarch/ListTracker.h 69)   void updateConfig();
src/noarch/ListTracker.h 70) 
src/noarch/ListTracker.h 71) protected:
src/noarch/ListTracker.h 72)   /// light update of list, i.e. check all entries in current list
src/noarch/ListTracker.h 73)   void updateListLight();
src/noarch/ListTracker.h 74) 
src/noarch/ListTracker.h 75)   /// full update of list, i.e. scan files/subdirs in list directory
src/noarch/ListTracker.h 76)   void updateListFull();
src/noarch/ListTracker.h 77) 
src/noarch/ListTracker.h 78) public:
src/noarch/ListTracker.h 79)   PARENT    &m_parent; ///< parent object
src/noarch/ListTracker.h 80)   Directory m_dir;     ///< directory containing list and being tracked
src/noarch/ListTracker.h 81)   List      m_list;    ///< list begin tracked
Stefan Schuermans fixed comment typo

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h 82) }; // class ListTracker<PARENT, TYPE, FIDI>
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h 83) 
src/noarch/ListTracker.h 84) } // namespace Blinker
src/noarch/ListTracker.h 85) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

src/noarch/ListTracker.h 86) #endif // #ifndef BLINKER_LISTTRACKER_H