Changeset 9550 for code/trunk/src/libraries/util/output/OutputManager.h
- Timestamp:
- Mar 12, 2013, 11:13:03 PM (11 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/testing (added) merged: 9015,9017,9020-9022,9025-9026,9047,9076-9078,9114-9115,9221-9226,9356,9473-9480,9524,9529-9531,9533-9545,9547-9549
- Property svn:mergeinfo changed
-
code/trunk/src/libraries/util/output/OutputManager.h
r8858 r9550 43 43 44 44 #include "OutputDefinitions.h" 45 #include "AdditionalContextListener.h" 45 46 46 47 namespace orxonox … … 61 62 Additionally OutputManager is used to register output contexts. 62 63 */ 63 class _UtilExport OutputManager 64 class _UtilExport OutputManager : public AdditionalContextListener 64 65 { 65 66 public: 67 OutputManager(); 68 OutputManager(const OutputManager&); 69 virtual ~OutputManager(); 70 66 71 static OutputManager& getInstance(); 67 72 static OutputManager& getInstanceAndCreateListeners(); 68 73 69 void pushMessage(OutputLevel level, const OutputContextContainer& context, const std::string& message); 74 inline MemoryWriter* getMemoryWriter() { return this->memoryWriterInstance_; } 75 inline ConsoleWriter* getConsoleWriter() { return this->consoleWriterInstance_; } 76 inline LogWriter* getLogWriter() { return this->logWriterInstance_; } 70 77 71 void registerListener(OutputListener* listener); 72 void unregisterListener(OutputListener* listener); 78 virtual void pushMessage(OutputLevel level, const OutputContextContainer& context, const std::string& message); 73 79 74 void updateMasks(); 75 void updateCombinedLevelMask(); 76 void updateCombinedAdditionalContextsLevelMask(); 77 void updateCombinedAdditionalContextsMask(); 80 virtual void registerListener(OutputListener* listener); 81 virtual void unregisterListener(OutputListener* listener); 82 83 virtual void updatedLevelMask(const OutputListener* listener) 84 { this->updateCombinedLevelMask(); } 85 virtual void updatedAdditionalContextsLevelMask(const OutputListener* listener) 86 { this->updateCombinedAdditionalContextsLevelMask(); } 87 virtual void updatedAdditionalContextsMask(const OutputListener* listener) 88 { this->updateCombinedAdditionalContextsMask(); } 78 89 79 90 /** … … 95 106 std::string getDefaultPrefix(OutputLevel level, const OutputContextContainer& context) const; 96 107 108 inline const std::vector<OutputListener*>& getListeners() const 109 { return this->listeners_; } 110 111 inline OutputLevel getCombinedLevelMask() const { return this->combinedLevelMask_; } 112 inline OutputLevel getCombinedAdditionalContextsLevelMask() const { return this->combinedAdditionalContextsLevelMask_; } 113 inline OutputContextMask getCombinedAdditionalContextsMask() const { return this->combinedAdditionalContextsMask_; } 114 97 115 private: 98 OutputManager(); 99 OutputManager(const OutputManager&); 100 ~OutputManager(); 116 void updateMasks(); 117 void updateCombinedLevelMask(); 118 void updateCombinedAdditionalContextsLevelMask(); 119 void updateCombinedAdditionalContextsMask(); 101 120 102 121 std::vector<OutputListener*> listeners_; ///< List of all registered output listeners … … 109 128 std::map<std::string, OutputContextContainer> contextContainers_; ///< Contains all contexts including sub-contexts and their containers 110 129 OutputContextSubID subcontextCounter_; ///< Counts the number of sub-contexts (and generates their IDs) 130 131 bool isInitialized_; ///< Becomes true once the following instances were created 132 MemoryWriter* memoryWriterInstance_; ///< The main instance of MemoryWriter, managed by OutputManager 133 ConsoleWriter* consoleWriterInstance_; ///< The main instance of ConsoleWriter, managed by OutputManager 134 LogWriter* logWriterInstance_; ///< The main instance of LogWriter, managed by OutputManager 135 136 public: 137 struct _UtilExport Testing 138 { 139 static SharedPtr<OutputManager>& getInstancePointer(); 140 }; 111 141 }; 112 142 }
Note: See TracChangeset
for help on using the changeset viewer.