5#ifndef FLUTTER_SHELL_COMMON_SHELL_IO_MANAGER_H_
6#define FLUTTER_SHELL_COMMON_SHELL_IO_MANAGER_H_
10#include "flutter/flow/skia_gpu_object.h"
11#include "flutter/fml/macros.h"
12#include "flutter/fml/memory/weak_ptr.h"
13#include "flutter/lib/ui/io_manager.h"
32 std::shared_ptr<const fml::SyncSwitch> is_gpu_disabled_sync_switch,
34 std::shared_ptr<impeller::Context> impeller_context,
71 std::unique_ptr<fml::WeakPtrFactory<GrDirectContext>>
72 resource_context_weak_factory_;
75 std::shared_ptr<const fml::SyncSwitch> is_gpu_disabled_sync_switch_;
76 std::shared_ptr<impeller::Context> impeller_context_;
fml::WeakPtr< ShellIOManager > GetWeakPtr()
ShellIOManager(sk_sp< GrDirectContext > resource_context, std::shared_ptr< const fml::SyncSwitch > is_gpu_disabled_sync_switch, fml::RefPtr< fml::TaskRunner > unref_queue_task_runner, std::shared_ptr< impeller::Context > impeller_context, fml::TimeDelta unref_queue_drain_delay=fml::TimeDelta::FromMilliseconds(8))
static sk_sp< GrDirectContext > CreateCompatibleResourceLoadingContext(GrBackendApi backend, const sk_sp< const GrGLInterface > &gl_interface)
fml::RefPtr< flutter::SkiaUnrefQueue > GetSkiaUnrefQueue() const override
void UpdateResourceContext(sk_sp< GrDirectContext > resource_context)
~ShellIOManager() override
std::shared_ptr< const fml::SyncSwitch > GetIsGpuDisabledSyncSwitch() override
void NotifyResourceContextAvailable(sk_sp< GrDirectContext > resource_context)
std::shared_ptr< impeller::Context > GetImpellerContext() const override
fml::WeakPtr< IOManager > GetWeakIOManager() const override
fml::WeakPtr< GrDirectContext > GetResourceContext() const override
static constexpr TimeDelta FromMilliseconds(int64_t millis)