29f7ea752f
This turns issues like creating two shared ptrs from a single raw ptr from popping up at runtime, instead making them a compile error. Signed-off-by: flow <flowlnlnln@gmail.com>
47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <QJsonDocument>
|
|
|
|
#include <modplatform/ResourceAPI.h>
|
|
|
|
class SearchTask : public Task {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
void executeTask() override { emitSucceeded(); }
|
|
};
|
|
|
|
class DummyResourceAPI : public ResourceAPI {
|
|
public:
|
|
static auto searchRequestResult()
|
|
{
|
|
static QByteArray json_response =
|
|
"{\"hits\":["
|
|
"{"
|
|
"\"author\":\"flowln\","
|
|
"\"description\":\"the bestest mod\","
|
|
"\"project_id\":\"something\","
|
|
"\"project_type\":\"mod\","
|
|
"\"slug\":\"bip_bop\","
|
|
"\"title\":\"AAAAAAAA\","
|
|
"\"versions\":[\"2.71\"]"
|
|
"}"
|
|
"]}";
|
|
|
|
return QJsonDocument::fromJson(json_response);
|
|
}
|
|
|
|
DummyResourceAPI() : ResourceAPI() {}
|
|
[[nodiscard]] auto getSortingMethods() const -> QList<SortingMethod> override { return {}; };
|
|
|
|
[[nodiscard]] Task::Ptr searchProjects(SearchArgs&&, SearchCallbacks&& callbacks) const override
|
|
{
|
|
auto task = makeShared<SearchTask>();
|
|
QObject::connect(task.get(), &Task::succeeded, [=] {
|
|
auto json = searchRequestResult();
|
|
callbacks.on_succeed(json);
|
|
});
|
|
return task;
|
|
}
|
|
};
|