investment_derived_rebuild.h 984 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. namespace sunrise::state {
  3. struct Family5State;
  4. }
  5. namespace sunrise::client::hooks::network::investment {
  6. /** Replaces the live Family-5 override lists and invalidates their derived evaluation. */
  7. [[nodiscard]] bool publish_live_family5(const state::Family5State& family) noexcept;
  8. /** Notes that a committed response will replace Family 4 before the next freshness query. */
  9. void notify_family4_publication() noexcept;
  10. /** @return True when freshness and both real-arrival rebuild arms are attached. */
  11. [[nodiscard]] bool install() noexcept;
  12. /** @return True when every investment rebuild detour is absent. */
  13. [[nodiscard]] bool uninstall() noexcept;
  14. /** @return True while freshness and both real-arrival rebuild arms are attached. */
  15. [[nodiscard]] bool is_installed() noexcept;
  16. /** @return True while any investment rebuild detour still needs cleanup. */
  17. [[nodiscard]] bool has_ownership() noexcept;
  18. } // namespace sunrise::client::hooks::network::investment