21 #include <unity/scopes/ScopeMetadata.h>
34 class ScopeMetadataBuilder
41 inline Optional() =
default;
42 inline Optional(
const T& t) : value(new T{t})
46 inline operator bool()
const
48 return value.get() !=
nullptr;
51 inline Optional<T>& operator=(
const T& rhs)
56 value.reset(
new T{rhs});
61 inline Optional<T>& operator=(
const Optional<T>& rhs)
71 inline const T& operator*()
const
77 std::unique_ptr<T> value;
80 ScopeMetadataBuilder();
81 ~ScopeMetadataBuilder();
83 ScopeMetadataBuilder& scope_id(std::string
const& value);
84 ScopeMetadataBuilder& proxy(
ScopeProxy const& value);
85 ScopeMetadataBuilder& display_name(std::string
const& value);
86 ScopeMetadataBuilder& description(std::string
const& value);
87 ScopeMetadataBuilder& author(std::string
const& value);
88 ScopeMetadataBuilder& art(Optional<std::string>
const& value);
89 ScopeMetadataBuilder& icon(Optional<std::string>
const& value);
90 ScopeMetadataBuilder& search_hint(Optional<std::string>
const& value);
91 ScopeMetadataBuilder& hot_key(Optional<std::string>
const& value);
92 ScopeMetadataBuilder& invisible(Optional<bool>
const& value);
93 ScopeMetadataBuilder& appearance_attributes(Optional<VariantMap>
const& value);
94 ScopeMetadataBuilder& scope_directory(Optional<std::string>
const& value);
95 ScopeMetadataBuilder& results_ttl_type(Optional<ScopeMetadata::ResultsTtlType>
const& value);
96 ScopeMetadataBuilder& settings_definitions(Optional<VariantArray>
const& value);
97 ScopeMetadataBuilder& location_data_needed(Optional<bool>
const& value);
98 ScopeMetadataBuilder& child_scope_ids(Optional<std::vector<std::string>>
const& value);
99 ScopeMetadataBuilder& version(Optional<int>
const& value);
100 ScopeMetadataBuilder& keywords(Optional<std::set<std::string>>
const& value);
101 ScopeMetadataBuilder& is_aggregator(Optional<bool>
const& value);
103 ScopeMetadata operator()()
const;
107 std::unique_ptr<Private> p;
std::shared_ptr< Scope > ScopeProxy
Convenience type definition.
Definition: ScopeProxyFwd.h:34
Definition: OnlineAccountClient.h:39
Top-level namespace for all things Unity-related.
Definition: Version.h:49