<commit_before>#ifndef PRIMARY_VIRTUALSECONDARY_H_
#define PRIMARY_VIRTUALSECONDARY_H_

#include <string>

#include "libaktualizr/types.h"
#include "managedsecondary.h"

namespace Primary {

class VirtualSecondaryConfig : public ManagedSecondaryConfig {
 public:
  VirtualSecondaryConfig() : ManagedSecondaryConfig(Type) {}
  VirtualSecondaryConfig(const Json::Value& json_config);

  static std::vector<VirtualSecondaryConfig> create_from_file(const boost::filesystem::path& file_full_path);
  void dump(const boost::filesystem::path& file_full_path) const;

 public:
  static const char* const Type;
};

class VirtualSecondary : public ManagedSecondary {
 public:
  explicit VirtualSecondary(Primary::VirtualSecondaryConfig sconfig_in);
  ~VirtualSecondary() override = default;

  std::string Type() const override { return VirtualSecondaryConfig::Type; }
  data::InstallationResult putMetadata(const Uptane::Target& target) override;
  data::InstallationResult putRoot(const std::string& root, bool director) override;
  data::InstallationResult sendFirmware(const Uptane::Target& target) override;
  data::InstallationResult install(const Uptane::Target& target) override;

  bool ping() const override { return true; }
};

}  // namespace Primary

#endif  // PRIMARY_VIRTUALSECONDARY_H_
<commit_msg>Add 'explicit' keyword to single argument ctor<commit_after>#ifndef PRIMARY_VIRTUALSECONDARY_H_
#define PRIMARY_VIRTUALSECONDARY_H_

#include <string>

#include "libaktualizr/types.h"
#include "managedsecondary.h"

namespace Primary {

class VirtualSecondaryConfig : public ManagedSecondaryConfig {
 public:
  VirtualSecondaryConfig() : ManagedSecondaryConfig(Type) {}
  explicit VirtualSecondaryConfig(const Json::Value& json_config);

  static std::vector<VirtualSecondaryConfig> create_from_file(const boost::filesystem::path& file_full_path);
  void dump(const boost::filesystem::path& file_full_path) const;

 public:
  static const char* const Type;
};

class VirtualSecondary : public ManagedSecondary {
 public:
  explicit VirtualSecondary(Primary::VirtualSecondaryConfig sconfig_in);
  ~VirtualSecondary() override = default;

  std::string Type() const override { return VirtualSecondaryConfig::Type; }
  data::InstallationResult putMetadata(const Uptane::Target& target) override;
  data::InstallationResult putRoot(const std::string& root, bool director) override;
  data::InstallationResult sendFirmware(const Uptane::Target& target) override;
  data::InstallationResult install(const Uptane::Target& target) override;

  bool ping() const override { return true; }
};

}  // namespace Primary

#endif  // PRIMARY_VIRTUALSECONDARY_H_

{'fraction_non_alphanumeric': 0.09653092006033183, 'fraction_numerical': 0.0, 'mean_word_length': 7.449044585987261, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '963620', 'n_tokens_mistral': 796, 'n_tokens_neox': 758, 'n_words': 181}