aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.CodeGeneration
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-03-13 15:27:16 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-03-13 15:27:16 +0200
commit37b740c1d128d694b9dcbc3669808435b5d88fec (patch)
treee94cc6ddc9712dfdad00b7d6041606a0e024e65a /Software/Visual_Studio/Tango.CodeGeneration
parente75cf513acb73558e948d6012b45f221c718dcf7 (diff)
downloadTango-37b740c1d128d694b9dcbc3669808435b5d88fec.tar.gz
Tango-37b740c1d128d694b9dcbc3669808435b5d88fec.zip
Implemented Gauge Control & Technician module controller item !
Auto generated diagnostics monitors & controllers PMR.
Diffstat (limited to 'Software/Visual_Studio/Tango.CodeGeneration')
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/ProtoMessageFile.cs6
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/ProtoProperty.cs26
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/Tango.CodeGeneration.csproj1
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoEnumFile.cshtml13
-rw-r--r--Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoMessageFile.cshtml15
5 files changed, 55 insertions, 6 deletions
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/ProtoMessageFile.cs b/Software/Visual_Studio/Tango.CodeGeneration/ProtoMessageFile.cs
index 6d771099a..2bcdac8b4 100644
--- a/Software/Visual_Studio/Tango.CodeGeneration/ProtoMessageFile.cs
+++ b/Software/Visual_Studio/Tango.CodeGeneration/ProtoMessageFile.cs
@@ -6,14 +6,18 @@ using System.Threading.Tasks;
namespace Tango.CodeGeneration
{
- public class ProtoMessageFile : Class
+ public class ProtoMessageFile : CodeObject
{
+ public String Name { get; set; }
public String Package { get; set; }
public List<String> Imports { get; set; }
+ public List<ProtoProperty> Properties { get; set; }
+
public ProtoMessageFile()
{
Imports = new List<string>();
+ Properties = new List<ProtoProperty>();
}
}
}
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/ProtoProperty.cs b/Software/Visual_Studio/Tango.CodeGeneration/ProtoProperty.cs
new file mode 100644
index 000000000..d63348b6b
--- /dev/null
+++ b/Software/Visual_Studio/Tango.CodeGeneration/ProtoProperty.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.CodeGeneration
+{
+ public class ProtoProperty : Property
+ {
+ public bool Repeated { get; set; }
+
+ public String Description { get; set; }
+
+ public ProtoProperty()
+ {
+
+ }
+
+ public ProtoProperty(String name, String type) : this()
+ {
+ Name = name;
+ Type = type;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/Tango.CodeGeneration.csproj b/Software/Visual_Studio/Tango.CodeGeneration/Tango.CodeGeneration.csproj
index 0c093659f..3c6c9d085 100644
--- a/Software/Visual_Studio/Tango.CodeGeneration/Tango.CodeGeneration.csproj
+++ b/Software/Visual_Studio/Tango.CodeGeneration/Tango.CodeGeneration.csproj
@@ -70,6 +70,7 @@
<Compile Include="ObservablesContextCodeFile.cs" />
<Compile Include="ProtoEnumFile.cs" />
<Compile Include="ProtoMessageFile.cs" />
+ <Compile Include="ProtoProperty.cs" />
<Compile Include="TangoDAOJavaFile.cs" />
<Compile Include="EnumerationFileJava.cs" />
<Compile Include="EnumerationFile.cs" />
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoEnumFile.cshtml b/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoEnumFile.cshtml
index 790e5dd93..d659a028e 100644
--- a/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoEnumFile.cshtml
+++ b/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoEnumFile.cshtml
@@ -1,6 +1,14 @@
-syntax = "proto3";
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Tango PMR Generator
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated. Do not modify!
+// </auto-generated>
+//------------------------------------------------------------------------------
-//This file is auto-generated. Do not modify!
+syntax = "proto3";
@foreach (var import in Model.Imports)
{
@@ -17,6 +25,7 @@ enum @(Model.Name)
@foreach (var prop in Model.Fields)
{
<div>
+ @(prop.Description != null ? ("//" + prop.Description) : "")
@(prop.Name) = @(prop.Value);
</div>
}
diff --git a/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoMessageFile.cshtml b/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoMessageFile.cshtml
index 7452db6e6..c1aa28fb1 100644
--- a/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoMessageFile.cshtml
+++ b/Software/Visual_Studio/Tango.CodeGeneration/Templates/ProtoMessageFile.cshtml
@@ -1,6 +1,14 @@
-syntax = "proto3";
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Tango PMR Generator
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated. Do not modify!
+// </auto-generated>
+//------------------------------------------------------------------------------
-//This file is auto-generated. Do not modify!
+syntax = "proto3";
@foreach (var import in Model.Imports)
{
@@ -18,7 +26,8 @@ message @(Model.Name)
@for (int i = 0; i < Model.Properties.Count; i++)
{
<div>
- @(Model.Properties[i].Type) @(Model.Properties[i].Name) = @(i + 1);
+ @(Model.Properties[i].Description != null ? ("//" + Model.Properties[i].Description) : "")
+ @(Model.Properties[i].Repeated ? "repeated" : "") @(Model.Properties[i].Type) @(Model.Properties[i].Name) = @(i + 1);
</div>
}
}