Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
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 132 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 134 of file image_decoder_unittests.cc.

136 : gl_surface_(DlISize(1, 1)),
137 impeller_context_(std::make_shared<impeller::TestImpellerContext>()),
138 gl_context_(has_gpu_context ? gl_surface_.CreateGrContext() : nullptr),
139 weak_gl_context_factory_(
140 has_gpu_context
141 ? std::make_unique<fml::WeakPtrFactory<GrDirectContext>>(
142 gl_context_.get())
143 : nullptr),
144 unref_queue_(fml::MakeRefCounted<SkiaUnrefQueue>(
145 task_runner,
146 fml::TimeDelta::FromNanoseconds(0),
147 gl_context_)),
148 runner_(task_runner),
149 is_gpu_disabled_sync_switch_(std::make_shared<fml::SyncSwitch>()),
150 weak_factory_(this) {
151 FML_CHECK(task_runner->RunsTasksOnCurrentThread())
152 << "The IO manager must be initialized its primary task runner. The "
153 "test harness may not be set up correctly/safely.";
154 weak_prototype_ = weak_factory_.GetWeakPtr();
155 }
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 157 of file image_decoder_unittests.cc.

157 {
160 [&latch, queue = unref_queue_]() {
161 queue->Drain();
162 latch.Signal();
163 });
164 latch.Wait();
165 }
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 190 of file image_decoder_unittests.cc.

190 {
191 return impeller_context_;
192 }

◆ GetIsGpuDisabledSyncSwitch()

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

Implements flutter::IOManager.

Definition at line 184 of file image_decoder_unittests.cc.

184 {
186 return is_gpu_disabled_sync_switch_;
187 }

References did_access_is_gpu_disabled_sync_switch_.

◆ GetResourceContext()

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

Implements flutter::IOManager.

Definition at line 173 of file image_decoder_unittests.cc.

173 {
174 return weak_gl_context_factory_ ? weak_gl_context_factory_->GetWeakPtr()
176 }

◆ GetSkiaUnrefQueue()

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

Implements flutter::IOManager.

Definition at line 179 of file image_decoder_unittests.cc.

179 {
180 return unref_queue_;
181 }

◆ GetWeakIOManager()

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

Implements flutter::IOManager.

Definition at line 168 of file image_decoder_unittests.cc.

168 {
169 return weak_prototype_;
170 }

◆ SetGpuDisabled()

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

Definition at line 194 of file image_decoder_unittests.cc.

194 {
195 is_gpu_disabled_sync_switch_->SetSwitch(disabled);
196 }

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 198 of file image_decoder_unittests.cc.

Referenced by GetIsGpuDisabledSyncSwitch().


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