diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-01-21 18:27:13 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-01-21 18:27:13 +0200 |
| commit | de5315c050369dd7d2cc7cdc2b82e9cde0d6da24 (patch) | |
| tree | 2cf2436f58182e3841471880cee90b0993c9e033 /Software/Visual_Studio | |
| parent | e1506d483f8f7beadb1367d6a00acfb4754183fc (diff) | |
| download | Tango-de5315c050369dd7d2cc7cdc2b82e9cde0d6da24.tar.gz Tango-de5315c050369dd7d2cc7cdc2b82e9cde0d6da24.zip | |
Testing some external bridge communication..
Implemented external bridge application logs routing !!!
Diffstat (limited to 'Software/Visual_Studio')
19 files changed, 824 insertions, 67 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml index 2e2dd1285..c323ce0b0 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ConnectedMachineView.xaml @@ -99,6 +99,8 @@ <ToggleButton IsChecked="{Binding UseKeepAlive}" HorizontalAlignment="Left"></ToggleButton> <TextBlock FontWeight="SemiBold" Text="Enable Events:" /> <ToggleButton IsChecked="{Binding EnableEventsNotification}" HorizontalAlignment="Left"></ToggleButton> + <TextBlock FontWeight="SemiBold" Text="Enable Application Logs:" /> + <ToggleButton IsChecked="{Binding EnableApplicationLogs}" HorizontalAlignment="Left"></ToggleButton> </controls:TableGrid> </DataTemplate> diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs index 7c6287933..2a0392dd6 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Connection/DefaultMachineProvider.cs @@ -132,6 +132,8 @@ namespace Tango.PPC.Common.Connection await MachineOperator.Connect(); + await Task.Delay(1000); + await MachineOperator.UploadHardwareConfiguration(Machine.Configuration.HardwareVersion, Machine.Configuration); } else { @@ -142,6 +144,9 @@ namespace Tango.PPC.Common.Connection MachineOperator.JobHandlingMode = JobHandlerModes.SettingUp; MachineOperatorChanged?.Invoke(this, new MachineOperatorChangedEventArgs(MachineOperator, MachineOperator)); await MachineOperator.Connect(); + + await Task.Delay(1000); + await MachineOperator.UploadHardwareConfiguration(Machine.Configuration.HardwareVersion, Machine.Configuration); } } else @@ -162,6 +167,9 @@ namespace Tango.PPC.Common.Connection LogManager.Log("Connecting machine operator..."); MachineOperatorChanged?.Invoke(this, new MachineOperatorChangedEventArgs(MachineOperator, MachineOperator)); await MachineOperator.Connect(); + + await Task.Delay(1000); + await MachineOperator.UploadHardwareConfiguration(Machine.Configuration.HardwareVersion, Machine.Configuration); } } catch (Exception ex) diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest index d72e75011..efc5f8179 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest +++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest @@ -16,7 +16,7 @@ Remove this element if your application requires this virtualization for backwards compatibility. --> - <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> + <!--<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />--> </requestedPrivileges> </security> </trustInfo> diff --git a/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeScanner.cs b/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeScanner.cs index eb00a27b3..388e42eed 100644 --- a/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeScanner.cs +++ b/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeScanner.cs @@ -134,6 +134,7 @@ namespace Tango.Integration.ExternalBridge while (IsStarted) { var ClientEp = new IPEndPoint(IPAddress.Any, 0); + _server.EnableBroadcast = true; var ClientRequestData = _server.Receive(ref ClientEp); ExternalBridgeUdpDiscoveryPacket packet = ExternalBridgeUdpDiscoveryPacket.Parser.ParseFrom(ClientRequestData); diff --git a/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeService.cs b/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeService.cs index 19e0b2910..2a18aff57 100644 --- a/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeService.cs +++ b/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeService.cs @@ -24,6 +24,8 @@ namespace Tango.Integration.ExternalBridge { private UdpDiscoveryService<ExternalBridgeUdpDiscoveryPacket> _discoverySevice; private TcpServer _tcpServer; + private bool _send_app_logs; + private String _app_logs_token; #region Events @@ -116,6 +118,8 @@ namespace Tango.Integration.ExternalBridge { _tcpServer = new TcpServer(1984); _tcpServer.ClientConnected += _tcpServer_ClientConnected; + + LogManager.NewLog += LogManager_NewLog; } /// <summary> @@ -129,7 +133,6 @@ namespace Tango.Integration.ExternalBridge MachineOperator = machineOperator; } - #endregion #region Properties Changes @@ -189,6 +192,21 @@ namespace Tango.Integration.ExternalBridge //Do nothing right now. } + private void LogManager_NewLog(object sender, Tango.Logging.LogItemBase e) + { + if (State == TransportComponentState.Connected && _send_app_logs) + { + try + { + SendResponse<StartApplicationLogsResponse>(new StartApplicationLogsResponse() + { + LogItem = ByteString.CopyFrom(e.Serialize()) + }, _app_logs_token); + } + catch { } + } + } + #endregion #region Public Methods @@ -264,6 +282,18 @@ namespace Tango.Integration.ExternalBridge { OnExternalBridgeLogoutRequest(container); } + else if (container.Type == MessageType.StartApplicationLogsRequest) + { + _app_logs_token = container.Token; + _send_app_logs = true; + SendResponse<StartApplicationLogsResponse>(new StartApplicationLogsResponse(), container.Token); + } + else if (container.Type == MessageType.StopApplicationLogsRequest) + { + _send_app_logs = false; + SendResponse<StopApplicationLogsResponse>(new StopApplicationLogsResponse() { }, container.Token); + SendResponse<StartApplicationLogsResponse>(new StartApplicationLogsResponse() { }, _app_logs_token, true); + } else { if (IsInSession && SessionIntent == ExternalBridgeLoginIntent.Override) @@ -281,6 +311,8 @@ namespace Tango.Integration.ExternalBridge public async override Task Disconnect() { + _send_app_logs = false; + try { if (IsInSession) @@ -307,6 +339,7 @@ namespace Tango.Integration.ExternalBridge protected async virtual void OnClientDisconnected() { IsInSession = false; + _send_app_logs = false; if (MachineOperator.State == TransportComponentState.Connected) { diff --git a/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeTcpClient.cs b/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeTcpClient.cs index d602ac781..52c8be462 100644 --- a/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeTcpClient.cs +++ b/Software/Visual_Studio/Tango.Integration/ExternalBridge/ExternalBridgeTcpClient.cs @@ -1,12 +1,16 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Reactive.Concurrency; +using System.Reactive.Linq; using System.Security.Authentication; using System.Text; using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.Integration.Operation; +using Tango.Logging; +using Tango.PMR; using Tango.PMR.Common; using Tango.PMR.Connection; using Tango.PMR.Integration; @@ -24,6 +28,8 @@ namespace Tango.Integration.ExternalBridge /// <seealso cref="Tango.Integration.ExternalBridge.IExternalBridgeSecureClient" /> public class ExternalBridgeTcpClient : MachineOperator, IExternalBridgeSecureClient { + private bool _logs_sent; + #region Properties private String _serialNumber; @@ -50,6 +56,21 @@ namespace Tango.Integration.ExternalBridge set { _ipAddress = value; RaisePropertyChangedAuto(); } } + private bool _enableApplicationLogs; + /// <summary> + /// Gets or sets a value indicating whether to enable receiving application logs. + /// </summary> + public bool EnableApplicationLogs + { + get { return _enableApplicationLogs; } + set + { + _enableApplicationLogs = value; + RaisePropertyChangedAuto(); + OnEnableApplicationLogsChanged(value); + } + } + /// <summary> /// Gets a value indicating whether this client requires authentication. /// </summary> @@ -110,6 +131,82 @@ namespace Tango.Integration.ExternalBridge OnEnableDiagnosticsChanged(EnableDiagnostics); OnEnableEmbeddedDebuggingChanged(EnableEmbeddedDebugging); OnEnableEventsNotification(EnableEventsNotification); + OnEnableApplicationLogsChanged(EnableApplicationLogs); + } + } + + private async void OnEnableApplicationLogsChanged(bool value) + { + if (value && State == TransportComponentState.Connected && !_logs_sent) + { + var request = new StartApplicationLogsRequest(); + + bool responseLogged = false; + _logs_sent = true; + + SendContinuousRequest<StartApplicationLogsRequest, StartApplicationLogsResponse>(request).ObserveOn(new NewThreadScheduler()) + .Subscribe + ( + (response) => + { + if (!responseLogged) + { + LogResponseReceived(response.Message); + responseLogged = true; + } + + OnApplicationLogAvailable(response); + }, + (ex) => + { + _logs_sent = false; + + if (!(ex is ContinuousResponseAbortedException)) + { + LogRequestFailed(request, ex); + } + }, + () => + { + _logs_sent = false; + }); + + LogRequestSent(request); + } + else if (_logs_sent) + { + _logs_sent = false; + + if (State == TransportComponentState.Connected) + { + var req = new StopApplicationLogsRequest(); + + try + { + LogRequestSent(req); + var res = await SendRequest<StopApplicationLogsRequest, StopApplicationLogsResponse>(req); + LogResponseReceived(res.Message); + } + catch (Exception ex) + { + LogRequestFailed(req, ex); + } + } + } + } + + private void OnApplicationLogAvailable(TangoMessage<StartApplicationLogsResponse> response) + { + try + { + if (response.Message.LogItem.Count() > 0) + { + LogManager.Log(LogItemBase.Deserialize(response.Message.LogItem.ToArray())); + } + } + catch (Exception ex) + { + LogManager.Log(ex, "Error deserializing incoming application log item!"); } } diff --git a/Software/Visual_Studio/Tango.Logging/ExceptionLogItem.cs b/Software/Visual_Studio/Tango.Logging/ExceptionLogItem.cs index d2a1a352d..7c325ee19 100644 --- a/Software/Visual_Studio/Tango.Logging/ExceptionLogItem.cs +++ b/Software/Visual_Studio/Tango.Logging/ExceptionLogItem.cs @@ -10,6 +10,7 @@ namespace Tango.Logging /// <summary> /// Represents an exception log item. /// </summary> + [Serializable] public class ExceptionLogItem : LogItemBase { /// <summary> diff --git a/Software/Visual_Studio/Tango.Logging/LogItemBase.cs b/Software/Visual_Studio/Tango.Logging/LogItemBase.cs index b914a33ef..f89b73b40 100644 --- a/Software/Visual_Studio/Tango.Logging/LogItemBase.cs +++ b/Software/Visual_Studio/Tango.Logging/LogItemBase.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.IO; using System.Linq; +using System.Runtime.Serialization.Formatters.Binary; using System.Text; using System.Threading.Tasks; @@ -11,14 +12,21 @@ namespace Tango.Logging /// <summary> /// Represents a base class for log items. /// </summary> + [Serializable] public abstract class LogItemBase : INotifyPropertyChanged { private static String base_path; + [NonSerialized] + private Object _logObject; /// <summary> /// Gets or sets an optional log object. /// </summary> - public Object LogObject { get; set; } + public Object LogObject + { + get { return _logObject; } + set { _logObject = value; } + } /// <summary> /// Gets or sets the caller method adding the exception. @@ -87,6 +95,35 @@ namespace Tango.Logging } /// <summary> + /// Serializes this log item using <see cref="BinaryFormatter"/>. + /// </summary> + /// <returns></returns> + public byte[] Serialize() + { + using (MemoryStream ms = new MemoryStream()) + { + BinaryFormatter f = new BinaryFormatter(); + f.Serialize(ms, this); + return ms.ToArray(); + } + } + + /// <summary> + /// Deserializes the specified data using <see cref="BinaryFormatter"/> to create a log item. + /// </summary> + /// <param name="data">The data.</param> + /// <returns></returns> + public static LogItemBase Deserialize(byte[] data) + { + using (MemoryStream ms = new MemoryStream(data)) + { + ms.Position = 0; + BinaryFormatter f = new BinaryFormatter(); + return f.Deserialize(ms) as LogItemBase; + } + } + + /// <summary> /// Raises the property changed event. /// </summary> /// <param name="propName">Name of the property.</param> diff --git a/Software/Visual_Studio/Tango.Logging/LogManager.cs b/Software/Visual_Studio/Tango.Logging/LogManager.cs index 04c66a71f..98bcaaa28 100644 --- a/Software/Visual_Studio/Tango.Logging/LogManager.cs +++ b/Software/Visual_Studio/Tango.Logging/LogManager.cs @@ -190,6 +190,15 @@ namespace Tango.Logging } /// <summary> + /// Appends the specified log item. + /// </summary> + /// <param name="logItem">The log item.</param> + public void Log(LogItemBase logItem) + { + AppendLog(logItem); + } + + /// <summary> /// Logs the current referenced assemblies in the app domain. /// </summary> public void LogReferencedAssemblies() diff --git a/Software/Visual_Studio/Tango.Logging/MessageLogItem.cs b/Software/Visual_Studio/Tango.Logging/MessageLogItem.cs index f45aa8cea..b0b3e24ae 100644 --- a/Software/Visual_Studio/Tango.Logging/MessageLogItem.cs +++ b/Software/Visual_Studio/Tango.Logging/MessageLogItem.cs @@ -10,6 +10,7 @@ namespace Tango.Logging /// <summary> /// Represents an exception log item. /// </summary> + [Serializable] public class MessageLogItem : LogItemBase { private String _message; diff --git a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs index fea3f95a9..b378f1ca5 100644 --- a/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs +++ b/Software/Visual_Studio/Tango.PMR/Common/MessageType.cs @@ -22,7 +22,7 @@ namespace Tango.PMR.Common { static MessageTypeReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiqWLQoLTWVz", + "ChFNZXNzYWdlVHlwZS5wcm90bxIQVGFuZ28uUE1SLkNvbW1vbiqeLgoLTWVz", "c2FnZVR5cGUSCAoETm9uZRAAEhEKDUVycm9yUmVzcG9uc2UQARIUChBDYWxj", "dWxhdGVSZXF1ZXN0EAMSFQoRQ2FsY3VsYXRlUmVzcG9uc2UQBBITCg9Qcm9n", "cmVzc1JlcXVlc3QQBRIUChBQcm9ncmVzc1Jlc3BvbnNlEAYSHAoYU3R1YkNh", @@ -95,64 +95,67 @@ namespace Tango.PMR.Common { "ZXF1ZXN0EOsHEiEKHEV4dGVybmFsQnJpZGdlTG9nb3V0UmVzcG9uc2UQ7AcS", "IQocRGlyZWN0U3luY2hyb25pemF0aW9uUmVxdWVzdBDtBxIiCh1EaXJlY3RT", "eW5jaHJvbml6YXRpb25SZXNwb25zZRDuBxIcChdPdmVycmlkZURhdGFCYXNl", - "UmVxdWVzdBDvBxIdChhPdmVycmlkZURhdGFCYXNlUmVzcG9uc2UQ8AcSHAoX", - "U3RhcnREaWFnbm9zdGljc1JlcXVlc3QQ0A8SHQoYU3RhcnREaWFnbm9zdGlj", - "c1Jlc3BvbnNlENEPEhwKF01vdG9yQWJvcnRIb21pbmdSZXF1ZXN0ENIPEh0K", - "GE1vdG9yQWJvcnRIb21pbmdSZXNwb25zZRDTDxIXChJNb3RvckhvbWluZ1Jl", - "cXVlc3QQ1A8SGAoTTW90b3JIb21pbmdSZXNwb25zZRDVDxIYChNNb3Rvckpv", - "Z2dpbmdSZXF1ZXN0ENYPEhkKFE1vdG9ySm9nZ2luZ1Jlc3BvbnNlENcPEh0K", - "GE1vdG9yQWJvcnRKb2dnaW5nUmVxdWVzdBDYDxIeChlNb3RvckFib3J0Sm9n", - "Z2luZ1Jlc3BvbnNlENkPEiAKG0Rpc3BlbnNlckFib3J0SG9taW5nUmVxdWVz", - "dBDaDxIhChxEaXNwZW5zZXJBYm9ydEhvbWluZ1Jlc3BvbnNlENsPEhsKFkRp", - "c3BlbnNlckhvbWluZ1JlcXVlc3QQ3A8SHAoXRGlzcGVuc2VySG9taW5nUmVz", - "cG9uc2UQ3Q8SHAoXRGlzcGVuc2VySm9nZ2luZ1JlcXVlc3QQ3g8SHQoYRGlz", - "cGVuc2VySm9nZ2luZ1Jlc3BvbnNlEN8PEiEKHERpc3BlbnNlckFib3J0Sm9n", - "Z2luZ1JlcXVlc3QQ4A8SIgodRGlzcGVuc2VyQWJvcnRKb2dnaW5nUmVzcG9u", - "c2UQ4Q8SGQoUU2V0RGlnaXRhbE91dFJlcXVlc3QQ4g8SGgoVU2V0RGlnaXRh", - "bE91dFJlc3BvbnNlEOMPEhkKFFRocmVhZEpvZ2dpbmdSZXF1ZXN0EOQPEhoK", - "FVRocmVhZEpvZ2dpbmdSZXNwb25zZRDlDxIeChlUaHJlYWRBYm9ydEpvZ2dp", - "bmdSZXF1ZXN0EOYPEh8KGlRocmVhZEFib3J0Sm9nZ2luZ1Jlc3BvbnNlEOcP", - "Eh0KGFNldENvbXBvbmVudFZhbHVlUmVxdWVzdBDoDxIeChlTZXRDb21wb25l", - "bnRWYWx1ZVJlc3BvbnNlEOkPEhgKE1Jlc29sdmVFdmVudFJlcXVlc3QQ6g8S", - "GQoUUmVzb2x2ZUV2ZW50UmVzcG9uc2UQ6w8SGwoWU3RvcERpYWdub3N0aWNz", - "UmVxdWVzdBDsDxIcChdTdG9wRGlhZ25vc3RpY3NSZXNwb25zZRDtDxIjCh5T", - "dGFydEV2ZW50c05vdGlmaWNhdGlvblJlcXVlc3QQ7g8SJAofU3RhcnRFdmVu", - "dHNOb3RpZmljYXRpb25SZXNwb25zZRDvDxIiCh1TdG9wRXZlbnRzTm90aWZp", - "Y2F0aW9uUmVxdWVzdBDwDxIjCh5TdG9wRXZlbnRzTm90aWZpY2F0aW9uUmVz", - "cG9uc2UQ8Q8SGgoVU2V0SGVhdGVyU3RhdGVSZXF1ZXN0EPIPEhsKFlNldEhl", - "YXRlclN0YXRlUmVzcG9uc2UQ8w8SGgoVU2V0Qmxvd2VyU3RhdGVSZXF1ZXN0", - "EPQPEhsKFlNldEJsb3dlclN0YXRlUmVzcG9uc2UQ9Q8SGQoUU2V0VmFsdmVT", - "dGF0ZVJlcXVlc3QQ9g8SGgoVU2V0VmFsdmVTdGF0ZVJlc3BvbnNlEPcPEg8K", - "CkpvYlJlcXVlc3QQuBcSEAoLSm9iUmVzcG9uc2UQuRcSFAoPQWJvcnRKb2JS", - "ZXF1ZXN0ELoXEhUKEEFib3J0Sm9iUmVzcG9uc2UQuxcSIwoeVXBsb2FkUHJv", - "Y2Vzc1BhcmFtZXRlcnNSZXF1ZXN0ELwXEiQKH1VwbG9hZFByb2Nlc3NQYXJh", - "bWV0ZXJzUmVzcG9uc2UQvRcSFgoRQ3VycmVudEpvYlJlcXVlc3QQvhcSFwoS", - "Q3VycmVudEpvYlJlc3BvbnNlEL8XEhwKF1Jlc3VtZUN1cnJlbnRKb2JSZXF1", - "ZXN0EMAXEh0KGFJlc3VtZUN1cnJlbnRKb2JSZXNwb25zZRDBFxIZChRTdGFy", - "dERlYnVnTG9nUmVxdWVzdBCgHxIaChVTdGFydERlYnVnTG9nUmVzcG9uc2UQ", - "oR8SGAoTU3RvcERlYnVnTG9nUmVxdWVzdBCiHxIZChRTdG9wRGVidWdMb2dS", - "ZXNwb25zZRCjHxInCiJVcGxvYWRIYXJkd2FyZUNvbmZpZ3VyYXRpb25SZXF1", - "ZXN0EIgnEigKI1VwbG9hZEhhcmR3YXJlQ29uZmlndXJhdGlvblJlc3BvbnNl", - "EIknEhcKElN5c3RlbVJlc2V0UmVxdWVzdBCKJxIYChNTeXN0ZW1SZXNldFJl", - "c3BvbnNlEIsnEhUKEEtlZXBBbGl2ZVJlcXVlc3QQ8C4SFgoRS2VlcEFsaXZl", - "UmVzcG9uc2UQ8S4SEwoOQ29ubmVjdFJlcXVlc3QQ8i4SFAoPQ29ubmVjdFJl", - "c3BvbnNlEPMuEhYKEURpc2Nvbm5lY3RSZXF1ZXN0EPQuEhcKEkRpc2Nvbm5l", - "Y3RSZXNwb25zZRD1LhIWChFGaWxlVXBsb2FkUmVxdWVzdBDYNhIXChJGaWxl", - "VXBsb2FkUmVzcG9uc2UQ2TYSGwoWRmlsZUNodW5rVXBsb2FkUmVxdWVzdBDa", - "NhIcChdGaWxlQ2h1bmtVcGxvYWRSZXNwb25zZRDbNhIaChVFeGVjdXRlUHJv", - "Y2Vzc1JlcXVlc3QQ3DYSGwoWRXhlY3V0ZVByb2Nlc3NSZXNwb25zZRDdNhIX", - "ChJLaWxsUHJvY2Vzc1JlcXVlc3QQ3jYSGAoTS2lsbFByb2Nlc3NSZXNwb25z", - "ZRDfNhISCg1DcmVhdGVSZXF1ZXN0EOA2EhMKDkNyZWF0ZVJlc3BvbnNlEOE2", - "EhIKDURlbGV0ZVJlcXVlc3QQ4jYSEwoORGVsZXRlUmVzcG9uc2UQ4zYSGgoV", - "R2V0U3RvcmFnZUluZm9SZXF1ZXN0EOQ2EhsKFkdldFN0b3JhZ2VJbmZvUmVz", - "cG9uc2UQ5TYSFAoPR2V0RmlsZXNSZXF1ZXN0EOY2EhUKEEdldEZpbGVzUmVz", - "cG9uc2UQ5zYSGAoTRmlsZURvd25sb2FkUmVxdWVzdBDoNhIZChRGaWxlRG93", - "bmxvYWRSZXNwb25zZRDpNhIdChhGaWxlQ2h1bmtEb3dubG9hZFJlcXVlc3QQ", - "6jYSHgoZRmlsZUNodW5rRG93bmxvYWRSZXNwb25zZRDrNhIbChZWYWxpZGF0", - "ZVZlcnNpb25SZXF1ZXN0EOw2EhwKF1ZhbGlkYXRlVmVyc2lvblJlc3BvbnNl", - "EO02EhsKFkFjdGl2YXRlVmVyc2lvblJlcXVlc3QQ7jYSHAoXQWN0aXZhdGVW", - "ZXJzaW9uUmVzcG9uc2UQ7zZCHAoaY29tLnR3aW5lLnRhbmdvLnBtci5jb21t", - "b25iBnByb3RvMw==")); + "UmVxdWVzdBDvBxIdChhPdmVycmlkZURhdGFCYXNlUmVzcG9uc2UQ8AcSIAob", + "U3RhcnRBcHBsaWNhdGlvbkxvZ3NSZXF1ZXN0EPEHEiEKHFN0YXJ0QXBwbGlj", + "YXRpb25Mb2dzUmVzcG9uc2UQ8gcSHwoaU3RvcEFwcGxpY2F0aW9uTG9nc1Jl", + "cXVlc3QQ8wcSIAobU3RvcEFwcGxpY2F0aW9uTG9nc1Jlc3BvbnNlEPQHEhwK", + "F1N0YXJ0RGlhZ25vc3RpY3NSZXF1ZXN0ENAPEh0KGFN0YXJ0RGlhZ25vc3Rp", + "Y3NSZXNwb25zZRDRDxIcChdNb3RvckFib3J0SG9taW5nUmVxdWVzdBDSDxId", + "ChhNb3RvckFib3J0SG9taW5nUmVzcG9uc2UQ0w8SFwoSTW90b3JIb21pbmdS", + "ZXF1ZXN0ENQPEhgKE01vdG9ySG9taW5nUmVzcG9uc2UQ1Q8SGAoTTW90b3JK", + "b2dnaW5nUmVxdWVzdBDWDxIZChRNb3RvckpvZ2dpbmdSZXNwb25zZRDXDxId", + "ChhNb3RvckFib3J0Sm9nZ2luZ1JlcXVlc3QQ2A8SHgoZTW90b3JBYm9ydEpv", + "Z2dpbmdSZXNwb25zZRDZDxIgChtEaXNwZW5zZXJBYm9ydEhvbWluZ1JlcXVl", + "c3QQ2g8SIQocRGlzcGVuc2VyQWJvcnRIb21pbmdSZXNwb25zZRDbDxIbChZE", + "aXNwZW5zZXJIb21pbmdSZXF1ZXN0ENwPEhwKF0Rpc3BlbnNlckhvbWluZ1Jl", + "c3BvbnNlEN0PEhwKF0Rpc3BlbnNlckpvZ2dpbmdSZXF1ZXN0EN4PEh0KGERp", + "c3BlbnNlckpvZ2dpbmdSZXNwb25zZRDfDxIhChxEaXNwZW5zZXJBYm9ydEpv", + "Z2dpbmdSZXF1ZXN0EOAPEiIKHURpc3BlbnNlckFib3J0Sm9nZ2luZ1Jlc3Bv", + "bnNlEOEPEhkKFFNldERpZ2l0YWxPdXRSZXF1ZXN0EOIPEhoKFVNldERpZ2l0", + "YWxPdXRSZXNwb25zZRDjDxIZChRUaHJlYWRKb2dnaW5nUmVxdWVzdBDkDxIa", + "ChVUaHJlYWRKb2dnaW5nUmVzcG9uc2UQ5Q8SHgoZVGhyZWFkQWJvcnRKb2dn", + "aW5nUmVxdWVzdBDmDxIfChpUaHJlYWRBYm9ydEpvZ2dpbmdSZXNwb25zZRDn", + "DxIdChhTZXRDb21wb25lbnRWYWx1ZVJlcXVlc3QQ6A8SHgoZU2V0Q29tcG9u", + "ZW50VmFsdWVSZXNwb25zZRDpDxIYChNSZXNvbHZlRXZlbnRSZXF1ZXN0EOoP", + "EhkKFFJlc29sdmVFdmVudFJlc3BvbnNlEOsPEhsKFlN0b3BEaWFnbm9zdGlj", + "c1JlcXVlc3QQ7A8SHAoXU3RvcERpYWdub3N0aWNzUmVzcG9uc2UQ7Q8SIwoe", + "U3RhcnRFdmVudHNOb3RpZmljYXRpb25SZXF1ZXN0EO4PEiQKH1N0YXJ0RXZl", + "bnRzTm90aWZpY2F0aW9uUmVzcG9uc2UQ7w8SIgodU3RvcEV2ZW50c05vdGlm", + "aWNhdGlvblJlcXVlc3QQ8A8SIwoeU3RvcEV2ZW50c05vdGlmaWNhdGlvblJl", + "c3BvbnNlEPEPEhoKFVNldEhlYXRlclN0YXRlUmVxdWVzdBDyDxIbChZTZXRI", + "ZWF0ZXJTdGF0ZVJlc3BvbnNlEPMPEhoKFVNldEJsb3dlclN0YXRlUmVxdWVz", + "dBD0DxIbChZTZXRCbG93ZXJTdGF0ZVJlc3BvbnNlEPUPEhkKFFNldFZhbHZl", + "U3RhdGVSZXF1ZXN0EPYPEhoKFVNldFZhbHZlU3RhdGVSZXNwb25zZRD3DxIP", + "CgpKb2JSZXF1ZXN0ELgXEhAKC0pvYlJlc3BvbnNlELkXEhQKD0Fib3J0Sm9i", + "UmVxdWVzdBC6FxIVChBBYm9ydEpvYlJlc3BvbnNlELsXEiMKHlVwbG9hZFBy", + "b2Nlc3NQYXJhbWV0ZXJzUmVxdWVzdBC8FxIkCh9VcGxvYWRQcm9jZXNzUGFy", + "YW1ldGVyc1Jlc3BvbnNlEL0XEhYKEUN1cnJlbnRKb2JSZXF1ZXN0EL4XEhcK", + "EkN1cnJlbnRKb2JSZXNwb25zZRC/FxIcChdSZXN1bWVDdXJyZW50Sm9iUmVx", + "dWVzdBDAFxIdChhSZXN1bWVDdXJyZW50Sm9iUmVzcG9uc2UQwRcSGQoUU3Rh", + "cnREZWJ1Z0xvZ1JlcXVlc3QQoB8SGgoVU3RhcnREZWJ1Z0xvZ1Jlc3BvbnNl", + "EKEfEhgKE1N0b3BEZWJ1Z0xvZ1JlcXVlc3QQoh8SGQoUU3RvcERlYnVnTG9n", + "UmVzcG9uc2UQox8SJwoiVXBsb2FkSGFyZHdhcmVDb25maWd1cmF0aW9uUmVx", + "dWVzdBCIJxIoCiNVcGxvYWRIYXJkd2FyZUNvbmZpZ3VyYXRpb25SZXNwb25z", + "ZRCJJxIXChJTeXN0ZW1SZXNldFJlcXVlc3QQiicSGAoTU3lzdGVtUmVzZXRS", + "ZXNwb25zZRCLJxIVChBLZWVwQWxpdmVSZXF1ZXN0EPAuEhYKEUtlZXBBbGl2", + "ZVJlc3BvbnNlEPEuEhMKDkNvbm5lY3RSZXF1ZXN0EPIuEhQKD0Nvbm5lY3RS", + "ZXNwb25zZRDzLhIWChFEaXNjb25uZWN0UmVxdWVzdBD0LhIXChJEaXNjb25u", + "ZWN0UmVzcG9uc2UQ9S4SFgoRRmlsZVVwbG9hZFJlcXVlc3QQ2DYSFwoSRmls", + "ZVVwbG9hZFJlc3BvbnNlENk2EhsKFkZpbGVDaHVua1VwbG9hZFJlcXVlc3QQ", + "2jYSHAoXRmlsZUNodW5rVXBsb2FkUmVzcG9uc2UQ2zYSGgoVRXhlY3V0ZVBy", + "b2Nlc3NSZXF1ZXN0ENw2EhsKFkV4ZWN1dGVQcm9jZXNzUmVzcG9uc2UQ3TYS", + "FwoSS2lsbFByb2Nlc3NSZXF1ZXN0EN42EhgKE0tpbGxQcm9jZXNzUmVzcG9u", + "c2UQ3zYSEgoNQ3JlYXRlUmVxdWVzdBDgNhITCg5DcmVhdGVSZXNwb25zZRDh", + "NhISCg1EZWxldGVSZXF1ZXN0EOI2EhMKDkRlbGV0ZVJlc3BvbnNlEOM2EhoK", + "FUdldFN0b3JhZ2VJbmZvUmVxdWVzdBDkNhIbChZHZXRTdG9yYWdlSW5mb1Jl", + "c3BvbnNlEOU2EhQKD0dldEZpbGVzUmVxdWVzdBDmNhIVChBHZXRGaWxlc1Jl", + "c3BvbnNlEOc2EhgKE0ZpbGVEb3dubG9hZFJlcXVlc3QQ6DYSGQoURmlsZURv", + "d25sb2FkUmVzcG9uc2UQ6TYSHQoYRmlsZUNodW5rRG93bmxvYWRSZXF1ZXN0", + "EOo2Eh4KGUZpbGVDaHVua0Rvd25sb2FkUmVzcG9uc2UQ6zYSGwoWVmFsaWRh", + "dGVWZXJzaW9uUmVxdWVzdBDsNhIcChdWYWxpZGF0ZVZlcnNpb25SZXNwb25z", + "ZRDtNhIbChZBY3RpdmF0ZVZlcnNpb25SZXF1ZXN0EO42EhwKF0FjdGl2YXRl", + "VmVyc2lvblJlc3BvbnNlEO82QhwKGmNvbS50d2luZS50YW5nby5wbXIuY29t", + "bW9uYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Common.MessageType), }, null)); @@ -290,6 +293,10 @@ namespace Tango.PMR.Common { [pbr::OriginalName("DirectSynchronizationResponse")] DirectSynchronizationResponse = 1006, [pbr::OriginalName("OverrideDataBaseRequest")] OverrideDataBaseRequest = 1007, [pbr::OriginalName("OverrideDataBaseResponse")] OverrideDataBaseResponse = 1008, + [pbr::OriginalName("StartApplicationLogsRequest")] StartApplicationLogsRequest = 1009, + [pbr::OriginalName("StartApplicationLogsResponse")] StartApplicationLogsResponse = 1010, + [pbr::OriginalName("StopApplicationLogsRequest")] StopApplicationLogsRequest = 1011, + [pbr::OriginalName("StopApplicationLogsResponse")] StopApplicationLogsResponse = 1012, /// <summary> ///Diagnostics /// </summary> diff --git a/Software/Visual_Studio/Tango.PMR/Integration/StartApplicationLogsRequest.cs b/Software/Visual_Studio/Tango.PMR/Integration/StartApplicationLogsRequest.cs new file mode 100644 index 000000000..d30ced5cb --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Integration/StartApplicationLogsRequest.cs @@ -0,0 +1,131 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StartApplicationLogsRequest.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Integration { + + /// <summary>Holder for reflection information generated from StartApplicationLogsRequest.proto</summary> + public static partial class StartApplicationLogsRequestReflection { + + #region Descriptor + /// <summary>File descriptor for StartApplicationLogsRequest.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StartApplicationLogsRequestReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CiFTdGFydEFwcGxpY2F0aW9uTG9nc1JlcXVlc3QucHJvdG8SFVRhbmdvLlBN", + "Ui5JbnRlZ3JhdGlvbiIdChtTdGFydEFwcGxpY2F0aW9uTG9nc1JlcXVlc3RC", + "IQofY29tLnR3aW5lLnRhbmdvLnBtci5pbnRlZ3JhdGlvbmIGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Integration.StartApplicationLogsRequest), global::Tango.PMR.Integration.StartApplicationLogsRequest.Parser, null, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StartApplicationLogsRequest : pb::IMessage<StartApplicationLogsRequest> { + private static readonly pb::MessageParser<StartApplicationLogsRequest> _parser = new pb::MessageParser<StartApplicationLogsRequest>(() => new StartApplicationLogsRequest()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StartApplicationLogsRequest> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Integration.StartApplicationLogsRequestReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StartApplicationLogsRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StartApplicationLogsRequest(StartApplicationLogsRequest other) : this() { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StartApplicationLogsRequest Clone() { + return new StartApplicationLogsRequest(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StartApplicationLogsRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StartApplicationLogsRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StartApplicationLogsRequest other) { + if (other == null) { + return; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Integration/StartApplicationLogsResponse.cs b/Software/Visual_Studio/Tango.PMR/Integration/StartApplicationLogsResponse.cs new file mode 100644 index 000000000..bcc02bcd0 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Integration/StartApplicationLogsResponse.cs @@ -0,0 +1,160 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StartApplicationLogsResponse.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Integration { + + /// <summary>Holder for reflection information generated from StartApplicationLogsResponse.proto</summary> + public static partial class StartApplicationLogsResponseReflection { + + #region Descriptor + /// <summary>File descriptor for StartApplicationLogsResponse.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StartApplicationLogsResponseReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CiJTdGFydEFwcGxpY2F0aW9uTG9nc1Jlc3BvbnNlLnByb3RvEhVUYW5nby5Q", + "TVIuSW50ZWdyYXRpb24iLwocU3RhcnRBcHBsaWNhdGlvbkxvZ3NSZXNwb25z", + "ZRIPCgdMb2dJdGVtGAEgASgMQiEKH2NvbS50d2luZS50YW5nby5wbXIuaW50", + "ZWdyYXRpb25iBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Integration.StartApplicationLogsResponse), global::Tango.PMR.Integration.StartApplicationLogsResponse.Parser, new[]{ "LogItem" }, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StartApplicationLogsResponse : pb::IMessage<StartApplicationLogsResponse> { + private static readonly pb::MessageParser<StartApplicationLogsResponse> _parser = new pb::MessageParser<StartApplicationLogsResponse>(() => new StartApplicationLogsResponse()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StartApplicationLogsResponse> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Integration.StartApplicationLogsResponseReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StartApplicationLogsResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StartApplicationLogsResponse(StartApplicationLogsResponse other) : this() { + logItem_ = other.logItem_; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StartApplicationLogsResponse Clone() { + return new StartApplicationLogsResponse(this); + } + + /// <summary>Field number for the "LogItem" field.</summary> + public const int LogItemFieldNumber = 1; + private pb::ByteString logItem_ = pb::ByteString.Empty; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pb::ByteString LogItem { + get { return logItem_; } + set { + logItem_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StartApplicationLogsResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StartApplicationLogsResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (LogItem != other.LogItem) return false; + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (LogItem.Length != 0) hash ^= LogItem.GetHashCode(); + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + if (LogItem.Length != 0) { + output.WriteRawTag(10); + output.WriteBytes(LogItem); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (LogItem.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(LogItem); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StartApplicationLogsResponse other) { + if (other == null) { + return; + } + if (other.LogItem.Length != 0) { + LogItem = other.LogItem; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + case 10: { + LogItem = input.ReadBytes(); + break; + } + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Integration/StopApplicationLogsRequest.cs b/Software/Visual_Studio/Tango.PMR/Integration/StopApplicationLogsRequest.cs new file mode 100644 index 000000000..efd92751b --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Integration/StopApplicationLogsRequest.cs @@ -0,0 +1,131 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StopApplicationLogsRequest.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Integration { + + /// <summary>Holder for reflection information generated from StopApplicationLogsRequest.proto</summary> + public static partial class StopApplicationLogsRequestReflection { + + #region Descriptor + /// <summary>File descriptor for StopApplicationLogsRequest.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StopApplicationLogsRequestReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CiBTdG9wQXBwbGljYXRpb25Mb2dzUmVxdWVzdC5wcm90bxIVVGFuZ28uUE1S", + "LkludGVncmF0aW9uIhwKGlN0b3BBcHBsaWNhdGlvbkxvZ3NSZXF1ZXN0QiEK", + "H2NvbS50d2luZS50YW5nby5wbXIuaW50ZWdyYXRpb25iBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Integration.StopApplicationLogsRequest), global::Tango.PMR.Integration.StopApplicationLogsRequest.Parser, null, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StopApplicationLogsRequest : pb::IMessage<StopApplicationLogsRequest> { + private static readonly pb::MessageParser<StopApplicationLogsRequest> _parser = new pb::MessageParser<StopApplicationLogsRequest>(() => new StopApplicationLogsRequest()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StopApplicationLogsRequest> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Integration.StopApplicationLogsRequestReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StopApplicationLogsRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StopApplicationLogsRequest(StopApplicationLogsRequest other) : this() { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StopApplicationLogsRequest Clone() { + return new StopApplicationLogsRequest(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StopApplicationLogsRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StopApplicationLogsRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StopApplicationLogsRequest other) { + if (other == null) { + return; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Integration/StopApplicationLogsResponse.cs b/Software/Visual_Studio/Tango.PMR/Integration/StopApplicationLogsResponse.cs new file mode 100644 index 000000000..f8316f423 --- /dev/null +++ b/Software/Visual_Studio/Tango.PMR/Integration/StopApplicationLogsResponse.cs @@ -0,0 +1,131 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: StopApplicationLogsResponse.proto +#pragma warning disable 1591, 0612, 3021 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Tango.PMR.Integration { + + /// <summary>Holder for reflection information generated from StopApplicationLogsResponse.proto</summary> + public static partial class StopApplicationLogsResponseReflection { + + #region Descriptor + /// <summary>File descriptor for StopApplicationLogsResponse.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static StopApplicationLogsResponseReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CiFTdG9wQXBwbGljYXRpb25Mb2dzUmVzcG9uc2UucHJvdG8SFVRhbmdvLlBN", + "Ui5JbnRlZ3JhdGlvbiIdChtTdG9wQXBwbGljYXRpb25Mb2dzUmVzcG9uc2VC", + "IQofY29tLnR3aW5lLnRhbmdvLnBtci5pbnRlZ3JhdGlvbmIGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Integration.StopApplicationLogsResponse), global::Tango.PMR.Integration.StopApplicationLogsResponse.Parser, null, null, null, null) + })); + } + #endregion + + } + #region Messages + public sealed partial class StopApplicationLogsResponse : pb::IMessage<StopApplicationLogsResponse> { + private static readonly pb::MessageParser<StopApplicationLogsResponse> _parser = new pb::MessageParser<StopApplicationLogsResponse>(() => new StopApplicationLogsResponse()); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser<StopApplicationLogsResponse> Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::Tango.PMR.Integration.StopApplicationLogsResponseReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StopApplicationLogsResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StopApplicationLogsResponse(StopApplicationLogsResponse other) : this() { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public StopApplicationLogsResponse Clone() { + return new StopApplicationLogsResponse(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as StopApplicationLogsResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(StopApplicationLogsResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(StopApplicationLogsResponse other) { + if (other == null) { + return; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + input.SkipLastField(); + break; + } + } + } + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj index 20e2b0228..6556208c1 100644 --- a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj +++ b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj @@ -179,6 +179,10 @@ <Compile Include="Integration\ExternalBridgeUdpDiscoveryPacket.cs" /> <Compile Include="Integration\OverrideDataBaseRequest.cs" /> <Compile Include="Integration\OverrideDataBaseResponse.cs" /> + <Compile Include="Integration\StartApplicationLogsRequest.cs" /> + <Compile Include="Integration\StartApplicationLogsResponse.cs" /> + <Compile Include="Integration\StopApplicationLogsRequest.cs" /> + <Compile Include="Integration\StopApplicationLogsResponse.cs" /> <Compile Include="IO\CreateRequest.cs" /> <Compile Include="IO\CreateResponse.cs" /> <Compile Include="IO\DeleteRequest.cs" /> @@ -253,7 +257,7 @@ </PropertyGroup> <ProjectExtensions> <VisualStudio> - <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" /> + <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" /> </VisualStudio> </ProjectExtensions> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Serialization/Tango.Serialization.csproj b/Software/Visual_Studio/Tango.Serialization/Tango.Serialization.csproj index 338b5b069..4efa0e255 100644 --- a/Software/Visual_Studio/Tango.Serialization/Tango.Serialization.csproj +++ b/Software/Visual_Studio/Tango.Serialization/Tango.Serialization.csproj @@ -63,7 +63,7 @@ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <ProjectExtensions> <VisualStudio> - <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" /> + <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" /> </VisualStudio> </ProjectExtensions> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Transport/Discovery/UdpDiscoveryService.cs b/Software/Visual_Studio/Tango.Transport/Discovery/UdpDiscoveryService.cs index 76773a817..97736e7fb 100644 --- a/Software/Visual_Studio/Tango.Transport/Discovery/UdpDiscoveryService.cs +++ b/Software/Visual_Studio/Tango.Transport/Discovery/UdpDiscoveryService.cs @@ -109,6 +109,7 @@ namespace Tango.Transport.Discovery byte[] bytes = CurrentDiscoveryMessage.ToByteArray(); + client.EnableBroadcast = true; client.Send(bytes, bytes.Length, endPoint); client.Close(); diff --git a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs index 58005a1e8..318e52979 100644 --- a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs +++ b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs @@ -315,9 +315,12 @@ namespace Tango.Transport try { - _pullThread.Abort(); - _pushThread.Abort(); - _keepAliveThread.Abort(); + if (_pullThread != null) + { + _pullThread.Abort(); + _pushThread.Abort(); + _keepAliveThread.Abort(); + } } catch { } |
