config.cpp 919 B

1234567891011121314151617181920212223242526
  1. #include "config.h"
  2. TLogBackendCreatorInitContextConfig::TLogBackendCreatorInitContextConfig(const NConfig::TConfig& config)
  3. : Config(config)
  4. {}
  5. bool TLogBackendCreatorInitContextConfig::GetValue(TStringBuf name, TString& var) const {
  6. if (Config.Has(name)) {
  7. var = Config[name].Get<TString>();
  8. return true;
  9. }
  10. return false;
  11. }
  12. TVector<THolder<ILogBackendCreator::IInitContext>> TLogBackendCreatorInitContextConfig::GetChildren(TStringBuf name) const {
  13. TVector<THolder<IInitContext>> result;
  14. const NConfig::TConfig& child = Config[name];
  15. if (child.IsA<NConfig::TArray>()) {
  16. for (const auto& i: child.Get<NConfig::TArray>()) {
  17. result.emplace_back(MakeHolder<TLogBackendCreatorInitContextConfig>(i));
  18. }
  19. } else if (!child.IsNull()) {
  20. result.emplace_back(MakeHolder<TLogBackendCreatorInitContextConfig>(child));
  21. }
  22. return result;
  23. }