| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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 <Foundation/Foundation.h> |
| |
| @class WXSDKInstance; |
| |
| @interface WXSDKEngine : NSObject |
| |
| /** |
| * @abstract Register default modules/components/handlers, they will be registered only once. |
| **/ |
| + (void)registerDefaults; |
| |
| /** |
| * @abstract Register a module for a given name |
| * |
| * @param name The module name to register |
| * |
| * @param clazz The module class to register |
| * |
| **/ |
| + (void)registerModule:(NSString *)name withClass:(Class)clazz; |
| |
| /** |
| * @abstract Registers a component for a given name |
| * |
| * @param name The component name to register |
| * |
| * @param clazz The WXComponent subclass to register |
| * |
| **/ |
| + (void)registerComponent:(NSString *)name withClass:(Class)clazz; |
| |
| /** |
| * @abstract Registers a extendCallNative Class for a given name |
| * |
| * @param name The extendCallNative name to register |
| * |
| * @param clazz The extendCallNative subclass to register |
| * |
| **/ |
| + (void)registerExtendCallNative:(NSString *)name withClass:(Class)clazz; |
| |
| /** |
| * @abstract Registers a component for a given name and specific properties |
| * |
| * @param name The component name to register |
| * |
| * @param clazz The WXComponent subclass to register |
| * |
| * @param properties properties to apply to the component |
| * |
| */ |
| + (void)registerComponent:(NSString *)name withClass:(Class)clazz withProperties:(NSDictionary *)properties; |
| |
| /** |
| * @abstract Registers a component for a given name, options and js code |
| * |
| * @param name The service name to register |
| * |
| * @param options The service options to register |
| * |
| * @param serviceScript service js code to invoke |
| * |
| */ |
| + (void)registerService:(NSString *)name withScript:(NSString *)serviceScript withOptions:(NSDictionary *)options; |
| |
| /** |
| * @abstract Registers a component for a given name, options and js code |
| * |
| * @param name The service name to register |
| * |
| * @param options The service options to register |
| * |
| * @param serviceScript service js code to invoke |
| * |
| * @param completion Completion callback. JS is executed in asynchronously. |
| * |
| */ |
| + (void)registerService:(NSString *)name withScript:(NSString *)serviceScript withOptions:(NSDictionary *)options completion:(void(^)(BOOL result))completion; |
| |
| /** |
| * @abstract Registers a component for a given name, options and js url |
| * |
| * @param name The service name to register |
| * |
| * @param options The service options to register |
| * |
| * @param serviceScriptUrl The service url to register |
| * |
| */ |
| + (void)registerService:(NSString *)name withScriptUrl:(NSURL *)serviceScriptUrl withOptions:(NSDictionary *)options; |
| |
| /** |
| * @abstract Registers a component for a given name, options and js url |
| * |
| * @param name The service name to register |
| * |
| * @param options The service options to register |
| * |
| * @param serviceScriptUrl The service url to register |
| * |
| * @param completion Completion callback. JS is executed in asynchronously. |
| * |
| */ |
| + (void)registerService:(NSString *)name withScriptUrl:(NSURL *)serviceScriptUrl withOptions:(NSDictionary *)options completion:(void(^)(BOOL result))completion; |
| |
| /** |
| * @abstract Registers a component for a given name, options and js code |
| * |
| * @param name The name of register service |
| * |
| */ |
| + (void)unregisterService:(NSString *)name; |
| |
| /** |
| * @abstract Registers a handler for a given handler instance and specific protocol |
| * |
| * @param handler The handler instance to register |
| * |
| * @param protocol The protocol to confirm |
| * |
| */ |
| + (void)registerHandler:(id)handler withProtocol:(Protocol *)protocol; |
| |
| |
| /** |
| * @abstract Returns a given handler instance for specific protocol |
| * |
| * @param protocol The protocol to confirm |
| * |
| */ |
| + (id)handlerForProtocol:(Protocol *)protocol; |
| |
| /** |
| * @abstract Initializes the global sdk environment |
| * |
| * @discussion Injects main.js in app bundle as default JSFramework script. |
| * |
| **/ |
| + (void)initSDKEnvironment; |
| |
| /** |
| * @abstract Initializes the environment with a given JSFramework script. |
| * |
| **/ |
| + (void)initSDKEnvironment:(NSString *)script; |
| |
| /** |
| * @abstract Unloads the bridge context |
| * |
| **/ |
| + (void)unload; |
| |
| /** |
| * @abstract restart Weex Engine. |
| **/ |
| + (void)restart; |
| |
| /** |
| * @abstract restart Weex Engine with specify jsfm. |
| **/ |
| + (void)restartWithScript:(NSString*)script; |
| |
| /** |
| * @abstract Returns the version of SDK |
| * |
| **/ |
| + (NSString*)SDKEngineVersion; |
| |
| /** |
| * @abstract The Instance at the top of the rendering stack. |
| * |
| **/ |
| + (WXSDKInstance *)topInstance; |
| |
| /** |
| * @abstract Add custom environment variables |
| * @discuss These variables can be obtained by $getConfig().env |
| * |
| **/ |
| + (void)setCustomEnvironment:(NSDictionary *)environment; |
| + (NSDictionary *)customEnvironment; |
| |
| /** |
| * @abstract Connects to websocket for collecting log |
| * |
| * @param URL The URL of websocket to connect |
| * |
| */ |
| + (void)connectDebugServer:(NSString*)URL; |
| |
| /** |
| * @abstract Connects to websocket for devtool debug |
| * |
| * @param URL The URL of websocket to connect |
| * |
| */ |
| + (void)connectDevToolServer:(NSString *)URL; |
| |
| /** |
| * @abstract Set the global device size of all pages. |
| * You could also set unique device size used by a page using interface of WXSDKInstance. |
| * |
| * @param size, the device size in UIKit system. |
| * |
| */ |
| + (void)setGlobalDeviceSize:(CGSize)size; |
| |
| /** |
| * @abstract Get the current global device size used by pages. |
| * |
| */ |
| + (CGSize)getGlobalDeviceSize; |
| |
| @end |
| |
| @interface WXSDKEngine (Deprecated) |
| |
| + (void)initSDKEnviroment DEPRECATED_MSG_ATTRIBUTE("To fix typo, use initSDKEnvironment method instead."); |
| + (void)initSDKEnviroment:(NSString *)script DEPRECATED_MSG_ATTRIBUTE("To fix typo, use initSDKEnvironment: method instead."); |
| |
| @end |