mirror of
https://github.com/PepperDash/EssentialsPluginTemplate.git
synced 2026-01-11 19:44:38 +00:00
Updates to add comments and better organize. Updates to Github repo for submodule and to latest release version of Essentials (1.4.31)
This commit is contained in:
2
.gitmodules
vendored
2
.gitmodules
vendored
@@ -1,3 +1,3 @@
|
|||||||
[submodule "EssentialsBuilds"]
|
[submodule "EssentialsBuilds"]
|
||||||
path = EssentialsBuilds
|
path = EssentialsBuilds
|
||||||
url = https://bitbucket.org/Pepperdash_Products/essentials-builds.git
|
url=https://github.com/PepperDash/Essentials-Builds.git
|
||||||
Submodule EssentialsBuilds updated: 2a6c167efb...855dccd0d4
@@ -12,29 +12,35 @@ using PepperDash.Core;
|
|||||||
|
|
||||||
namespace EssentialsPluginTemplateEPI
|
namespace EssentialsPluginTemplateEPI
|
||||||
{
|
{
|
||||||
public class EssentialsPluginTemplate : Device
|
public class EssentialsPluginTemplate
|
||||||
|
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This string is used to define the minimum version of the
|
||||||
|
/// Essentials Framework required for this plugin
|
||||||
|
/// </summary>
|
||||||
|
public static string MinimumEssentialsFrameworkVersion = "1.4.23";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This method will get called by Essentials when this plugin is loaded.
|
||||||
|
/// Use it to add factory methods for all new Device types defined in this plugin
|
||||||
|
/// </summary>
|
||||||
public static void LoadPlugin()
|
public static void LoadPlugin()
|
||||||
{
|
{
|
||||||
PepperDash.Essentials.Core.DeviceFactory.AddFactoryForType("EssentialsPluginTemplate", EssentialsPluginTemplate.BuildDevice);
|
PepperDash.Essentials.Core.DeviceFactory.AddFactoryForType("EssentialsPluginTemplate", EssentialsPluginTemplate.BuildDevice);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static EssentialsPluginTemplate BuildDevice(DeviceConfig dc)
|
/// <summary>
|
||||||
|
/// Builds an instance of the device type
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dc">The device configuration</param>
|
||||||
|
/// <returns>The device</returns>
|
||||||
|
public static EssentialsPluginTemplateDevice BuildDevice(DeviceConfig dc)
|
||||||
{
|
{
|
||||||
var config = JsonConvert.DeserializeObject<EssentialsPluginTemplateConfigObject>(dc.Properties.ToString());
|
var config = JsonConvert.DeserializeObject<EssentialsPluginTemplatePropertiesConfig>(dc.Properties.ToString());
|
||||||
var newMe = new EssentialsPluginTemplate(dc.Key, dc.Name, config);
|
var newDevice = new EssentialsPluginTemplateDevice(dc.Key, dc.Name, config);
|
||||||
return newMe;
|
return newDevice;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GenericSecureTcpIpClient_ForServer Client;
|
|
||||||
|
|
||||||
public EssentialsPluginTemplate(string key, string name, EssentialsPluginTemplateConfigObject config)
|
|
||||||
: base(key, name)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,23 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace EssentialsPluginTemplateEPI
|
namespace EssentialsPluginTemplateEPI
|
||||||
{
|
{
|
||||||
public class EssentialsPluginTemplateConfigObject
|
/// <summary>
|
||||||
|
/// Example of a config class that represents the structure of the Properties object of a DeviceConfig
|
||||||
|
/// </summary>
|
||||||
|
public class EssentialsPluginTemplatePropertiesConfig
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Control properties if needed to communicate with device
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("control")]
|
||||||
|
ControlPropertiesConfig Control { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
|
using PepperDash.Essentials;
|
||||||
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace EssentialsPluginTemplateEPI
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Example of a plugin device
|
||||||
|
/// </summary>
|
||||||
|
public class EssentialsPluginTemplateDevice : Device, IBridge
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Device Constructor. Called by
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key"></param>
|
||||||
|
/// <param name="name"></param>
|
||||||
|
/// <param name="config"></param>
|
||||||
|
public EssentialsPluginTemplateDevice(string key, string name, EssentialsPluginTemplatePropertiesConfig config)
|
||||||
|
: base(key, name)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -95,6 +95,7 @@
|
|||||||
<Compile Include="EssentialsPluginTemplateBridge.cs" />
|
<Compile Include="EssentialsPluginTemplateBridge.cs" />
|
||||||
<Compile Include="EssentialsPluginTemplateConfigObject.cs" />
|
<Compile Include="EssentialsPluginTemplateConfigObject.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="EssentialsPluginTemplateDevice.cs" />
|
||||||
<None Include="Properties\ControlSystem.cfg" />
|
<None Include="Properties\ControlSystem.cfg" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user