Changeset 910 for library/bdm/bdmroot.h
- Timestamp:
- 04/20/10 21:16:56 (14 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/bdmroot.h
r907 r910 38 38 void UI_DBG (const Setting &S, const string &spc, ostream &out ); 39 39 40 //forward declaration 40 41 //! Forward class declaration 41 42 class logger; 42 43 … … 45 46 //! the existence of this class is forced by the necessity of passing log_levels to user_info methods, however, the main functionality 46 47 //! is located in \c log_level_template class 47 class log_level_base 48 { 48 class log_level_base { 49 49 private: 50 50 // UserInfo class have to be able to read all the internal … … 52 52 friend class UI; 53 53 54 //! this is necessary to allow logger to set ids vector appropriately and also to set registered_logger 55 friend class logger; 56 54 57 protected: 55 58 //! boolean flags related indicating which details will be logged to a logger 56 59 bitset<32> values; 57 60 61 //! vector of log IDs - one element for each entry 62 ivec ids; 63 64 //! internal pointer to the logger to which this log_level is registered 65 //! 66 //! it is set to NULL at the beginning 67 logger * registered_logger; 68 58 69 public: 70 //! default constructor 71 log_level_base() { 72 registered_logger = NULL; 73 } 74 59 75 60 76 //! a general utility transforming a comma-separated sequence of strings into an instance of Array<strings> … … 64 80 virtual const Array<string> &names() const = 0; 65 81 }; 66 67 82 68 83 //! Root class of BDM objects … … 73 88 74 89 protected: 75 //!remember which logger is registered76 logger * registered_logger;77 90 78 91 /*! … … 157 170 158 171 //!default constructor 159 root() : registered_logger ( NULL ){};172 root() {}; 160 173 161 174 //! make sure this is a virtual object … … 172 185 return os.str(); 173 186 } 174 //! Register itself in a logger, i.e. allocate space for data from this class 175 //! The level of details (parameter \c level ) is individual for each class. 187 //! Register log levels of each inheritance layer to a logger, i.e. allocate space for data from this class 176 188 virtual void log_register ( logger &L, const string &prefix ) { 177 registered_logger = &L;178 189 } 179 190