58 public fuchsia::component::runner::ComponentController,
59 public fuchsia::ui::app::ViewProvider {
68 fuchsia::component::runner::ComponentStartInfo start_info,
69 std::shared_ptr<sys::ServiceDirectory> runner_incoming_services,
70 fidl::InterfaceRequest<fuchsia::component::runner::ComponentController>
81 const fuchsia::data::Dictionary& program_metadata);
85#if !defined(DART_PRODUCT)
90 bool method_has_response)
override;
95 fuchsia::component::runner::ComponentStartInfo start_info,
96 std::shared_ptr<sys::ServiceDirectory> runner_incoming_services,
97 fidl::InterfaceRequest<fuchsia::component::runner::ComponentController>
101 void Kill()
override;
110 void KillWithEpitaph(zx_status_t epitaph_status);
113 void Stop()
override;
116 void CreateView2(fuchsia::ui::app::CreateView2Args view_args)
override;
117 void CreateViewWithViewRef(
118 ::zx::eventpair token,
119 ::fuchsia::ui::views::ViewRefControl view_ref_control,
120 ::fuchsia::ui::views::ViewRef view_ref)
override {}
123 void OnEngineTerminate(
const Engine* holder)
override;
128 const std::string debug_label_;
133 fidl::Binding<fuchsia::component::runner::ComponentController>
134 component_controller_;
135 fuchsia::io::DirectoryPtr directory_ptr_;
136 fuchsia::io::NodePtr cloned_directory_ptr_;
137 fidl::InterfaceRequest<fuchsia::io::Directory> directory_request_;
138 std::unique_ptr<vfs::PseudoDir> outgoing_dir_;
139 std::unique_ptr<vfs::PseudoDir> runtime_dir_;
140 std::shared_ptr<sys::ServiceDirectory> svc_;
141 std::shared_ptr<sys::ServiceDirectory> runner_incoming_services_;
142 fidl::BindingSet<fuchsia::ui::app::ViewProvider> shells_bindings_;
145 std::set<std::unique_ptr<Engine>> shell_holders_;
146 std::pair<bool, uint32_t> last_return_code_;
static ActiveComponentV2 Create(TerminationCallback termination_callback, fuchsia::component::runner::ComponentStartInfo start_info, std::shared_ptr< sys::ServiceDirectory > runner_incoming_services, fidl::InterfaceRequest< fuchsia::component::runner::ComponentController > controller)