public ActionToken IncludeNode(Modes mode, int timeoutMs, Action <IActionItem> completedCallback) { ResetNodeStatusSignals(); AddNodeOperation AddNodeOperation = new AddNodeOperation(mode, SetNodeStatusSignal, timeoutMs); return(ExecuteAsync(new InclusionTask(Network, AddNodeOperation), completedCallback)); }
public InclusionResult IncludeNode(Modes mode, int timeoutMs) { ResetNodeStatusSignals(); AddNodeOperation AddNodeOperation = new AddNodeOperation(mode, SetNodeStatusSignal, timeoutMs); return((InclusionResult)Execute(new InclusionTask(Network, AddNodeOperation))); }
private void OnReceived(DataReceivedUnit unit) { var payload = ((ApiHandler)unit.ActionHandler).DataFrame.Payload; _homeId = new byte[] { payload[3], payload[4], payload[5], payload[6] }; var dsk = _dskNeededCallback(_homeId); if (!_isRunning && dsk != null && dsk.Item2 != null && dsk.Item2.Length >= 16) { SetRunning(); byte[] dskPart = new byte[8]; Array.Copy(dsk.Item2, 8, dskPart, 0, 8); IAddRemoveNode addNode = null; if (dsk.Item1 > 0) { //addNode = new ReplaceFailedNodeOperation(dsk.First, _setNodeStatusSignal, _timeoutMs, dskPart) { SequenceNumber = SequenceNumber, DskValue = dsk.Item2 }; addNode = new AddNodeOperation((Modes.NodeOptionNetworkWide | Modes.NodeHomeId), _setNodeStatusSignal, _timeoutMs, dskPart) { SequenceNumber = SequenceNumber, DskValue = dsk.Item2, GrantSchemesValue = dsk.Item3 }; } else { addNode = new AddNodeOperation((Modes.NodeOptionNetworkWide | Modes.NodeHomeId), _setNodeStatusSignal, _timeoutMs, dskPart) { SequenceNumber = SequenceNumber, DskValue = dsk.Item2, GrantSchemesValue = dsk.Item3 }; } var action = new InclusionTask(_network, addNode, true); action.CompletedCallback = (x) => { var act = x as ActionBase; if (act != null) { ReleaseRunning(); _busyCallback(false, dsk.Item2, act.Result); } }; unit.SetNextActionItems(new ActionSerialGroup(action, new SetSmartStartAction(true))); _busyCallback(true, null, null); } else { unit.SetNextActionItems(new SetSmartStartAction(true)); } }
void ISuperGraphNodeFactory.AddLinkedNode(string nodeType, Point location, Node parent) { var mapNodeOperation = new AddNodeOperation(nodeType, MapManager, Context.Proxy, location); mapNodeOperation.ExecuteOperation(); if (mapNodeOperation.Response.Nodes.Any()) { var viewModelNode = new Node(MapManager); viewModelNode.LoadNode(null, mapNodeOperation.Response.Nodes.First()); ThemeManager.DressNode(viewModelNode); viewModelNode.IsFocused = true; viewModelNode.VideoInfo = VideoController.CreateVideoInfoViewModel(viewModelNode); viewModelNode.PropertyChanged += ViewModelNode_PropertyChanged; viewModelNode.LocationChanged += ViewModelNode_LocationChanged; var modelChangedEventArgs = new ModelChangedEventArgs <Node, Relationship>(); modelChangedEventArgs.Nodes.Add(new KeyValuePair <Node, ModelOperationType>(viewModelNode, ModelOperationType.New)); ModelChanged(this, modelChangedEventArgs); var connectNodesOperation = new ConnectNodesOperation(MapManager); connectNodesOperation.From = viewModelNode.Proxy; connectNodesOperation.To = parent.Proxy; connectNodesOperation.ExecuteOperation(); var relationshipModelCHangedEventArgs = new ModelChangedEventArgs <Node, Relationship>(); foreach (Proxy.IRelationship modelRelationship in connectNodesOperation.Response.Relationships) { var viewModelRelationship = new Relationship(); viewModelRelationship.LoadRelationship(modelRelationship); relationshipModelCHangedEventArgs.Relationships.Add(new KeyValuePair <Relationship, ModelOperationType>(viewModelRelationship, ModelOperationType.New)); } ModelChanged(this, relationshipModelCHangedEventArgs); } }