Skip to content

Commit

Permalink
Add support for "shortConnectorIdNotification" event.
Browse files Browse the repository at this point in the history
  • Loading branch information
mpaperno committed Feb 18, 2022
1 parent 1f431d0 commit 0fbc8e6
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 1 deletion.
3 changes: 3 additions & 0 deletions TouchPortalSDK/Clients/TouchPortalClient.cs
Expand Up @@ -241,6 +241,9 @@ void IMessageHandler.OnMessage(string message)
case ConnectorChangeEvent connectorChangeEvent:
_eventHandler.OnConnecterChangeEvent(connectorChangeEvent);
return;
case ShortConnectorIdNotificationEvent shortConnectorIdEvent:
_eventHandler.OnShortConnectorIdNotificationEvent(shortConnectorIdEvent);
return;
//All of Action, Up, Down:
case ActionEvent actionEvent:
_eventHandler.OnActionEvent(actionEvent);
Expand Down
2 changes: 2 additions & 0 deletions TouchPortalSDK/Configuration/MessageResolver.cs
Expand Up @@ -37,6 +37,8 @@ internal static ITouchPortalMessage ResolveMessage(string message)
return JsonSerializer.Deserialize<NotificationOptionClickedEvent>(message, Options.JsonSerializerOptions);
case "connectorChange":
return JsonSerializer.Deserialize<ConnectorChangeEvent>(message, Options.JsonSerializerOptions);
case "shortConnectorIdNotification":
return JsonSerializer.Deserialize<ShortConnectorIdNotificationEvent>(message, Options.JsonSerializerOptions);

//Commands:
case "choiceUpdate":
Expand Down
10 changes: 9 additions & 1 deletion TouchPortalSDK/ITouchPortalEventHandler.cs
Expand Up @@ -43,8 +43,16 @@ public interface ITouchPortalEventHandler
/// </summary>
void OnNotificationOptionClickedEvent(NotificationOptionClickedEvent message);

/// <summary>
/// Method to call when a user moves a slider on their device.
/// </summary>
void OnConnecterChangeEvent(ConnectorChangeEvent message);

/// <summary>
/// Called when TP reports a new instance of your connector, either at startup or if user adds/modifies one.
/// </summary>
void OnShortConnectorIdNotificationEvent(ShortConnectorIdNotificationEvent message);

/// <summary>
/// Method to call when we loose connection to Touch Portal.
/// </summary>
Expand All @@ -56,4 +64,4 @@ public interface ITouchPortalEventHandler
/// </summary>
void OnUnhandledEvent(string jsonMessage);
}
}
}
@@ -0,0 +1,19 @@
using System.Collections.Generic;
using System.Linq;
using TouchPortalSDK.Interfaces;
using TouchPortalSDK.Messages.Models;

namespace TouchPortalSDK.Messages.Events
{
public class ShortConnectorIdNotificationEvent : ITouchPortalMessage
{
public string Type { get; set; }
public string PluginId { get; set; }
public string ConnectorId { get; set; }
public string ShortId { get; set; }

public Identifier GetIdentifier()
=> new Identifier(Type, ConnectorId, default);

}
}

0 comments on commit 0fbc8e6

Please sign in to comment.