5#include "flutter/fml/platform/darwin/weak_nsobject.h"
6#include "flutter/fml/platform/darwin/scoped_nsautorelease_pool.h"
7#include "flutter/fml/platform/darwin/scoped_nsobject.h"
11char sentinelObserverKey_;
17 : object_(object), checker_(checker) {}
19WeakContainer::~WeakContainer() {}
27- (
id)initWithContainer:(
fml::RefPtr<
fml::WeakContainer>)container;
32+ (
fml::RefPtr<fml::WeakContainer>)containerForObject:(
id)object
33 threadChecker:(
debug::DebugThreadChecker)checker {
44 sentinel = newSentinel;
45 objc_setAssociatedObject(
object, &sentinelObserverKey_, sentinel, OBJC_ASSOCIATION_RETAIN);
53- (
id)initWithContainer:(
fml::RefPtr<
fml::WeakContainer>)container {
63 _container->nullify();
WeakContainer(id object, const debug::DebugThreadChecker &checker)
#define FML_DCHECK(condition)
fml::RefPtr< fml::WeakContainer > container
RefPtr< T > AdoptRef(T *ptr)