Horizon
via_padstack_provider.hpp
1 #pragma once
2 #include "common/common.hpp"
3 #include "nlohmann/json_fwd.hpp"
4 #include "pool/padstack.hpp"
5 #include "util/uuid.hpp"
6 #include <fstream>
7 #include <map>
8 #include <sqlite3.h>
9 #include <vector>
10 
11 namespace horizon {
12 
14 public:
15  ViaPadstackProvider(const std::string &p, class IPool &po);
16  const Padstack *get_padstack(const UUID &uu);
17  void update_available();
18  class PadstackEntry {
19  public:
20  PadstackEntry(const std::string &p, const std::string &n) : path(p), name(n)
21  {
22  }
23 
24  std::string path;
25  std::string name;
26  };
27  const std::map<UUID, PadstackEntry> &get_padstacks_available() const;
28 
29 private:
30  std::string base_path;
31  class IPool &pool;
32 
33  std::map<UUID, Padstack> padstacks;
34  std::map<UUID, PadstackEntry> padstacks_available;
35 };
36 } // namespace horizon
horizon::ViaPadstackProvider
Definition: via_padstack_provider.hpp:13
horizon::ViaPadstackProvider::PadstackEntry
Definition: via_padstack_provider.hpp:18
horizon::Padstack
Definition: padstack.hpp:21
horizon::IPool
Definition: ipool.hpp:12
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16