- Timestamp:
- Aug 21, 2011, 6:27:30 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/output/src/libraries/util/output/BaseWriter.cc
r8834 r8850 33 33 namespace orxonox 34 34 { 35 BaseWriter::BaseWriter(const std::string& name, bool bRegister) : OutputListener(bRegister)35 BaseWriter::BaseWriter(const std::string& name, bool bRegister) : SubcontextOutputListener(bRegister) 36 36 { 37 37 this->name_ = name; … … 40 40 this->configurableAdditionalContextsMaxLevel_ = level::verbose; 41 41 this->configurableAdditionalContexts_.push_back("example"); 42 43 this->subcontextsCheckMask_ = context::none;44 this->subcontextsNoCheckMask_ = context::none;45 42 46 43 this->changedConfigurableLevel(); … … 55 52 void BaseWriter::output(OutputLevel level, const OutputContextContainer& context, const std::vector<std::string>& lines) 56 53 { 57 if (((this->subcontextsCheckMask_ & context.mask) == 0) || 58 (this->subcontextsNoCheckMask_ & context.mask) || 59 (this->subcontexts_.find(context.sub_id) != this->subcontexts_.end())) 60 { 61 const std::string& prefix = OutputManager::getInstance().getDefaultPrefix(level, context); 62 std::string blanks(prefix.length(), ' '); 54 const std::string& prefix = OutputManager::getInstance().getDefaultPrefix(level, context); 55 std::string blanks(prefix.length(), ' '); 63 56 64 for (size_t i = 0; i < lines.size(); ++i) 65 this->printLine((i == 0 ? prefix : blanks) + lines[i], level); 66 } 57 for (size_t i = 0; i < lines.size(); ++i) 58 this->printLine((i == 0 ? prefix : blanks) + lines[i], level); 67 59 } 68 60 … … 91 83 void BaseWriter::changedConfigurableAdditionalContexts() 92 84 { 93 OutputContextMask context_mask = context::none; 94 this->subcontextsCheckMask_ = context::none; 95 this->subcontextsNoCheckMask_ = context::none; 96 97 this->subcontexts_.clear(); 85 OutputContextMask main_contexts = context::none; 86 std::set<const OutputContextContainer*> sub_contexts; 98 87 99 88 for (size_t i = 0; i < this->configurableAdditionalContexts_.size(); ++i) … … 111 100 } 112 101 113 const OutputContextContainer& cont ainer= OutputManager::getInstance().registerContext(name, subname);102 const OutputContextContainer& context = OutputManager::getInstance().registerContext(name, subname); 114 103 115 context_mask |= container.mask; 116 117 if (container.sub_id != context::no_subcontext) 118 { 119 this->subcontexts_.insert(container.sub_id); 120 this->subcontextsCheckMask_ |= container.mask; 121 } 104 if (context.sub_id == context::no_subcontext) 105 main_contexts |= context.mask; 122 106 else 123 { 124 this->subcontextsNoCheckMask_ |= container.mask; 125 } 107 sub_contexts.insert(&context); 126 108 } 127 109 128 this->setAdditionalContextsMask(context_mask); 110 this->setAdditionalContextsMask(main_contexts); 111 this->setAdditionalSubcontexts(sub_contexts); 129 112 } 130 113 }
Note: See TracChangeset
for help on using the changeset viewer.