public PrtInterfaceValue CreateInterfaceOrMachine(string currMachRenameName, string interfaceOrMachineName, PrtValue payload) { //add visible action to trace if (visibleInterfaces.Contains(interfaceOrMachineName)) { currentVisibleTrace.AddAction(interfaceOrMachineName, payload.ToString()); } var renamedImpMachine = linkMap[currMachRenameName][interfaceOrMachineName]; var impMachineName = renameMap[renamedImpMachine]; var machine = createMachineMap[impMachineName](this, payload); machine.isSafe = isSafeMap[renamedImpMachine]; machine.renamedName = renamedImpMachine; AddImplMachineToStateImpl(machine); CreateMachineCallback?.Invoke(machine); if (interfaceMap.ContainsKey(interfaceOrMachineName)) { return(new PrtInterfaceValue(machine, interfaceMap[interfaceOrMachineName])); } else { return(new PrtInterfaceValue(machine, machine.self.permissions)); } }
public PrtInterfaceValue CreateInterface(PrtImplMachine currMach, string interfaceOrMachineName, PrtValue payload) { //add visible action to trace if (visibleInterfaces.Contains(interfaceOrMachineName)) { currentVisibleTrace.AddAction(interfaceOrMachineName, payload.ToString()); } var renamedImpMachine = linkMap[currMach.renamedName][interfaceOrMachineName]; var impMachineName = machineDefMap[renamedImpMachine]; var machine = createMachineMap[impMachineName](this, payload); machine.isSafe = isSafeMap[renamedImpMachine]; machine.renamedName = renamedImpMachine; AddImplMachineToStateImpl(machine); CreateMachineCallback?.Invoke(machine); //TraceLine("<CreateLog> Machine {0}-{1} was created by machine {2}-{3}", currMach.renamedName, currMach.instanceNumber, machine.renamedName, machine.instanceNumber); TraceLine("<CreateLog> Machine {0}-{1} was created by machine {2}-{3}", machine.renamedName, machine.instanceNumber, currMach.renamedName, currMach.instanceNumber); if (interfaceMap.ContainsKey(interfaceOrMachineName)) { return(new PrtInterfaceValue(machine, interfaceMap[interfaceOrMachineName])); } else { return(new PrtInterfaceValue(machine, machine.self.permissions)); } }