77 JavaScriptCommandKind kind,
78 std::uint32_t import_slot,
79 std::string source_site,
83 std::string core_name,
86 std::string child_binding,
90 std::uint64_t timeout_ms = 0);
93 std::vector<JavaScriptCommand> members,
94 std::uint64_t required_successes = 0,
95 std::uint64_t max_in_flight = 0,
96 std::string failure_policy = {});
101 std::string reason = {});
102 static JavaScriptCommand host_capability(std::string source_site,
103 std::uint32_t import_slot,
106 std::uint32_t protocol_version() const noexcept;
107 JavaScriptCommandKind kind() const noexcept;
108 std::uint32_t import_slot() const noexcept;
109 const std::
string& source_site() const noexcept;
111 json arguments() const;
113 json to_json() const;
116 bool operator!=(const
JavaScriptCommand& other)
const {
return !(*
this == other); }
121 std::shared_ptr<const Impl> impl_;
static JavaScriptCommand make(std::uint32_t protocol_version, JavaScriptCommandKind kind, std::uint32_t import_slot, std::string source_site, json arguments)
Construct a host-owned command after applying the same validation.