aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/providers/config/yql_config_provider.h
blob: 7b04e98e57f80b68df0fb89c4e03521e0cf202dd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once

#include <yql/essentials/core/yql_type_annotation.h>

#include <util/generic/strbuf.h>
#include <util/generic/string.h>

#include <functional>

namespace NYql {

class TGatewaysConfig;

const TStringBuf ConfReadName = "ConfRead!";

using TAllowSettingPolicy = std::function<bool(TStringBuf settingName)>;

TIntrusivePtr<IDataProvider> CreateConfigProvider(TTypeAnnotationContext& types, const TGatewaysConfig* config, const TString& username,
    const TAllowSettingPolicy& policy = TAllowSettingPolicy()); // allow all settings by default

const THashSet<TStringBuf>& ConfigProviderFunctions();

} // namespace NYql