diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-04-10 17:01:24 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-05-01 00:00:24 +0200 |
commit | 1be7d573326570d63e55e36235537ed2b1831ae1 (patch) | |
tree | ba7037671cde8688e87e69acb753df80ec4cd4f9 /api/dead/src/resources/ResourceHandler.h | |
parent | aa4842a91d35481264ae5a7c0ac17ea43610b600 (diff) | |
download | MultiMC-1be7d573326570d63e55e36235537ed2b1831ae1.tar MultiMC-1be7d573326570d63e55e36235537ed2b1831ae1.tar.gz MultiMC-1be7d573326570d63e55e36235537ed2b1831ae1.tar.lz MultiMC-1be7d573326570d63e55e36235537ed2b1831ae1.tar.xz MultiMC-1be7d573326570d63e55e36235537ed2b1831ae1.zip |
NOISSUE re/move some dead code and unused build system parts
Diffstat (limited to 'api/dead/src/resources/ResourceHandler.h')
-rw-r--r-- | api/dead/src/resources/ResourceHandler.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/api/dead/src/resources/ResourceHandler.h b/api/dead/src/resources/ResourceHandler.h new file mode 100644 index 00000000..f09d8904 --- /dev/null +++ b/api/dead/src/resources/ResourceHandler.h @@ -0,0 +1,36 @@ +#pragma once + +#include <QVariant> +#include <memory> + +#include "multimc_logic_export.h" + +class Resource; + +/** Base class for things that can retrieve a resource. + * + * Subclass, provide a constructor that takes a single QString as argument, and + * call Resource::registerHandler<MyResourceHandler>("<id>"), where <id> is the + * prefix of the resource ("web", "icon", etc.) + */ +class MULTIMC_LOGIC_EXPORT ResourceHandler +{ +public: + virtual ~ResourceHandler() {} + + void setResource(Resource *resource) { m_resource = resource; } + /// reimplement this if you need to do something after you have been put in a shared pointer + // we do this instead of inheriting from std::enable_shared_from_this + virtual void init(std::shared_ptr<ResourceHandler>&) {} + + QVariant result() const { return m_result; } + +protected: // use these methods to notify the resource of changes + void setResult(const QVariant &result); + void setFailure(const QString &reason); + void setProgress(const int progress); + +private: + QVariant m_result; + Resource *m_resource = nullptr; +}; |