Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | List of all members
impeller::CaptureContext Class Reference

#include <capture.h>

Public Member Functions

 CaptureContext ()
 
bool IsActive () const
 
void Rewind ()
 
Capture GetDocument (const std::string &label)
 
bool DoesDocumentExist (const std::string &label) const
 

Static Public Member Functions

static CaptureContext MakeInactive ()
 
static CaptureContext MakeAllowlist (std::initializer_list< std::string > allowlist)
 

Detailed Description

Definition at line 269 of file capture.h.

Constructor & Destructor Documentation

◆ CaptureContext()

impeller::CaptureContext::CaptureContext ( )

CaptureContext

Definition at line 149 of file capture.cc.

149{}

Member Function Documentation

◆ DoesDocumentExist()

bool impeller::CaptureContext::DoesDocumentExist ( const std::string &  label) const

Definition at line 209 of file capture.cc.

209 {
210#ifdef IMPELLER_ENABLE_CAPTURE
211 if (!active_) {
212 return false;
213 }
214 return documents_.find(label) != documents_.end();
215#else
216 return false;
217#endif
218}

◆ GetDocument()

Capture impeller::CaptureContext::GetDocument ( const std::string &  label)

Definition at line 182 of file capture.cc.

182 {
183#ifdef IMPELLER_ENABLE_CAPTURE
184 if (!active_) {
185 return Capture::MakeInactive();
186 }
187
188 if (allowlist_.has_value()) {
189 if (allowlist_->find(label) == allowlist_->end()) {
190 return Capture::MakeInactive();
191 }
192 }
193
194 auto found = documents_.find(label);
195 if (found != documents_.end()) {
196 // Always rewind when fetching an existing document.
197 found->second.Rewind();
198 return found->second;
199 }
200
201 auto new_document = Capture(label);
202 documents_.emplace(label, new_document);
203 return new_document;
204#else
205 return Capture::MakeInactive();
206#endif
207}
static Capture MakeInactive()
Definition capture.cc:101

◆ IsActive()

bool impeller::CaptureContext::IsActive ( ) const

Definition at line 164 of file capture.cc.

164 {
165#ifdef IMPELLER_ENABLE_CAPTURE
166 return active_;
167#else
168 return false;
169#endif
170}

◆ MakeAllowlist()

CaptureContext impeller::CaptureContext::MakeAllowlist ( std::initializer_list< std::string >  allowlist)
static

Definition at line 159 of file capture.cc.

160 {
161 return CaptureContext(allowlist);
162}

◆ MakeInactive()

CaptureContext impeller::CaptureContext::MakeInactive ( )
static

Definition at line 155 of file capture.cc.

155 {
156 return CaptureContext(InactiveFlag{});
157}

◆ Rewind()

void impeller::CaptureContext::Rewind ( )

Definition at line 172 of file capture.cc.

172 {
173#ifdef IMPELLER_ENABLE_CAPTURE
174 for (auto& [name, capture] : documents_) {
175 capture.GetElement()->Rewind();
176 }
177#else
178 return;
179#endif
180}
const char * name
Definition fuchsia.cc:50

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