From 26984540afb5efa9a6c2ad1952306d98ca176b30 Mon Sep 17 00:00:00 2001 From: Jan Staelens Date: Fri, 1 Sep 2023 14:58:24 +0200 Subject: [PATCH] Add project files. --- .gitattributes | 63 +++ .gitignore | 363 +++++++++++++ DefaultTemplates/ABOUT.md | 5 + Directory.Build.props | 31 ++ Dlls/ABOUT.md | 1 + Documentation/ABOUT.md | 1 + Internal/.editorconfig | 11 + Internal/Code Analysis/qaction-debug.ruleset | 355 +++++++++++++ .../Code Analysis/qaction-release.ruleset | 484 ++++++++++++++++++ Internal/Code Analysis/stylecop.json | 74 +++ LICENSE.txt | 21 + QAction_1/QAction_1.cs | 14 + QAction_1/QAction_1.csproj | 19 + QAction_15/QAction_15.cs | 51 ++ QAction_15/QAction_15.csproj | 20 + QAction_2/QAction_2.cs | 28 + QAction_2/QAction_2.csproj | 19 + QAction_9/QAction_9.cs | 29 ++ QAction_9/QAction_9.csproj | 20 + QAction_Helper/Directory.Build.props | 2 + QAction_Helper/QAction_Helper.cs | 87 ++++ QAction_Helper/QAction_Helper.csproj | 15 + README.md | 1 + SLC-C-DevOpsExercise1.sln | 79 +++ protocol.xml | 303 +++++++++++ 25 files changed, 2096 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 DefaultTemplates/ABOUT.md create mode 100644 Directory.Build.props create mode 100644 Dlls/ABOUT.md create mode 100644 Documentation/ABOUT.md create mode 100644 Internal/.editorconfig create mode 100644 Internal/Code Analysis/qaction-debug.ruleset create mode 100644 Internal/Code Analysis/qaction-release.ruleset create mode 100644 Internal/Code Analysis/stylecop.json create mode 100644 LICENSE.txt create mode 100644 QAction_1/QAction_1.cs create mode 100644 QAction_1/QAction_1.csproj create mode 100644 QAction_15/QAction_15.cs create mode 100644 QAction_15/QAction_15.csproj create mode 100644 QAction_2/QAction_2.cs create mode 100644 QAction_2/QAction_2.csproj create mode 100644 QAction_9/QAction_9.cs create mode 100644 QAction_9/QAction_9.csproj create mode 100644 QAction_Helper/Directory.Build.props create mode 100644 QAction_Helper/QAction_Helper.cs create mode 100644 QAction_Helper/QAction_Helper.csproj create mode 100644 README.md create mode 100644 SLC-C-DevOpsExercise1.sln create mode 100644 protocol.xml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9491a2f --- /dev/null +++ b/.gitignore @@ -0,0 +1,363 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]ut/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd \ No newline at end of file diff --git a/DefaultTemplates/ABOUT.md b/DefaultTemplates/ABOUT.md new file mode 100644 index 0000000..8041bec --- /dev/null +++ b/DefaultTemplates/ABOUT.md @@ -0,0 +1,5 @@ +This folder contains default templates to be used by the protocol. +Allowed names: +"Template_Alarm_Default.xml" +"Trending_Template_Default.xml" +"Information_Template_Default.xml" diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..ba90324 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,31 @@ + + + x86 + true + + + $(DefineConstants);DCFv1;DBInfo;ALARM_SQUASHING + + + full + ..\Internal\Code Analysis\qaction-debug.ruleset + + + pdbonly + ..\Internal\Code Analysis\qaction-release.ruleset + + + + Properties\stylecop.json + + + Properties\.editorconfig + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + \ No newline at end of file diff --git a/Dlls/ABOUT.md b/Dlls/ABOUT.md new file mode 100644 index 0000000..a3170b3 --- /dev/null +++ b/Dlls/ABOUT.md @@ -0,0 +1 @@ +This folder contains DLL files that should be placed under the ProtocolScripts folder of DataMiner for this solution to work correctly. \ No newline at end of file diff --git a/Documentation/ABOUT.md b/Documentation/ABOUT.md new file mode 100644 index 0000000..a150545 --- /dev/null +++ b/Documentation/ABOUT.md @@ -0,0 +1 @@ +Looking for README.md? Check your Solution Root folder. This folder can be used to add documentation related to this solution. \ No newline at end of file diff --git a/Internal/.editorconfig b/Internal/.editorconfig new file mode 100644 index 0000000..a612a7a --- /dev/null +++ b/Internal/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +indent_style = tab +indent_size = 4 +tab_width = 4 +end_of_line = crlf +trim_trailing_whitespace = true + +[*.cs] +dotnet_sort_system_directives_first = true \ No newline at end of file diff --git a/Internal/Code Analysis/qaction-debug.ruleset b/Internal/Code Analysis/qaction-debug.ruleset new file mode 100644 index 0000000..26e7d46 --- /dev/null +++ b/Internal/Code Analysis/qaction-debug.ruleset @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Internal/Code Analysis/qaction-release.ruleset b/Internal/Code Analysis/qaction-release.ruleset new file mode 100644 index 0000000..de0890a --- /dev/null +++ b/Internal/Code Analysis/qaction-release.ruleset @@ -0,0 +1,484 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Internal/Code Analysis/stylecop.json b/Internal/Code Analysis/stylecop.json new file mode 100644 index 0000000..b2d519d --- /dev/null +++ b/Internal/Code Analysis/stylecop.json @@ -0,0 +1,74 @@ +{ + "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", + "settings": { + "indentation": { + "useTabs": true, + "tabSize": 4 + }, + "namingRules": { + "allowCommonHungarianPrefixes": false, + "allowedHungarianPrefixes": [ + "ab", + "ac", + "ad", + "af", + "ai", + "al", + "ao", + "as", + "ax", + "b", + "by", + "c", + "d", + "dt", + "e", + "f", + "hs", + "i", + "ip", + "is", + "l", + "lb", + "lc", + "ld", + "lf", + "li", + "ll", + "lo", + "ls", + "lx", + "my", + "no", + "o", + "qb", + "qc", + "qd", + "qf", + "qi", + "ql", + "qo", + "qs", + "qx", + "rx", + "s", + "sb", + "sc", + "sd", + "sf", + "sh", + "si", + "sl", + "so", + "ss", + "sx", + "to", + "ts", + "tx", + "ui", + "ul", + "x" + ] + } + } +} diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..8aa2645 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) [year] [fullname] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/QAction_1/QAction_1.cs b/QAction_1/QAction_1.cs new file mode 100644 index 0000000..13ee4a7 --- /dev/null +++ b/QAction_1/QAction_1.cs @@ -0,0 +1,14 @@ +namespace Skyline.Protocol +{ + using System; + using System.Collections.Generic; + using System.Globalization; + using System.Text; + + namespace MyExtension + { + public class MyClass + { + } + } +} \ No newline at end of file diff --git a/QAction_1/QAction_1.csproj b/QAction_1/QAction_1.csproj new file mode 100644 index 0000000..5a41530 --- /dev/null +++ b/QAction_1/QAction_1.csproj @@ -0,0 +1,19 @@ + + + net462 + Skyline Communications + © Skyline Communications + True + + + + + + + + + + + + + \ No newline at end of file diff --git a/QAction_15/QAction_15.cs b/QAction_15/QAction_15.cs new file mode 100644 index 0000000..7e9b2c6 --- /dev/null +++ b/QAction_15/QAction_15.cs @@ -0,0 +1,51 @@ +using Skyline.DataMiner.Scripting; + +using System; + +internal enum TimerActions +{ + Start, + Stop, + Reset, +} + +/// +/// DataMiner QAction Class: TimerActions. +/// +public static class QAction +{ + /// + /// The QAction entry point. + /// + /// Link with SLProtocol process. + public static void Run(SLProtocol protocol) + { + try + { + var rawTriggerValue = Convert.ToInt32(protocol.GetParameter(protocol.GetTriggerParameter())); + var triggerValue = (TimerActions)Enum.ToObject(typeof(TimerActions), rawTriggerValue); + + switch (triggerValue) + { + case TimerActions.Start: + protocol.SetParameter(Parameter.timerstatus_12, 1); + break; + + case TimerActions.Stop: + protocol.SetParameter(Parameter.timerstatus_12, 0); + break; + + case TimerActions.Reset: + protocol.SetParameter(Parameter.timer_11, 0); + break; + + default: + throw new InvalidOperationException("Trigger value not implemented."); + } + } + catch (Exception ex) + { + protocol.Log($"QA{protocol.QActionID}|{protocol.GetTriggerParameter()}|Run|Exception thrown:{Environment.NewLine}{ex}", LogType.Error, LogLevel.NoLogging); + } + } +} \ No newline at end of file diff --git a/QAction_15/QAction_15.csproj b/QAction_15/QAction_15.csproj new file mode 100644 index 0000000..daeba7a --- /dev/null +++ b/QAction_15/QAction_15.csproj @@ -0,0 +1,20 @@ + + + net462 + Skyline Communications + © Skyline Communications + True + 7.3 + + + + + + + + + + + + + \ No newline at end of file diff --git a/QAction_2/QAction_2.cs b/QAction_2/QAction_2.cs new file mode 100644 index 0000000..7fc1b5c --- /dev/null +++ b/QAction_2/QAction_2.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Text; + +using Skyline.DataMiner.Scripting; + +/// +/// DataMiner QAction Class: After Startup. +/// +public static class QAction +{ + /// + /// The QAction entry point. + /// + /// Link with SLProtocol process. + public static void Run(SLProtocol protocol) + { + try + { + + } + catch (Exception ex) + { + protocol.Log($"QA{protocol.QActionID}|{protocol.GetTriggerParameter()}|Run|Exception thrown:{Environment.NewLine}{ex}", LogType.Error, LogLevel.NoLogging); + } + } +} diff --git a/QAction_2/QAction_2.csproj b/QAction_2/QAction_2.csproj new file mode 100644 index 0000000..190917b --- /dev/null +++ b/QAction_2/QAction_2.csproj @@ -0,0 +1,19 @@ + + + net462 + Skyline Communications + © Skyline Communications + True + + + + + + + + + + + + + \ No newline at end of file diff --git a/QAction_9/QAction_9.cs b/QAction_9/QAction_9.cs new file mode 100644 index 0000000..4b90a49 --- /dev/null +++ b/QAction_9/QAction_9.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Text; + +using Skyline.DataMiner.Scripting; + +/// +/// DataMiner QAction Class: UpdateUTCTime. +/// +public static class QAction +{ + /// + /// The QAction entry point. + /// + /// Link with SLProtocol process. + public static void Run(SLProtocol protocol) + { + try + { + var dateTime = DateTime.UtcNow; + protocol.SetParameter(Parameter.currenttimeutc_10, dateTime.ToOADate()); + } + catch (Exception ex) + { + protocol.Log($"QA{protocol.QActionID}|{protocol.GetTriggerParameter()}|Run|Exception thrown:{Environment.NewLine}{ex}", LogType.Error, LogLevel.NoLogging); + } + } +} \ No newline at end of file diff --git a/QAction_9/QAction_9.csproj b/QAction_9/QAction_9.csproj new file mode 100644 index 0000000..c042fcf --- /dev/null +++ b/QAction_9/QAction_9.csproj @@ -0,0 +1,20 @@ + + + net462 + Skyline Communications + © Skyline Communications + True + 7.3 + + + + + + + + + + + + + \ No newline at end of file diff --git a/QAction_Helper/Directory.Build.props b/QAction_Helper/Directory.Build.props new file mode 100644 index 0000000..c1df222 --- /dev/null +++ b/QAction_Helper/Directory.Build.props @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/QAction_Helper/QAction_Helper.cs b/QAction_Helper/QAction_Helper.cs new file mode 100644 index 0000000..6dd0602 --- /dev/null +++ b/QAction_Helper/QAction_Helper.cs @@ -0,0 +1,87 @@ +// This is auto-generated code by DIS. Do not modify. +using System.ComponentModel; +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +namespace Skyline.DataMiner.Scripting +{ +public static class Parameter +{ + /// PID: 10 | Type: read + [EditorBrowsable(EditorBrowsableState.Never)] + public const int currenttimeutc_10 = 10; + /// PID: 10 | Type: read + public const int currenttimeutc = 10; + /// PID: 11 | Type: read + [EditorBrowsable(EditorBrowsableState.Never)] + public const int timer_11 = 11; + /// PID: 11 | Type: read + public const int timer = 11; + /// PID: 12 | Type: read + [EditorBrowsable(EditorBrowsableState.Never)] + public const int timerstatus_12 = 12; + /// PID: 12 | Type: read + public const int timerstatus = 12; + public class Write + { + /// PID: 15 | Type: write + [EditorBrowsable(EditorBrowsableState.Never)] + public const int but_timeractions_15 = 15; + /// PID: 15 | Type: write + public const int but_timeractions = 15; + } +} +public class WriteParameters +{ + /// PID: 15 | Type: write | DISCREETS: Start Timer = 0, Stop Timer = 1, Reset Timer = 2 + public System.Object But_timeractions {get { return Protocol.GetParameter(15); }set { Protocol.SetParameter(15, value); }} + public SLProtocolExt Protocol; + public WriteParameters(SLProtocolExt protocol) + { + Protocol = protocol; + } +} +public interface SLProtocolExt : SLProtocol +{ + object Updateutctime_dummy { get; set; } + object Currenttimeutc_10 { get; set; } + object Currenttimeutc { get; set; } + object Timer_11 { get; set; } + object Timer { get; set; } + object Timerstatus_12 { get; set; } + object Timerstatus { get; set; } + object But_timeractions_15 { get; set; } + object But_timeractions { get; set; } + WriteParameters Write { get; set; } +} +public class ConcreteSLProtocolExt : ConcreteSLProtocol, SLProtocolExt +{ + /// PID: 9 | Type: dummy + public System.Object Updateutctime_dummy {get { return GetParameter(9); }set { SetParameter(9, value); }} + /// PID: 10 | Type: read + [EditorBrowsable(EditorBrowsableState.Never)] + public System.Object Currenttimeutc_10 {get { return GetParameter(10); }set { SetParameter(10, value); }} + /// PID: 10 | Type: read + public System.Object Currenttimeutc {get { return GetParameter(10); }set { SetParameter(10, value); }} + /// PID: 11 | Type: read + [EditorBrowsable(EditorBrowsableState.Never)] + public System.Object Timer_11 {get { return GetParameter(11); }set { SetParameter(11, value); }} + /// PID: 11 | Type: read + public System.Object Timer {get { return GetParameter(11); }set { SetParameter(11, value); }} + /// PID: 12 | Type: read | DISCREETS: Stopped = 0, Running = 1 + [EditorBrowsable(EditorBrowsableState.Never)] + public System.Object Timerstatus_12 {get { return GetParameter(12); }set { SetParameter(12, value); }} + /// PID: 12 | Type: read | DISCREETS: Stopped = 0, Running = 1 + public System.Object Timerstatus {get { return GetParameter(12); }set { SetParameter(12, value); }} + /// PID: 15 | Type: write | DISCREETS: Start Timer = 0, Stop Timer = 1, Reset Timer = 2 + public System.Object But_timeractions_15 {get { return GetParameter(15); }set { SetParameter(15, value); }} + /// PID: 15 | Type: write | DISCREETS: Start Timer = 0, Stop Timer = 1, Reset Timer = 2 + public System.Object But_timeractions {get { return Write.But_timeractions; }set { Write.But_timeractions = value; }} + public WriteParameters Write { get; set; } + public ConcreteSLProtocolExt() + { + Write = new WriteParameters(this); + } +} +} diff --git a/QAction_Helper/QAction_Helper.csproj b/QAction_Helper/QAction_Helper.csproj new file mode 100644 index 0000000..094cabb --- /dev/null +++ b/QAction_Helper/QAction_Helper.csproj @@ -0,0 +1,15 @@ + + + net462 + Skyline Communications + © Skyline Communications + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..00efa6f --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# SLC-C-DevOpsExcercise1 \ No newline at end of file diff --git a/SLC-C-DevOpsExercise1.sln b/SLC-C-DevOpsExercise1.sln new file mode 100644 index 0000000..71747f5 --- /dev/null +++ b/SLC-C-DevOpsExercise1.sln @@ -0,0 +1,79 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33502.453 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Internal", "Internal", "{0A31F634-459A-4BB4-A1E6-0D10A916EF40}" + ProjectSection(SolutionItems) = preProject + Internal\.editorconfig = Internal\.editorconfig + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "QActions", "QActions", "{0B7725A6-CF39-4F30-9D41-C6EF7D68031B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dlls", "Dlls", "{BC72BD26-B789-468D-9729-CEFF0385D1E1}" + ProjectSection(SolutionItems) = preProject + Dlls\ABOUT.md = Dlls\ABOUT.md + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DefaultTemplates", "DefaultTemplates", "{F2683535-3B81-4454-9E99-120E5016BBCE}" + ProjectSection(SolutionItems) = preProject + DefaultTemplates\ABOUT.md = DefaultTemplates\ABOUT.md + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{404C32D4-DF76-4331-A6A6-24286CEEC896}" + ProjectSection(SolutionItems) = preProject + Documentation\ABOUT.md = Documentation\ABOUT.md + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DCD3A9C1-2684-41A3-ACB5-F5A0E59AFBEE}" + ProjectSection(SolutionItems) = preProject + protocol.xml = protocol.xml + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{D30A3C12-4138-470C-912D-9D2E361BBDF9}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Code Analysis", "Code Analysis", "{8EA87512-0042-420D-A0E8-7E4F52DCE943}" + ProjectSection(SolutionItems) = preProject + Internal\Code Analysis\qaction-debug.ruleset = Internal\Code Analysis\qaction-debug.ruleset + Internal\Code Analysis\qaction-release.ruleset = Internal\Code Analysis\qaction-release.ruleset + Internal\Code Analysis\stylecop.json = Internal\Code Analysis\stylecop.json + EndProjectSection +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QAction_Helper", "QAction_Helper\QAction_Helper.csproj", "{B9F456EF-A7CB-4EB5-A634-F313F983B8AE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QAction_15", "QAction_15\QAction_15.csproj", "{C071B0EB-CA23-411D-B9B2-01ABF824696D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QAction_9", "QAction_9\QAction_9.csproj", "{8DADC3C4-90B5-4B37-AE52-949F34C77F4E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B9F456EF-A7CB-4EB5-A634-F313F983B8AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B9F456EF-A7CB-4EB5-A634-F313F983B8AE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9F456EF-A7CB-4EB5-A634-F313F983B8AE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B9F456EF-A7CB-4EB5-A634-F313F983B8AE}.Release|Any CPU.Build.0 = Release|Any CPU + {C071B0EB-CA23-411D-B9B2-01ABF824696D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C071B0EB-CA23-411D-B9B2-01ABF824696D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C071B0EB-CA23-411D-B9B2-01ABF824696D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C071B0EB-CA23-411D-B9B2-01ABF824696D}.Release|Any CPU.Build.0 = Release|Any CPU + {8DADC3C4-90B5-4B37-AE52-949F34C77F4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8DADC3C4-90B5-4B37-AE52-949F34C77F4E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8DADC3C4-90B5-4B37-AE52-949F34C77F4E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8DADC3C4-90B5-4B37-AE52-949F34C77F4E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {8EA87512-0042-420D-A0E8-7E4F52DCE943} = {0A31F634-459A-4BB4-A1E6-0D10A916EF40} + {B9F456EF-A7CB-4EB5-A634-F313F983B8AE} = {0A31F634-459A-4BB4-A1E6-0D10A916EF40} + {C071B0EB-CA23-411D-B9B2-01ABF824696D} = {0B7725A6-CF39-4F30-9D41-C6EF7D68031B} + {8DADC3C4-90B5-4B37-AE52-949F34C77F4E} = {0B7725A6-CF39-4F30-9D41-C6EF7D68031B} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D13B9142-B7C2-4C36-BD5C-BE6A50E31585} + EndGlobalSection +EndGlobal diff --git a/protocol.xml b/protocol.xml new file mode 100644 index 0000000..c3e698b --- /dev/null +++ b/protocol.xml @@ -0,0 +1,303 @@ + + + + + Skyline DevOpsExercise1 + Skyline DevOpsExercise1 DataMiner connector + 1.0.0.1 + DMS-DRV-7991 + Skyline Communications + Skyline + 1.3.6.1.4.1.8813.2.48 + 147 + Unknown + virtual + + auto + + + true + 10.1.0.0 - 9966 + + + + + updateUTCTime + Update UTC Time + dummy + + + + currentTimeUtc + Current Time (UTC) + read + + This displays the current time in UTC. + + + numeric text + double + next param + 8 + + + true + 8 + + + General + 0 + 0 + + + + + number + + + + + timer + tImeR + read + + The current value of a timer in seconds. + + + numeric text + double + next param + 0 + + + true + + + General + 0 + 1 + + + + 0 + + s + + + number + + + + + timerStatus + Timer StaTuS + read + + Status of the timer. + + + numeric text + double + next param + 0 + + + true + + + General + 0 + 2 + + + + + discreet + + + Stopped + 0 + + + Running + 1 + + + + + + + + BUT_TimerActions + write + + Start, Pause, Stop or Reset a timer. + + + numeric text + double + next param + + + true + + + General + 0 + 3 + + + + + button + + + Start Timer + 0 + + + Stop Timer + 1 + + + Reset Timer + 2 + + + + + + + + + + + + + + + + + + updateUtcTime + Update UTC Time + poll action + + 9 + + + + timerIncrease + Timer Increase + poll action + id:12 == 1 + + 11 + + + + + + + + + + + updateUtcTime + parameter + run actions + + + incrementTimer + parameter + increment + + + + + + Very Fast Timer (1s) + + 75 + + 90 + 111 + + + + + + + + + + + Main Branch + + + + + + + 2023-08-28 + + JST + Skyline Communications + + + Initial version + + + + + + + + + + + + \ No newline at end of file