Belle II Software  release-05-01-25
CentralMetadataProvider.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <framework/database/MetadataProvider.h>
13 #include <framework/database/Downloader.h>
14 #include <nlohmann/json.hpp>
15 
16 namespace Belle2::Conditions {
18  class CentralMetadataProvider: public MetadataProvider {
19  public:
21  CentralMetadataProvider(std::string baseUrl, const std::set<std::string>& usableTagStates);
23  virtual ~CentralMetadataProvider() = default;
28  std::string getGlobaltagStatus(const std::string& name) override;
34  bool updatePayloads(const std::string& globaltag, int exp, int run) override;
35  private:
38  nlohmann::json get(const std::string& url);
42  std::string m_baseUrl;
43  };
44 } // Belle2::Conditions namespace
Belle2::Conditions::CentralMetadataProvider::updatePayloads
bool updatePayloads(const std::string &globaltag, int exp, int run) override
Update the list of known payloads for the given globaltag/exp/run.
Definition: CentralMetadataProvider.cc:70
Belle2::Conditions::CentralMetadataProvider::~CentralMetadataProvider
virtual ~CentralMetadataProvider()=default
default destructor
Belle2::Conditions::CentralMetadataProvider::get
nlohmann::json get(const std::string &url)
Downlad a given relative url (the baseUrl will be prependend) and return the json description.
Definition: CentralMetadataProvider.cc:42
Belle2::Conditions::CentralMetadataProvider::getGlobaltagStatus
std::string getGlobaltagStatus(const std::string &name) override
Check the status of a given globaltag .
Definition: CentralMetadataProvider.cc:52
Belle2::Conditions::Downloader::getDefaultInstance
static Downloader & getDefaultInstance()
Return the default instance.
Definition: Downloader.cc:143
Belle2::Conditions::CentralMetadataProvider::m_baseUrl
std::string m_baseUrl
base url of the server
Definition: CentralMetadataProvider.h:58
Belle2::Conditions::CentralMetadataProvider::CentralMetadataProvider
CentralMetadataProvider(std::string baseUrl, const std::set< std::string > &usableTagStates)
Create using a base rest url to find the server endpoints.
Definition: CentralMetadataProvider.cc:17
Belle2::Conditions::CentralMetadataProvider::m_downloader
Downloader & m_downloader
Reference to the downloader instance for convenience.
Definition: CentralMetadataProvider.h:56