#pragma once #include #include #include namespace NMonitoring { struct ITvmManager { virtual ~ITvmManager() = default; virtual bool IsAllowedClient(NTvmAuth::TTvmId clientId) = 0; virtual NTvmAuth::TCheckedServiceTicket CheckServiceTicket(TStringBuf ticket) = 0; }; THolder CreateDefaultTvmManager( NTvmAuth::NTvmApi::TClientSettings settings, TVector allowedClients, NTvmAuth::TLoggerPtr logger = NTvmAuth::TDevNullLogger::IAmBrave()); THolder CreateDefaultTvmManager( NTvmAuth::NTvmTool::TClientSettings settings, TVector allowedClients, NTvmAuth::TLoggerPtr logger = NTvmAuth::TDevNullLogger::IAmBrave()); THolder CreateDefaultTvmManager( TAtomicSharedPtr client, TVector allowedClients); THolder CreateDefaultTvmManager( std::shared_ptr client, TVector allowedClients); THolder CreateTvmAuth(THolder tvmManager); } // namespace NMonitoring