Example #1
0
        public async Task InitializeBridgeAsync()
        {
            await _bundleLoader.InitializeAsync();

            using (Tracer.Trace(Tracer.TRACE_TAG_REACT_BRIDGE, "initializeBridge").Start())
            {
                _bridge = await QueueConfiguration.JavaScriptQueueThread.CallOnQueue(() =>
                {
                    QueueConfiguration.JavaScriptQueueThread.AssertOnThread();

                    var jsExecutor = _jsExecutorFactory();

                    var bridge = default(ReactBridge);
                    using (Tracer.Trace(Tracer.TRACE_TAG_REACT_BRIDGE, "ReactBridgeCtor").Start())
                    {
                        bridge = new ReactBridge(
                            jsExecutor,
                            new NativeModulesReactCallback(this),
                            QueueConfiguration.NativeModulesQueueThread);
                    }

                    using (Tracer.Trace(Tracer.TRACE_TAG_REACT_BRIDGE, "setBatchedBridgeConfig").Start())
                    {
                        bridge.SetGlobalVariable("__fbBatchedBridgeConfig", BuildModulesConfig());
                    }

                    _bundleLoader.LoadScript(bridge);

                    return(bridge);
                });
            }
        }
Example #2
0
        public async Task InitializeBridgeAsync(CancellationToken token)
        {
            await _bundleLoader.InitializeAsync(token).ConfigureAwait(false);

            using (Tracer.Trace(Tracer.TRACE_TAG_REACT_BRIDGE, "initializeBridge").Start())
            {
                await QueueConfiguration.JavaScriptQueue.RunAsync(() =>
                {
                    QueueConfiguration.JavaScriptQueue.AssertOnThread();

                    var jsExecutor = _jsExecutorFactory();

                    using (Tracer.Trace(Tracer.TRACE_TAG_REACT_BRIDGE, "ReactBridgeCtor").Start())
                    {
                        _bridge = new ReactBridge(
                            jsExecutor,
                            new NativeModulesReactCallback(this),
                            QueueConfiguration.NativeModulesQueue);
                    }

                    using (Tracer.Trace(Tracer.TRACE_TAG_REACT_BRIDGE, "setBatchedBridgeConfig").Start())
                    {
                        _bridge.SetGlobalVariable("__fbBatchedBridgeConfig", BuildModulesConfig());
                    }

                    _bundleLoader.LoadScript(_bridge);
                }).ConfigureAwait(false);
            }
        }
            public override void LoadScript(IReactBridge executor)
            {
                if (executor == null)
                    throw new ArgumentNullException(nameof(executor));

                executor.RunScript(_proxySourceUrl, SourceUrl);
            }
Example #4
0
        public async Task InitializeBridgeAsync()
        {
            await _bundleLoader.InitializeAsync().ConfigureAwait(false);

            using (RNTracer.Trace(RNTracer.TRACE_TAG_REACT_BRIDGE, "initializeBridge").Start())
            {
                _bridge = await QueueConfiguration.JavaScriptQueueThread.CallOnQueue(() =>
                {
                    QueueConfiguration.JavaScriptQueueThread.AssertOnThread();

                    var jsExecutor = _jsExecutorFactory();

                    var bridge = default(ReactBridge);
                    using (RNTracer.Trace(RNTracer.TRACE_TAG_REACT_BRIDGE, "ReactBridgeCtor").Start())
                    {
                        bridge = new ReactBridge(
                            jsExecutor,
                            new NativeModulesReactCallback(this),
                            QueueConfiguration.NativeModulesQueueThread);
                    }

                    return(bridge);
                }).ConfigureAwait(false);

                await QueueConfiguration.JavaScriptQueueThread.CallOnQueue(() =>
                {
                    using (RNTracer.Trace(RNTracer.TRACE_TAG_REACT_BRIDGE, "setBatchedBridgeConfig").Start())
                    {
                        string moduleConfig = null;
                        bool firstTime      = true;
                        string configPath   = Tizen.Applications.Application.Current.DirectoryInfo.Data + "moduleConfig.data";
                        firstTime           = !File.Exists(configPath);

                        if (firstTime)
                        {
                            RNTracer.Write(ReactConstants.Tag, "FirstTime output to configPath = " + configPath);
                            moduleConfig = BuildModulesConfig();
                            File.WriteAllText(configPath, moduleConfig);
                        }
                        else
                        {
                            RNTracer.Write(ReactConstants.Tag, "Get config from configPath = " + configPath);
                            moduleConfig = File.ReadAllText(configPath);
                        }

                        _bridge.SetGlobalVariable("__fbBatchedBridgeConfig", moduleConfig);
                        //Console.WriteLine(">>>>>>> BatchedBridgeConfig: "+ BuildModulesConfig());
                    }

                    /* TODO: Comment temporarily for skipping bundle js's laoding  BOY.YANG 2017-02-18 */
                    /* use try...catch to capture the core info */

                    _bundleLoader.LoadScript(_bridge);


                    return(default(object));
                }).ConfigureAwait(false);
            }
        }
            public override void LoadScript(IReactBridge bridge)
            {
                if (_script == null)
                {
                    throw new InvalidOperationException("Bundle loader has not yet been initialized.");
                }

                bridge.RunScript(_script, SourceUrl);
            }
Example #6
0
        public void Initialize(IReactBridge bridge)
        {
            _bridge = bridge;

            _viewManagers.AddRange(
                bridge.Modules
                .Where(m => m.Instance is IViewManager)
                .Select(m => m.Instance as IViewManager)
                );

            _viewManagers.Apply(m =>
            {
                var componentData = new ReactComponentData(m);
                _componentData.Add(componentData);
            });
        }
Example #7
0
            public override void LoadScript(IReactBridge bridge)
            {
                if (bridge == null)
                {
                    throw new ArgumentNullException(nameof(bridge));
                }

                if (_script == null)
                {
                    throw new InvalidOperationException("Bundle loader has not yet been initialized.");
                }

                // debug here:
                Log.Info(ReactConstants.Tag, "## Look! LoadScript ## _script:" + _script.ToString());

                bridge.RunScript(_script, null);
            }
Example #8
0
 public EventDispatcher(IReactBridge bridge)
 {
     _bridge = bridge;
 }
 /// <summary>
 /// Loads the bundle into a JavaScript executor.
 /// </summary>
 /// <param name="executor">The JavaScript executor.</param>
 public abstract void LoadScript(IReactBridge executor);
Example #10
0
 public ReactRootViewModel(IUIManager uiManager, IReactBridge bridge)
 {
     _bridge = bridge;
     uiManager.RegisterRootView(this);
 }
            public override void LoadScript(IReactBridge bridge)
            {
                if (bridge == null)
                    throw new ArgumentNullException(nameof(bridge));

                if (_script == null)
                {
                    throw new InvalidOperationException("Bundle loader has not yet been initialized.");
                }

                bridge.RunScript(_script, SourceUrl);
            }
            public override void LoadScript(IReactBridge executor)
            {
                if (executor == null)
                    throw new ArgumentNullException(nameof(executor));

                executor.RunScript(_proxySourceUrl, SourceUrl);
            }
Example #13
0
        public void Initialize(IReactBridge bridge)
        {
            _bridge = bridge;

            _viewManagers.AddRange(
                bridge.Modules
                    .Where(m=>m.Instance is IViewManager)
                    .Select(m=>m.Instance as IViewManager)
            );

            _viewManagers.Apply(m =>
            {
                var componentData = new ReactComponentData(m);
                _componentData.Add(componentData);
            });
        }
 public override void LoadScript(IReactBridge executor)
 {
     executor.RunScript(_proxySourceUrl);
 }
Example #15
0
 public virtual void Initialize(IReactBridge bridge)
 {
     Bridge = bridge;
 }
Example #16
0
        public IEnumerable <ModuleData> Load(IReactBridge bridge, IEnumerable <Assembly> assemblies)
        {
            var modules = Build(assemblies);

            return(modules);
        }
 public IEnumerable<ModuleData> Load(IReactBridge bridge, IEnumerable<Assembly> assemblies)
 {
     var modules = Build(assemblies);
     return modules;
 }
 public EventDispatcher(IReactBridge bridge)
 {
     _bridge = bridge;
 }
 public override void LoadScript(IReactBridge executor)
 {
     executor.RunScript(_script);
 }
 public ReactRootViewModel(IUIManager uiManager, IReactBridge bridge)
 {
     _bridge = bridge;
     uiManager.RegisterRootView(this);
 }
 /// <summary>
 /// Loads the bundle into a JavaScript executor.
 /// </summary>
 /// <param name="executor">The JavaScript executor.</param>
 public abstract void LoadScript(IReactBridge executor);
 public virtual void Initialize(IReactBridge bridge)
 {
     Bridge = bridge;
 }