aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.PMR
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-10-25 16:58:42 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-10-25 16:58:42 +0200
commitd530d39d7ed9b05e3e233adc62dceba2fd17e1fe (patch)
tree2e042288fdeedd12e3ca0ee331743ebc115eb4b2 /Software/Visual_Studio/Tango.PMR
parentadaddad79352c156303e9178a6f172a18af50cd2 (diff)
downloadTango-d530d39d7ed9b05e3e233adc62dceba2fd17e1fe.tar.gz
Tango-d530d39d7ed9b05e3e233adc62dceba2fd17e1fe.zip
Improved extension methods support on procedures.
Drastically reduces procedure designer loading time. DataStore proto support fully working and tested.
Diffstat (limited to 'Software/Visual_Studio/Tango.PMR')
-rw-r--r--Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs27
-rw-r--r--Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj3
2 files changed, 29 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs b/Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs
new file mode 100644
index 000000000..84acb51d2
--- /dev/null
+++ b/Software/Visual_Studio/Tango.PMR/ExtensionMethods/IMessageExtensions.cs
@@ -0,0 +1,27 @@
+using Google.Protobuf;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+
+public static class IMessageExtensions
+{
+ /// <summary>
+ /// Serializes this PMR message to byte array.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="message">The message.</param>
+ /// <returns></returns>
+ public static byte[] ToBytes<T>(this T message) where T : IMessage<T>
+ {
+ using (MemoryStream ms = new MemoryStream())
+ {
+ message.WriteTo(ms);
+ return ms.ToArray();
+ }
+ }
+}
+
diff --git a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
index 7b3a7c397..bb44ef591 100644
--- a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
+++ b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
@@ -189,6 +189,7 @@
<Compile Include="Exports\JobFileLiquidVolume.cs" />
<Compile Include="Exports\JobFileSegment.cs" />
<Compile Include="ExtensionMethods.cs" />
+ <Compile Include="ExtensionMethods\IMessageExtensions.cs" />
<Compile Include="ExtensionMethods\VersionPackageDescriptorExtensions.cs" />
<Compile Include="FirmwareUpgrade\ActivateVersionRequest.cs" />
<Compile Include="FirmwareUpgrade\ActivateVersionResponse.cs" />
@@ -482,7 +483,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