morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::ui::author::QueryHandle< Action, Value > Class Template Reference

A query declared by a scope. More...

#include <author.hpp>

Public Types

using Result = Value
 The value's C++ type.

Public Member Functions

 QueryHandle (std::string name)
 A query by name.
std::string const & name () const noexcept
 The query's name.
Handle< Result > value () const
 The query's value; the last one is kept while a refetch is in flight.
template<typename Class, typename Member>
requires std::same_as<Class, detail::UnwrappedT<Result>>
Handle< Member > at (Member Class::*member) const
 A field of the query's value.
Handle< bool > pending () const
 Whether the query is in flight.
Handle< std::string > error () const
 The query's error text.
Handle< std::string > errorKind () const
 The kind of the query's error.
Handle< bool > can () const
 Whether the signed-in principal may run the query.
 operator QueryRef () const
 The query without its action type.

Detailed Description

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
class morph::ui::author::QueryHandle< Action, Value >

A query declared by a scope.

Template Parameters
ActionThe action it runs.
ValueThe value's C++ type: the action's result for a call, the action itself for an evaluation.

Definition at line 1332 of file author.hpp.

Member Typedef Documentation

◆ Result

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
using morph::ui::author::QueryHandle< Action, Value >::Result = Value

The value's C++ type.

Definition at line 1335 of file author.hpp.

Constructor & Destructor Documentation

◆ QueryHandle()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
morph::ui::author::QueryHandle< Action, Value >::QueryHandle ( std::string name)
inlineexplicit

A query by name.

Parameters
nameThe query's name.

Definition at line 1339 of file author.hpp.

Member Function Documentation

◆ name()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
std::string const & morph::ui::author::QueryHandle< Action, Value >::name ( ) const
inlinenodiscardnoexcept

The query's name.

Returns
The name.

Definition at line 1343 of file author.hpp.

◆ value()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
Handle< Result > morph::ui::author::QueryHandle< Action, Value >::value ( ) const
inlinenodiscard

The query's value; the last one is kept while a refetch is in flight.

Returns
{"ref": name}.

Definition at line 1347 of file author.hpp.

◆ at()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
template<typename Class, typename Member>
requires std::same_as<Class, detail::UnwrappedT<Result>>
Handle< Member > morph::ui::author::QueryHandle< Action, Value >::at ( Member Class::* member) const
inlinenodiscard

A field of the query's value.

Template Parameters
ClassThe result type.
MemberThe member's type.
Parameters
memberThe member of the result type.
Returns
The field read.

Definition at line 1356 of file author.hpp.

◆ pending()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
Handle< bool > morph::ui::author::QueryHandle< Action, Value >::pending ( ) const
inlinenodiscard

Whether the query is in flight.

Returns
{"pending": name}.

Definition at line 1362 of file author.hpp.

◆ error()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
Handle< std::string > morph::ui::author::QueryHandle< Action, Value >::error ( ) const
inlinenodiscard

The query's error text.

Returns
{"error": name}.

Definition at line 1366 of file author.hpp.

◆ errorKind()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
Handle< std::string > morph::ui::author::QueryHandle< Action, Value >::errorKind ( ) const
inlinenodiscard

The kind of the query's error.

Returns
{"errorKind": name}.

Definition at line 1372 of file author.hpp.

◆ can()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
Handle< bool > morph::ui::author::QueryHandle< Action, Value >::can ( ) const
inlinenodiscard

Whether the signed-in principal may run the query.

Returns
{"can": name}.

Definition at line 1378 of file author.hpp.

◆ operator QueryRef()

template<typename Action, typename Value = typename ::morph::model::ActionTraits<Action>::Result>
morph::ui::author::QueryHandle< Action, Value >::operator QueryRef ( ) const
inline

The query without its action type.

Returns
The reference.

Definition at line 1382 of file author.hpp.


The documentation for this class was generated from the following file: