mirror of
https://github.com/wiiu-env/WiiUPluginLoaderBackend.git
synced 2026-09-25 12:22:14 -05:00
- use const auto& where possible
- avoid using const std::unique_ptr& and const std::shared_ptr& - avoid wrapping results in std::optional - prefer std::string_view over const std::string& - update FSUtils::LoadFileToMem to write into std::vector<uint8_t> - use std::span when possible - Avoid unnessecary copies in PluginDataFactory - allocate plugins as HeapMemoryFixedSize which bascially is a std::unique_ptr with fixed size
This commit is contained in:
@@ -26,28 +26,29 @@
|
||||
class PluginContainer {
|
||||
public:
|
||||
PluginContainer(std::unique_ptr<PluginMetaInformation> metaInformation, std::unique_ptr<PluginInformation> pluginInformation, std::shared_ptr<PluginData> pluginData)
|
||||
: metaInformation(std::move(metaInformation)),
|
||||
pluginInformation(std::move(pluginInformation)),
|
||||
pluginData(std::move(pluginData)) {
|
||||
: mMetaInformation(std::move(metaInformation)),
|
||||
mPluginInformation(std::move(pluginInformation)),
|
||||
mPluginData(std::move(pluginData)) {
|
||||
}
|
||||
|
||||
[[nodiscard]] const std::unique_ptr<PluginMetaInformation> &getMetaInformation() const {
|
||||
return this->metaInformation;
|
||||
[[nodiscard]] const PluginMetaInformation &getMetaInformation() const {
|
||||
return *this->mMetaInformation;
|
||||
}
|
||||
|
||||
[[nodiscard]] const std::unique_ptr<PluginInformation> &getPluginInformation() const {
|
||||
return pluginInformation;
|
||||
[[nodiscard]] const PluginInformation &getPluginInformation() const {
|
||||
return *this->mPluginInformation;
|
||||
}
|
||||
|
||||
[[nodiscard]] const std::shared_ptr<PluginData> &getPluginData() const {
|
||||
return pluginData;
|
||||
[[nodiscard]] std::shared_ptr<PluginData> getPluginDataCopy() const {
|
||||
return mPluginData;
|
||||
}
|
||||
|
||||
uint32_t getHandle() {
|
||||
return (uint32_t) this;
|
||||
}
|
||||
|
||||
const std::unique_ptr<PluginMetaInformation> metaInformation;
|
||||
const std::unique_ptr<PluginInformation> pluginInformation;
|
||||
const std::shared_ptr<PluginData> pluginData;
|
||||
private:
|
||||
const std::unique_ptr<PluginMetaInformation> mMetaInformation;
|
||||
const std::unique_ptr<PluginInformation> mPluginInformation;
|
||||
const std::shared_ptr<PluginData> mPluginData;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user