Pothos  0.5.0-ga4964040
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 
74 private:
75  struct Impl;
76  std::shared_ptr<Impl> _impl;
77  friend Plugin;
78 };
79 
80 } //namespace Pothos
Definition: Module.hpp:24
#define POTHOS_API
Definition: Config.hpp:41
Definition: ArchiveEntry.hpp:20
Definition: Plugin.hpp:23