2017-05-15 12:27:07 -07:00
|
|
|
/*
|
|
|
|
|
* Copyright 2017 Google
|
|
|
|
|
*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
|
|
|
|
|
2020-06-09 05:21:28 -07:00
|
|
|
#import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h"
|
2019-08-05 13:27:47 -07:00
|
|
|
#import <Foundation/Foundation.h>
|
2019-04-08 08:54:21 -07:00
|
|
|
|
2020-06-22 07:58:52 -07:00
|
|
|
#import "FirebaseDatabase/Sources/Utilities/FParsedUrl.h"
|
2017-05-15 12:27:07 -07:00
|
|
|
|
|
|
|
|
@interface FUtilities : NSObject
|
|
|
|
|
|
2019-08-05 13:27:47 -07:00
|
|
|
+ (NSArray *)splitString:(NSString *)str intoMaxSize:(const unsigned int)size;
|
|
|
|
|
+ (NSNumber *)LUIDGenerator;
|
|
|
|
|
+ (FParsedUrl *)parseUrl:(NSString *)url;
|
|
|
|
|
+ (NSString *)getJavascriptType:(id)obj;
|
|
|
|
|
+ (NSError *)errorForStatus:(NSString *)status andReason:(NSString *)reason;
|
|
|
|
|
+ (NSNumber *)intForString:(NSString *)string;
|
|
|
|
|
+ (NSString *)ieee754StringForNumber:(NSNumber *)val;
|
|
|
|
|
+ (void)setLoggingEnabled:(BOOL)enabled;
|
|
|
|
|
+ (BOOL)getLoggingEnabled;
|
2017-05-15 12:27:07 -07:00
|
|
|
|
2019-08-05 13:27:47 -07:00
|
|
|
+ (NSString *)minName;
|
|
|
|
|
+ (NSString *)maxName;
|
|
|
|
|
+ (NSComparisonResult)compareKey:(NSString *)a toKey:(NSString *)b;
|
|
|
|
|
+ (NSComparator)stringComparator;
|
|
|
|
|
+ (NSComparator)keyComparator;
|
2017-05-15 12:27:07 -07:00
|
|
|
|
|
|
|
|
+ (double)randomDouble;
|
|
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
|
FLogLevelDebug = 1,
|
|
|
|
|
FLogLevelInfo = 2,
|
|
|
|
|
FLogLevelWarn = 3,
|
|
|
|
|
FLogLevelError = 4,
|
|
|
|
|
FLogLevelNone = 5
|
|
|
|
|
} FLogLevel;
|
|
|
|
|
|
|
|
|
|
// Log tags
|
|
|
|
|
FOUNDATION_EXPORT NSString *const kFPersistenceLogTag;
|
|
|
|
|
|
|
|
|
|
#define FFLog(code, format, ...) FFDebug((code), (format), ##__VA_ARGS__)
|
|
|
|
|
|
2019-08-05 13:27:47 -07:00
|
|
|
#define FFDebug(code, format, ...) \
|
|
|
|
|
do { \
|
|
|
|
|
if (FFIsLoggingEnabled(FLogLevelDebug)) { \
|
|
|
|
|
FIRLogDebug(kFIRLoggerDatabase, (code), (format), ##__VA_ARGS__); \
|
|
|
|
|
} \
|
|
|
|
|
} while (0)
|
2017-05-15 12:27:07 -07:00
|
|
|
|
2019-08-05 13:27:47 -07:00
|
|
|
#define FFInfo(code, format, ...) \
|
|
|
|
|
do { \
|
|
|
|
|
if (FFIsLoggingEnabled(FLogLevelInfo)) { \
|
|
|
|
|
FIRLogError(kFIRLoggerDatabase, (code), (format), ##__VA_ARGS__); \
|
|
|
|
|
} \
|
|
|
|
|
} while (0)
|
2017-05-15 12:27:07 -07:00
|
|
|
|
2019-08-05 13:27:47 -07:00
|
|
|
#define FFWarn(code, format, ...) \
|
|
|
|
|
do { \
|
|
|
|
|
if (FFIsLoggingEnabled(FLogLevelWarn)) { \
|
|
|
|
|
FIRLogWarning(kFIRLoggerDatabase, (code), (format), \
|
|
|
|
|
##__VA_ARGS__); \
|
|
|
|
|
} \
|
|
|
|
|
} while (0)
|
2017-05-15 12:27:07 -07:00
|
|
|
|
2019-04-08 08:54:21 -07:00
|
|
|
extern FIRLoggerService kFIRLoggerDatabase;
|
2017-05-15 12:27:07 -07:00
|
|
|
BOOL FFIsLoggingEnabled(FLogLevel logLevel);
|
|
|
|
|
void firebaseUncaughtExceptionHandler(NSException *exception);
|
|
|
|
|
void firebaseJobsTroll(void);
|