mirror of
https://github.com/PepperDash/EssentialsPluginTemplate.git
synced 2026-01-11 19:44:38 +00:00
Adds example of GenericQueue on EssentialsPluginTemplateDevice and updates dependency version to 1.7.5
This commit is contained in:
@@ -5,6 +5,8 @@ using Crestron.SimplSharpPro.DeviceSupport;
|
||||
using PepperDash.Core;
|
||||
using PepperDash.Essentials.Core;
|
||||
using PepperDash.Essentials.Core.Bridges;
|
||||
using PepperDash_Essentials_Core.Queues;
|
||||
|
||||
|
||||
namespace EssentialsPluginTemplate
|
||||
{
|
||||
@@ -24,6 +26,11 @@ namespace EssentialsPluginTemplate
|
||||
/// </summary>
|
||||
private EssentialsPluginConfigObjectTemplate _config;
|
||||
|
||||
/// <summary>
|
||||
/// Provides a queue and dedicated worker thread for processing feedback messages from a device.
|
||||
/// </summary>
|
||||
private GenericQueue ReceiveQueue;
|
||||
|
||||
#region IBasicCommunication Properties and Constructor. Remove if not needed.
|
||||
|
||||
// TODO [ ] Add, modify, remove properties and fields as needed for the plugin being developed
|
||||
@@ -100,6 +107,8 @@ namespace EssentialsPluginTemplate
|
||||
|
||||
_config = config;
|
||||
|
||||
ReceiveQueue = new GenericQueue(key + "-rxqueue"); // If you need to set the thread priority, use one of the available overloaded constructors.
|
||||
|
||||
ConnectFeedback = new BoolFeedback(() => Connect);
|
||||
OnlineFeedback = new BoolFeedback(() => _commsMonitor.IsOnline);
|
||||
StatusFeedback = new IntFeedback(() => (int)_commsMonitor.Status);
|
||||
@@ -149,7 +158,9 @@ namespace EssentialsPluginTemplate
|
||||
private void Handle_LineRecieved(object sender, GenericCommMethodReceiveTextArgs args)
|
||||
{
|
||||
// TODO [ ] Implement method
|
||||
throw new System.NotImplementedException();
|
||||
|
||||
// Enqueues the message to be processed in a dedicated thread, but the specified method
|
||||
ReceiveQueue.Enqueue(new ProcessStringMessage(args.Text, ProcessFeedbackMessage));
|
||||
}
|
||||
|
||||
// TODO [ ] If not using an HEX/byte based API with no delimeter, delete the method below
|
||||
@@ -166,6 +177,15 @@ namespace EssentialsPluginTemplate
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method should perform any necessary parsing of feedback messages from the device
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
void ProcessFeedbackMessage(string message)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
// TODO [ ] If not using an ACII based API, delete the properties below
|
||||
/// <summary>
|
||||
|
||||
@@ -188,7 +188,7 @@ namespace EssentialsPluginTemplate
|
||||
{
|
||||
// Set the minimum Essentials Framework Version
|
||||
// TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against
|
||||
MinimumEssentialsFrameworkVersion = "1.6.4";
|
||||
MinimumEssentialsFrameworkVersion = "1.7.5";
|
||||
|
||||
// In the constructor we initialize the list with the typenames that will build an instance of this device
|
||||
// TODO [ ] Update the TypeNames for the plugin being developed
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<packages>
|
||||
<package id="PepperDashEssentials" version="1.6.4" targetFramework="net35" allowedVersions="[1.0,2.0)"/>
|
||||
<package id="PepperDashEssentials" version="1.7.5" targetFramework="net35" allowedVersions="[1.0,2.0)"/>
|
||||
</packages>
|
||||
Reference in New Issue
Block a user