Flutter Engine
 
Loading...
Searching...
No Matches
flutter::testing::TestIOManager Class Referencefinal
Inheritance diagram for flutter::testing::TestIOManager:
flutter::IOManager

Public Member Functions

 TestIOManager (const fml::RefPtr< fml::TaskRunner > &task_runner, bool has_gpu_context=true)
 
 ~TestIOManager () override
 
fml::WeakPtr< IOManagerGetWeakIOManager () const override
 
fml::WeakPtr< GrDirectContext > GetResourceContext () const override
 
fml::RefPtr< flutter::SkiaUnrefQueueGetSkiaUnrefQueue () const override
 
std::shared_ptr< const fml::SyncSwitchGetIsGpuDisabledSyncSwitch () override
 
std::shared_ptr< impeller::ContextGetImpellerContext () const override
 Retrieve the impeller::Context.
 
void SetGpuDisabled (bool disabled)
 
- Public Member Functions inherited from flutter::IOManager
virtual ~IOManager ()=default
 

Public Attributes

bool did_access_is_gpu_disabled_sync_switch_ = false
 

Detailed Description

Definition at line 124 of file image_decoder_unittests.cc.

Constructor & Destructor Documentation

◆ TestIOManager()

flutter::testing::TestIOManager::TestIOManager ( const fml::RefPtr< fml::TaskRunner > &  task_runner,
bool  has_gpu_context = true 
)
inlineexplicit

Definition at line 126 of file image_decoder_unittests.cc.

128 : gl_surface_(DlISize(1, 1)),
129 impeller_context_(std::make_shared<impeller::TestImpellerContext>()),
130 gl_context_(has_gpu_context ? gl_surface_.CreateGrContext() : nullptr),
131 weak_gl_context_factory_(
132 has_gpu_context
133 ? std::make_unique<fml::WeakPtrFactory<GrDirectContext>>(
134 gl_context_.get())
135 : nullptr),
136 unref_queue_(fml::MakeRefCounted<SkiaUnrefQueue>(
137 task_runner,
138 fml::TimeDelta::FromNanoseconds(0),
139 gl_context_)),
140 runner_(task_runner),
141 is_gpu_disabled_sync_switch_(std::make_shared<fml::SyncSwitch>()),
142 weak_factory_(this) {
143 FML_CHECK(task_runner->RunsTasksOnCurrentThread())
144 << "The IO manager must be initialized its primary task runner. The "
145 "test harness may not be set up correctly/safely.";
146 weak_prototype_ = weak_factory_.GetWeakPtr();
147 }
virtual bool RunsTasksOnCurrentThread()
#define FML_CHECK(condition)
Definition logging.h:104
UnrefQueue< GrDirectContext > SkiaUnrefQueue
impeller::ISize32 DlISize
RefPtr< T > MakeRefCounted(Args &&... args)
Definition ref_ptr.h:253
Definition ref_ptr.h:261

References FML_CHECK.

◆ ~TestIOManager()

flutter::testing::TestIOManager::~TestIOManager ( )
inlineoverride

Definition at line 149 of file image_decoder_unittests.cc.

149 {
152 [&latch, queue = unref_queue_]() {
153 queue->Drain();
154 latch.Signal();
155 });
156 latch.Wait();
157 }
static void RunNowOrPostTask(const fml::RefPtr< fml::TaskRunner > &runner, const fml::closure &task)
VkQueue queue
Definition main.cc:71

References queue, fml::TaskRunner::RunNowOrPostTask(), fml::AutoResetWaitableEvent::Signal(), and fml::AutoResetWaitableEvent::Wait().

Member Function Documentation

◆ GetImpellerContext()

std::shared_ptr< impeller::Context > flutter::testing::TestIOManager::GetImpellerContext ( ) const
inlineoverridevirtual

Retrieve the impeller::Context.

Call may block until context is availabe.

Implements flutter::IOManager.

Definition at line 182 of file image_decoder_unittests.cc.

182 {
183 return impeller_context_;
184 }

◆ GetIsGpuDisabledSyncSwitch()

std::shared_ptr< const fml::SyncSwitch > flutter::testing::TestIOManager::GetIsGpuDisabledSyncSwitch ( )
inlineoverridevirtual

Implements flutter::IOManager.

Definition at line 176 of file image_decoder_unittests.cc.

176 {
178 return is_gpu_disabled_sync_switch_;
179 }

References did_access_is_gpu_disabled_sync_switch_.

◆ GetResourceContext()

fml::WeakPtr< GrDirectContext > flutter::testing::TestIOManager::GetResourceContext ( ) const
inlineoverridevirtual

Implements flutter::IOManager.

Definition at line 165 of file image_decoder_unittests.cc.

165 {
166 return weak_gl_context_factory_ ? weak_gl_context_factory_->GetWeakPtr()
168 }

◆ GetSkiaUnrefQueue()

fml::RefPtr< flutter::SkiaUnrefQueue > flutter::testing::TestIOManager::GetSkiaUnrefQueue ( ) const
inlineoverridevirtual

Implements flutter::IOManager.

Definition at line 171 of file image_decoder_unittests.cc.

171 {
172 return unref_queue_;
173 }

◆ GetWeakIOManager()

fml::WeakPtr< IOManager > flutter::testing::TestIOManager::GetWeakIOManager ( ) const
inlineoverridevirtual

Implements flutter::IOManager.

Definition at line 160 of file image_decoder_unittests.cc.

160 {
161 return weak_prototype_;
162 }

◆ SetGpuDisabled()

void flutter::testing::TestIOManager::SetGpuDisabled ( bool  disabled)
inline

Definition at line 186 of file image_decoder_unittests.cc.

186 {
187 is_gpu_disabled_sync_switch_->SetSwitch(disabled);
188 }

Member Data Documentation

◆ did_access_is_gpu_disabled_sync_switch_

bool flutter::testing::TestIOManager::did_access_is_gpu_disabled_sync_switch_ = false

Definition at line 190 of file image_decoder_unittests.cc.

Referenced by GetIsGpuDisabledSyncSwitch().


The documentation for this class was generated from the following file: