Pothos  0.7.0-gf7fbae99
The Pothos dataflow programming software suite
Module.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 #include <Pothos/Config.hpp>
13 #include <memory>
14 #include <vector>
15 #include <string>
16 
17 namespace Pothos {
18 
19 class Plugin;
20 
25 {
26 public:
28  static const PluginModule &null(void);
29 
33  PluginModule(void);
34 
41  PluginModule(const std::string &path);
42 
44  ~PluginModule(void);
45 
54  static PluginModule safeLoad(const std::string &path);
55 
60  std::string getFilePath(void) const;
61 
66  const std::vector<std::string> &getPluginPaths(void) const;
67 
72  explicit operator bool(void) const;
73 
79  std::string getVersion(void) const;
80 
81 private:
82  struct Impl;
83  std::shared_ptr<Impl> _impl;
84  friend Plugin;
85 };
86 
89 class POTHOS_API ModuleVersion
90 {
91 public:
92  ModuleVersion(const std::string &version);
93 };
95 
96 } //namespace Pothos
Definition: Module.hpp:24
#define POTHOS_API
Definition: Config.hpp:41
Definition: ArchiveEntry.hpp:20
Definition: Plugin.hpp:23