25 lines
739 B
C
25 lines
739 B
C
|
/*
|
||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
|
*
|
||
|
* This source code is licensed under the MIT license found in the
|
||
|
* LICENSE file in the root directory of this source tree.
|
||
|
*/
|
||
|
|
||
|
#import <Foundation/Foundation.h>
|
||
|
|
||
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
||
|
/**
|
||
|
* RCTBlockGuard is designed to be used with obj-c blocks to assist with manual deallocation of C++ resources
|
||
|
* tied to lifetime of a block. If C++ resources needs to be manually released at the end of block or when the block
|
||
|
* is deallocated, place the clean up code inside constructor and make sure the instace of the class is references in
|
||
|
* the block.
|
||
|
*/
|
||
|
@interface RCTBlockGuard : NSObject
|
||
|
|
||
|
- (instancetype)initWithCleanup:(void (^)(void))cleanup;
|
||
|
|
||
|
@end
|
||
|
|
||
|
NS_ASSUME_NONNULL_END
|