plugify  1.0.0.0
plugin_descriptor.hpp
1 #pragma once
2 
3 #include <plugify/method.hpp>
4 #include <plugify/reference_wrapper.hpp>
5 #include <plugify_export.h>
6 #include <span>
7 #include <string>
8 
9 namespace plugify {
10  struct PluginDescriptor;
11  class PluginReferenceDescriptorRef;
12  class MethodRef;
13 
22  class PLUGIFY_API PluginDescriptorRef : public Ref<const PluginDescriptor> {
23  using Ref::Ref;
24  public:
30  int32_t GetFileVersion() const noexcept;
31 
37  int32_t GetVersion() const noexcept;
38 
44  std::string_view GetVersionName() const noexcept;
45 
51  std::string_view GetFriendlyName() const noexcept;
52 
58  std::string_view GetDescription() const noexcept;
59 
65  std::string_view GetCreatedBy() const noexcept;
66 
72  std::string_view GetCreatedByURL() const noexcept;
73 
79  std::string_view GetDocsURL() const noexcept;
80 
86  std::string_view GetDownloadURL() const noexcept;
87 
93  std::string_view GetUpdateURL() const noexcept;
94 
100  std::span<std::string_view> GetSupportedPlatforms() const noexcept;
101 
107  std::span<std::string_view> GetResourceDirectories() const noexcept;
108 
114  std::string_view GetEntryPoint() const noexcept;
115 
121  std::string_view GetLanguageModule() const noexcept;
122 
128  std::span<const PluginReferenceDescriptorRef> GetDependencies() const noexcept;
129 
135  std::span<const MethodRef> GetExportedMethods() const noexcept;
136  };
137  static_assert(is_ref_v<PluginDescriptorRef>);
138 } // namespace plugify
A reference class for the Method structure.
Definition: method.hpp:118
A reference class for the PluginDescriptor structure.
int32_t GetFileVersion() const noexcept
< Inherit constructors from Ref<const PluginDescriptor>.
A reference class for the PluginReferenceDescriptor structure.
A lightweight reference wrapper for objects of type T.