/// <summary> /// Call this method to intialize a CompileCustomNodeAsyncTask with an /// EngineController, nodes from the corresponding CustomNodeWorkspaceModel, /// and inputs/outputs of the CustomNodeDefinition. /// </summary> /// <param name="initParams">Input parameters required for compilation of /// the CustomNodeDefinition.</param> /// <returns>Returns true if GraphSyncData is generated successfully and /// that the CompileCustomNodeAsyncTask should be scheduled for execution. /// Returns false otherwise.</returns> /// internal bool Initialize(CompileCustomNodeParams initParams) { engineController = initParams.EngineController; try { graphSyncData = engineController.ComputeSyncData(initParams); return graphSyncData != null; } catch (Exception) { return false; } }
/// <summary> /// This method is called by codes that intent to start a graph update. /// This method is called on the main thread where node collection in a /// WorkspaceModel can be safely accessed. /// </summary> /// <param name="controller">Reference to an instance of EngineController /// to assist in generating GraphSyncData object for the given set of nodes. /// </param> /// <param name="workspace">Reference to the WorkspaceModel from which a /// set of updated nodes is computed. The EngineController generates the /// resulting GraphSyncData from this list of updated nodes.</param> /// <returns>Returns true if there is any GraphSyncData, or false otherwise /// (in which case there will be no need to schedule UpdateGraphAsyncTask /// for execution).</returns> /// internal bool Initialize(EngineController controller, WorkspaceModel workspace) { try { engineController = controller; TargetedWorkspace = workspace; modifiedNodes = ComputeModifiedNodes(workspace); graphSyncData = engineController.ComputeSyncData(modifiedNodes); return graphSyncData != null; } catch (Exception) { return false; } }
/// <summary> /// This method is called by code that intends to start a graph update. /// This method is called on the main thread where node collection in a /// WorkspaceModel can be safely accessed. /// </summary> /// <param name="controller">Reference to an instance of EngineController /// to assist in generating GraphSyncData object for the given set of nodes. /// </param> /// <param name="workspace">Reference to the WorkspaceModel from which a /// set of updated nodes is computed. The EngineController generates the /// resulting GraphSyncData from this list of updated nodes.</param> /// <returns>Returns true if there is any GraphSyncData, or false otherwise /// (in which case there will be no need to schedule UpdateGraphAsyncTask /// for execution).</returns> /// internal bool Initialize(EngineController controller, WorkspaceModel workspace) { try { engineController = controller; TargetedWorkspace = workspace; ModifiedNodes = ComputeModifiedNodes(workspace); graphSyncData = engineController.ComputeSyncData(workspace.Nodes, ModifiedNodes, verboseLogging); return graphSyncData != null; } catch (Exception e) { System.Diagnostics.Debug.WriteLine("UpgradeGraphAsyncTask saw: " + e.ToString()); return false; } }