This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.8 KiB
84 lines
2.8 KiB
/** |
|
* Copyright (c) 2015-present, Facebook, Inc. |
|
* |
|
* This source code is licensed under the MIT license found in the |
|
* LICENSE file in the root directory of this source tree. |
|
*/ |
|
|
|
#import <objc/runtime.h> |
|
|
|
#import <JavaScriptCore/JavaScriptCore.h> |
|
|
|
#import <React/RCTBridgeModule.h> |
|
#import <React/RCTInvalidating.h> |
|
|
|
typedef void (^RCTJavaScriptCompleteBlock)(NSError *error); |
|
typedef void (^RCTJavaScriptCallback)(id result, NSError *error); |
|
|
|
/** |
|
* Abstracts away a JavaScript execution context - we may be running code in a |
|
* web view (for debugging purposes), or may be running code in a `JSContext`. |
|
*/ |
|
@protocol RCTJavaScriptExecutor <RCTInvalidating, RCTBridgeModule> |
|
|
|
/** |
|
* Used to set up the executor after the bridge has been fully initialized. |
|
* Do any expensive setup in this method instead of `-init`. |
|
*/ |
|
- (void)setUp; |
|
|
|
/** |
|
* Whether the executor has been invalidated |
|
*/ |
|
@property (nonatomic, readonly, getter=isValid) BOOL valid; |
|
|
|
/** |
|
* Executes BatchedBridge.flushedQueue on JS thread and calls the given callback |
|
* with JSValue, containing the next queue, and JSContext. |
|
*/ |
|
- (void)flushedQueue:(RCTJavaScriptCallback)onComplete; |
|
|
|
/** |
|
* Executes BatchedBridge.callFunctionReturnFlushedQueue with the module name, |
|
* method name and optional additional arguments on the JS thread and calls the |
|
* given callback with JSValue, containing the next queue, and JSContext. |
|
*/ |
|
- (void)callFunctionOnModule:(NSString *)module |
|
method:(NSString *)method |
|
arguments:(NSArray *)args |
|
callback:(RCTJavaScriptCallback)onComplete; |
|
|
|
/** |
|
* Executes BatchedBridge.invokeCallbackAndReturnFlushedQueue with the cbID, |
|
* and optional additional arguments on the JS thread and calls the |
|
* given callback with JSValue, containing the next queue, and JSContext. |
|
*/ |
|
- (void)invokeCallbackID:(NSNumber *)cbID |
|
arguments:(NSArray *)args |
|
callback:(RCTJavaScriptCallback)onComplete; |
|
|
|
/** |
|
* Runs an application script, and notifies of the script load being complete via `onComplete`. |
|
*/ |
|
- (void)executeApplicationScript:(NSData *)script |
|
sourceURL:(NSURL *)sourceURL |
|
onComplete:(RCTJavaScriptCompleteBlock)onComplete; |
|
|
|
- (void)injectJSONText:(NSString *)script |
|
asGlobalObjectNamed:(NSString *)objectName |
|
callback:(RCTJavaScriptCompleteBlock)onComplete; |
|
|
|
/** |
|
* Enqueue a block to run in the executors JS thread. Fallback to `dispatch_async` |
|
* on the main queue if the executor doesn't own a thread. |
|
*/ |
|
- (void)executeBlockOnJavaScriptQueue:(dispatch_block_t)block; |
|
|
|
/** |
|
* Special case for Timers + ContextExecutor - instead of the default |
|
* if jsthread then call else dispatch call on jsthread |
|
* ensure the call is made async on the jsthread |
|
*/ |
|
- (void)executeAsyncBlockOnJavaScriptQueue:(dispatch_block_t)block; |
|
|
|
@end
|
|
|