public void Initialize(PluginConfigurationData configuration, PluginEnvironment environment) { _activityData = configuration.GetMetadata <NestActivityData>(); _xmlString = _activityData.EmulationString; InitializeUi(); }
public PluginExecutionResult Execute(PluginExecutionData executionData) { if (!_setupDone) { Setup(executionData); _setupDone = true; } try { var action = new Action(() => { ExecutionServices.SystemTrace.LogDebug("Emulating network condition now"); NestService.Initialize(); NestActivityData data = executionData.GetMetadata <NestActivityData>();; if (!string.IsNullOrEmpty(data.EmulationString)) { if (File.Exists(_emulationFileName)) { File.Delete(_emulationFileName); } var xDocument = XDocument.Parse(data.EmulationString, LoadOptions.None); xDocument.Save(_emulationFileName, SaveOptions.None); ExecutionServices.SystemTrace.LogDebug("Emulation file created"); if (NestService.StartEmulation(_emulationFileName)) { networkprofile_textBox.Text = data.EmulationProfileName; UpdateUI(data.EmulationString); } } else { if (NetworkEmulator.NetworkEmulationInstaller.IsNetworkEmulationBoundToAnyNetworkInterfaceCards()) { if (NestService.StopEmulation()) { nic_textBox.Text = @"Not emulating"; ExecutionServices.SystemTrace.LogInfo("Network Emulation Stopped"); } } else { ExecutionServices.SystemTrace.LogInfo("Network Emulation is currently not running"); } } }); ExecutionServices.CriticalSection.Run(new Framework.Synchronization.LocalLockToken("NetworkEmulation", new TimeSpan(0, 5, 0), new TimeSpan(0, 5, 0)), action); } catch (NetworkEmulator.NetworkEmulationNotInitializedException eNonInitialized) { ExecutionServices.SystemTrace.LogDebug("Emulator not Initialized " + eNonInitialized.Message); return(new PluginExecutionResult(PluginResult.Failed, "Emulator not Initialized :" + eNonInitialized.Message)); } catch (Exception genericException) { ExecutionServices.SystemTrace.LogDebug(genericException.Message); return(new PluginExecutionResult(PluginResult.Failed, "Activity Failed :" + genericException.Message)); } return(new PluginExecutionResult(PluginResult.Passed)); }
public void Initialize(PluginEnvironment environment) { _activityData = new NestActivityData(); InitializeUi(); }