Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 30, 2011, 7:51:08 PM (13 years ago)
Author:
landauf
Message:

Code related to config values for output is now implemented in BaseWriter.
There's a config value for the normal output level, a vector with additional contexts, and a config value for the level of these additional contexts.
ioconsole and standard console use the same values.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/output/src/libraries/core/command/Shell.cc

    r8795 r8799  
    5656    unsigned int Shell::cacheSize_s;
    5757
     58    namespace DefaultLogLevel
     59    {
     60        const OutputLevel Dev  = level::internal_warning;
     61        const OutputLevel User = level::user_info;
     62    }
     63
    5864    /**
    5965        @brief Constructor: Initializes the values.
     
    6268    */
    6369    Shell::Shell(const std::string& consoleName, bool bScrollable)
    64         : inputBuffer_(new InputBuffer())
    65         , consoleName_(consoleName)
     70        : BaseWriter(consoleName)
     71        , inputBuffer_(new InputBuffer())
    6672        , bScrollable_(bScrollable)
    6773    {
     
    7985        ConfigFileManager::getInstance().setFilename(ConfigFileType::CommandHistory, "commandHistory.ini");
    8086
     87        // Choose the default level according to the path Orxonox was started (build directory or not)
     88        OutputLevel defaultDebugLevel = (PathConfig::buildDirectoryRun() ? DefaultLogLevel::Dev : DefaultLogLevel::User);
     89        this->setLevelMax(defaultDebugLevel);
     90
    8191        this->setConfigValues();
    8292
     
    91101    {
    92102        this->inputBuffer_->destroy();
    93     }
    94 
    95     namespace DefaultLogLevel
    96     {
    97         const OutputLevel Dev  = level::internal_warning;
    98         const OutputLevel User = level::user_info;
    99103    }
    100104
     
    111115        SetConfigValue(cacheSize_s, 32);
    112116
    113         // Choose the default level according to the path Orxonox was started (build directory or not)
    114         OutputLevel defaultDebugLevel = (PathConfig::buildDirectoryRun() ? DefaultLogLevel::Dev : DefaultLogLevel::User);
    115         SetConfigValueExternal(debugLevel_, "OutputHandler", "debugLevel" + consoleName_, defaultDebugLevel)
    116             .description("The maximum level of debug output shown in the " + consoleName_);
    117         this->setLevelMax(this->debugLevel_);
     117        SetConfigValueExternal(this->configurableMaxLevel_,
     118                               this->getConfigurableSectionName(),
     119                               this->getConfigurableMaxLevelName(),
     120                               this->configurableMaxLevel_)
     121            .description("The maximum level of output shown in the " + this->getName())
     122            .callback(static_cast<BaseWriter*>(this), &BaseWriter::changedConfigurableLevels);
     123        SetConfigValueExternal(this->configurableContextsMaxLevel_,
     124                               this->getConfigurableSectionName(),
     125                               this->getConfigurableContextsMaxLevelName(),
     126                               this->configurableContextsMaxLevel_)
     127            .description("The maximum level of output shown in the " + this->getName() + " for additional contexts")
     128            .callback(static_cast<BaseWriter*>(this), &BaseWriter::changedConfigurableLevels);
     129        SetConfigValueExternal(this->configurableContexts_,
     130                               this->getConfigurableSectionName(),
     131                               this->getConfigurableContextsName(),
     132                               this->configurableContexts_)
     133            .description("Additional output contexts shown in the " + this->getName())
     134            .callback(static_cast<BaseWriter*>(this), &BaseWriter::changedConfigurableLevels);
    118135    }
    119136
     
    150167        if (isNormal)
    151168        {
    152             ModifyConfigValueExternal(debugLevel_, "debugLevel" + consoleName_, update);
     169            ModifyConfigValueExternal(debugLevel_, this->getConfigurableMaxLevelName(), update);
    153170        }
    154171        else
    155172        {
    156173            OutputLevel level = (value ? DefaultLogLevel::Dev : DefaultLogLevel::User);
    157             ModifyConfigValueExternal(debugLevel_, "debugLevel" + consoleName_, tset, level);
     174            ModifyConfigValueExternal(debugLevel_, this->getConfigurableMaxLevelName(), tset, level);
    158175        }
    159176    }
Note: See TracChangeset for help on using the changeset viewer.