TM-SGNL-iOS/SignalServiceKit/Storage/Database/SDSDatabaseStorage/SDSDatabaseStorage+Objc.h
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

33 lines
1.9 KiB
Objective-C

//
// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
// All Obj-c database storage writes should be done using these macros.
// They capture the logging info.
@class SDSAnyWriteTransaction;
@class SDSDatabaseStorage;
typedef void (^SDSWriteBlock)(SDSAnyWriteTransaction *);
typedef void (^SDSWriteCompletion)(void);
void __SDSDatabaseStorageWrite(
SDSDatabaseStorage *databaseStorage, SDSWriteBlock _block, NSString *_file, NSString *_function, uint32_t _line);
void __SDSDatabaseStorageAsyncWrite(
SDSDatabaseStorage *databaseStorage, SDSWriteBlock _block, NSString *_file, NSString *_function, uint32_t _line);
#define DatabaseStorageWrite(__databaseStorage, __block) \
__SDSDatabaseStorageWrite(__databaseStorage, \
__block, \
[NSString stringWithUTF8String:__FILE__], \
[NSString stringWithUTF8String:__PRETTY_FUNCTION__], \
__LINE__);
#define DatabaseStorageAsyncWrite(__databaseStorage, __block) \
__SDSDatabaseStorageAsyncWrite(__databaseStorage, \
__block, \
[NSString stringWithUTF8String:__FILE__], \
[NSString stringWithUTF8String:__PRETTY_FUNCTION__], \
__LINE__);