Files
wwwcg d9576d4819 refactor(ios): Revert rename and Sdk frame refactor and Fix some bug (#3545)
* refactor(ios): Revert rename Hippy prefix part3

* refactor(ios): Revert rename from Hippy prefix to NativeRender part1

the original rename pr is #2165

* refactor(ios): Revert rename from Hippy prefix to NativeRender part2

* refactor(ios): Revert rename Hippy prefix part4

* refactor(ios): Revert rename Hippy prefix part5

* refactor(ios): Revert rename Hippy prefix part 6

* refactor(ios): Revert rename Hippy prefix part 7

* refactor(ios): make hippy3 native component compatible with hippy2

* refactor(ios): Revert rename Hippy prefix part 8

* refactor(ios): Revert rename Hippy prefix part 9

* refactor(ios): Revert rename Hippy prefix part 10

* refactor(ios): Revert rename Hippy prefix to NativeRender part 11

* refactor(ios): Revert rename and sdk frame refactor part 12

* refactor(ios): Revert rename and sdk frame refactor part 13

HippyRootView and sdk start related change

* feat(ios): Improve method of getting UI state and Add NightMode

sync from hippy2

* fix(ios): bridge and rootView's memory issue when dealloc

* refactor(ios): Revert rename and sdk frame refactor part 14

* fix(ios): listview and waterfall reload animation bug

* fix(ios): fix hippy3 podspec's bug

remove all deprecated Header Search Path settings in user_target_xcconfig
2023-10-19 12:38:18 +08:00

91 lines
3.0 KiB
Objective-C

/*!
* iOS SDK
*
* Tencent is pleased to support the open source community by making
* Hippy available.
*
* Copyright (C) 2019 THL A29 Limited, a Tencent company.
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import "HippyBridgeModule.h"
#import "HippyInvalidating.h"
/**
* A simple, asynchronous, persistent, key-value storage system designed as a
* backend to the AsyncStorage JS module, which is modeled after LocalStorage.
*
* Current implementation stores small values in serialized dictionary and
* larger values in separate files. Since we use a serial file queue
* `RKFileQueue`, reading/writing from multiple threads should be perceived as
* being atomic, unless someone bypasses the `HippyAsyncLocalStorage` API.
*
* Keys and values must always be strings or an error is returned.
*/
extern NSString *const HippyStorageDirectory;
extern NSUInteger HPLOCALSTORAGEIOTYPEREAD;
extern NSUInteger HPLOCALSTORAGEIOTYPEWRITE;
@interface HippyAsyncLocalStorage : NSObject <HippyBridgeModule, HippyInvalidating>
@property (nonatomic, assign) BOOL clearOnInvalidate;
@property (nonatomic, readonly, getter=isValid) BOOL valid;
/**
* Clear the HippyAsyncLocalStorage data from native code
*/
+ (void)clearAllData;
/**
* Get storage directory for HippyAsyncLocalStorage
* overwrite this function to return your customized directory
*
*@discussion default storage directory is #{your app sand box}/document/HippyAsyncLocalStorage_V1/#{module name}
* @return storage directory for HippyAsyncLocalStorage
*/
- (NSString *)HippyGetStorageDirectory;
/**
* Get maxium data read limit
*
* @discussion if data size exceed range, *handleDataSizeExceed* method will be invoked.Default is NSUIntegerMax
* @return max read data size
*/
- (NSUInteger)maxReadDataSize;
/**
* Get maxium data write limit
*
* @discussion if data size exceed range, *handleDataSizeExceed* method will be invoked.Default is NSUIntegerMax
* @return max write data size
*/
- (NSUInteger)maxWriteDataSize;
/**
* handle data size exceed range event
*
* @discussion default return YES and does nothing
* @param IOType HPLOCALSTORAGEIOTYPEREAD or HPLOCALSTORAGEIOTYPEWRITE action
* @param moduleName module which triggered this operation
* @param length The amount of data that corresponds to this operation
* @return Continue read or write if return YES
*/
- (BOOL)handleDataSizeExceedForIOType:(NSUInteger)IOType moduleName:(NSString *)moduleName key:(NSString *)key dataLength:(NSUInteger)length;
@end