| 1223 | |
| 1224 | |
| 1225 | caf::message_handler TimelineActor::message_handler() { |
| 1226 | return caf::message_handler{ |
| 1227 | [=](broadcast::broadcast_down_atom, const caf::actor_addr &) {}, |
| 1228 | |
| 1229 | [=](history::history_atom) -> UuidActor { return UuidActor(history_uuid_, history_); }, |
| 1230 | |
| 1231 | [=](link_media_atom, const bool force) -> result<bool> { |
| 1232 | auto rp = make_response_promise<bool>(); |
| 1233 | |
| 1234 | if (item_actors_.empty()) { |
| 1235 | rp.deliver(true); |
| 1236 | } else { |
| 1237 | // pool direct children for state. |
| 1238 | fan_out_request<policy::select_all>( |
| 1239 | map_value_to_vec(item_actors_), |
| 1240 | infinite, |
| 1241 | link_media_atom_v, |
| 1242 | media_actors_, |
| 1243 | force) |
| 1244 | .await( |
| 1245 | [=](std::vector<bool> items) mutable { rp.deliver(true); }, |
| 1246 | [=](error &err) mutable { |
| 1247 | spdlog::warn( |
| 1248 | "{} {} {}", |
| 1249 | __PRETTY_FUNCTION__, |
| 1250 | to_string(err), |
| 1251 | base_.item().name()); |
| 1252 | rp.deliver(false); |
| 1253 | }); |
| 1254 | } |
| 1255 | |
| 1256 | return rp; |
| 1257 | }, |
| 1258 | |
| 1259 | [=](link_media_atom, const UuidActorMap &media, const bool force) -> result<bool> { |
| 1260 | auto rp = make_response_promise<bool>(); |
| 1261 | if (item_actors_.empty()) { |
| 1262 | rp.deliver(true); |
| 1263 | } else { |
| 1264 | // pool direct children for state. |
| 1265 | fan_out_request<policy::select_all>( |
| 1266 | map_value_to_vec(item_actors_), infinite, link_media_atom_v, media, force) |
| 1267 | .await( |
| 1268 | [=](std::vector<bool> items) mutable { rp.deliver(true); }, |
| 1269 | [=](error &err) mutable { rp.deliver(err); }); |
| 1270 | } |
| 1271 | |
| 1272 | return rp; |
| 1273 | }, |
| 1274 | |
| 1275 | |
| 1276 | [=](active_range_atom, const FrameRange &fr) -> JsonStore { |
| 1277 | auto jsn = base_.item().set_active_range(fr); |
| 1278 | if (not jsn.is_null()) { |
| 1279 | mail(event_atom_v, item_atom_v, jsn, false).send(base_.event_group()); |
| 1280 | anon_mail(history::log_atom_v, __sysclock_now(), jsn).send(history_); |
| 1281 | } |
| 1282 | return jsn; |
nothing calls this directly
no test coverage detected