libkazv
Loading...
Searching...
No Matches
status-utils.hpp
Go to the documentation of this file.
1/*
2 * This file is part of libkazv.
3 * SPDX-FileCopyrightText: 2020-2024 tusooa <tusooa@kazv.moe>
4 * SPDX-License-Identifier: AGPL-3.0-or-later
5 */
6
7#pragma once
8#include <libkazv-config.hpp>
9#include <context.hpp>
10#include <basejob.hpp>
11
12namespace Kazv
13{
14 namespace detail
15 {
16 struct SimpleFailT
17 {
18 template<class Context>
19 EffectStatus operator()(Context &&) const {
20 return EffectStatus(/* succ = */ false);
21 };
22 };
23
24 struct ReturnEffectStatusT
25 {
26 EffectStatus st;
27
28 template<class Context>
29 EffectStatus operator()(Context &&) const
30 {
31 return st;
32 };
33
34 EffectStatus effectStatus() const;
35 };
36 }
37
41 constexpr auto simpleFail = detail::SimpleFailT{};
42
46 detail::ReturnEffectStatusT failWithResponse(const BaseJob::Response &r);
47
52 detail::ReturnEffectStatusT failEffect(std::string errorCode, std::string errorMsg);
53}
::Kazv::Response Response
Definition basejob.hpp:108
Definition location.hpp:10
detail::ReturnEffectStatusT failEffect(std::string errorCode, std::string errorMsg)
An effect that returns a failed EffectStatus with the given error code and message.
Definition status-utils.cpp:32
constexpr auto simpleFail
A effect that returns a failed EffectStatus upon invocation.
Definition status-utils.hpp:41
ContextBase< DefaultRetType, A, D > Context
Definition context.hpp:201
detail::ReturnEffectStatusT failWithResponse(const BaseJob::Response &r)
A effect that returns a failed EffectStatus upon invocation.
Definition status-utils.cpp:19