mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-02-15 12:44:48 +00:00
WebAPI: Added LookupSuccess to user and preset event args to trigger found/not-found pulses in Simpl
This commit is contained in:
Binary file not shown.
@@ -300,7 +300,6 @@ namespace PepperDash.Core
|
|||||||
return ((char)Convert.ToByte(hex, 16)).ToString();
|
return ((char)Convert.ToByte(hex, 16)).ToString();
|
||||||
});
|
});
|
||||||
SendText(unescapedText);
|
SendText(unescapedText);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendBytes(byte[] bytes)
|
public void SendBytes(byte[] bytes)
|
||||||
@@ -313,7 +312,7 @@ namespace PepperDash.Core
|
|||||||
|
|
||||||
void Client_SocketStatusChange(TCPClient client, SocketStatus clientSocketStatus)
|
void Client_SocketStatusChange(TCPClient client, SocketStatus clientSocketStatus)
|
||||||
{
|
{
|
||||||
Debug.Console(2, this, "Socket status change {0} ({1})", clientSocketStatus, UClientStatus);
|
Debug.Console(2, this, "Socket status change {0} ({1})", clientSocketStatus, ClientStatusText);
|
||||||
if (client.ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED && !DisconnectCalledByUser)
|
if (client.ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED && !DisconnectCalledByUser)
|
||||||
WaitAndTryReconnect();
|
WaitAndTryReconnect();
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -36,15 +36,26 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class PresetReceivedEventArgs : EventArgs
|
public class PresetReceivedEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
public Preset Preset { get; private set; }
|
/// <summary>
|
||||||
|
/// True when the preset is found
|
||||||
|
/// </summary>
|
||||||
|
public bool LookupSuccess { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// S+ helper for stupid S+
|
||||||
|
/// </summary>
|
||||||
|
public ushort ULookupSuccess { get { return (ushort)(LookupSuccess ? 1 : 0); } }
|
||||||
|
|
||||||
|
public Preset Preset { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// For Simpl+
|
/// For Simpl+
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public PresetReceivedEventArgs() { }
|
public PresetReceivedEventArgs() { }
|
||||||
|
|
||||||
public PresetReceivedEventArgs(Preset preset)
|
public PresetReceivedEventArgs(Preset preset, bool success)
|
||||||
{
|
{
|
||||||
|
LookupSuccess = success;
|
||||||
Preset = preset;
|
Preset = preset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,16 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class UserReceivedEventArgs : EventArgs
|
public class UserReceivedEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// True when user is found
|
||||||
|
/// </summary>
|
||||||
|
public bool LookupSuccess { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// For stupid S+
|
||||||
|
/// </summary>
|
||||||
|
public ushort ULookupSuccess { get { return (ushort)(LookupSuccess ? 1 : 0); } }
|
||||||
|
|
||||||
public User User { get; private set; }
|
public User User { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -33,8 +43,9 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public UserReceivedEventArgs() { }
|
public UserReceivedEventArgs() { }
|
||||||
|
|
||||||
public UserReceivedEventArgs(User user)
|
public UserReceivedEventArgs(User user, bool success)
|
||||||
{
|
{
|
||||||
|
LookupSuccess = success;
|
||||||
User = user;
|
User = user;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,18 +77,18 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
client.HostVerification = false;
|
client.HostVerification = false;
|
||||||
client.PeerVerification = false;
|
client.PeerVerification = false;
|
||||||
var resp = client.Dispatch(req);
|
var resp = client.Dispatch(req);
|
||||||
|
var handler = UserReceived;
|
||||||
if (resp.Code == 200)
|
if (resp.Code == 200)
|
||||||
{
|
{
|
||||||
CrestronConsole.PrintLine("Received: {0}", resp.ContentString);
|
//CrestronConsole.PrintLine("Received: {0}", resp.ContentString);
|
||||||
var user = JsonConvert.DeserializeObject<User>(resp.ContentString);
|
var user = JsonConvert.DeserializeObject<User>(resp.ContentString);
|
||||||
#warning CHECK for user success here??
|
|
||||||
CurrentUser = user;
|
CurrentUser = user;
|
||||||
var handler = UserReceived;
|
|
||||||
if (handler != null)
|
if (handler != null)
|
||||||
UserReceived(this, new UserReceivedEventArgs(user));
|
UserReceived(this, new UserReceivedEventArgs(user, true));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
CrestronConsole.PrintLine("No user received: {0}", resp.Code);
|
if (handler != null)
|
||||||
|
UserReceived(this, new UserReceivedEventArgs(null, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -111,6 +111,7 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
PresetNumber = presetNumber
|
PresetNumber = presetNumber
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var handler = PresetReceived;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!UrlBase.StartsWith("https"))
|
if (!UrlBase.StartsWith("https"))
|
||||||
@@ -130,27 +131,28 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
var resp = client.Dispatch(req);
|
var resp = client.Dispatch(req);
|
||||||
if (resp.Code == 200) // got it
|
if (resp.Code == 200) // got it
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Received: {0}", resp.ContentString);
|
//Debug.Console(1, this, "Received: {0}", resp.ContentString);
|
||||||
var preset = JsonConvert.DeserializeObject<Preset>(resp.ContentString);
|
var preset = JsonConvert.DeserializeObject<Preset>(resp.ContentString);
|
||||||
CurrentPreset = preset;
|
CurrentPreset = preset;
|
||||||
|
|
||||||
//if there's no preset data, load the template
|
//if there's no preset data, load the template
|
||||||
if (preset.Data == null || preset.Data.Trim() == string.Empty || JObject.Parse(preset.Data).Count == 0)
|
if (preset.Data == null || preset.Data.Trim() == string.Empty || JObject.Parse(preset.Data).Count == 0)
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Loaded preset has no data. Loading default template.");
|
//Debug.Console(1, this, "Loaded preset has no data. Loading default template.");
|
||||||
LoadDefaultPresetData();
|
LoadDefaultPresetData();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
J2SMaster.LoadWithJson(preset.Data);
|
J2SMaster.LoadWithJson(preset.Data);
|
||||||
var handler = PresetReceived;
|
|
||||||
if (handler != null)
|
if (handler != null)
|
||||||
PresetReceived(this, new PresetReceivedEventArgs(preset));
|
PresetReceived(this, new PresetReceivedEventArgs(preset, true));
|
||||||
}
|
}
|
||||||
else // no existing preset
|
else // no existing preset
|
||||||
{
|
{
|
||||||
CurrentPreset = new Preset();
|
CurrentPreset = new Preset();
|
||||||
LoadDefaultPresetData();
|
LoadDefaultPresetData();
|
||||||
|
if (handler != null)
|
||||||
|
PresetReceived(this, new PresetReceivedEventArgs(null, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (HttpException e)
|
catch (HttpException e)
|
||||||
@@ -158,6 +160,8 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
var resp = e.Response;
|
var resp = e.Response;
|
||||||
Debug.Console(1, this, "No preset received (code {0}). Loading default template", resp.Code);
|
Debug.Console(1, this, "No preset received (code {0}). Loading default template", resp.Code);
|
||||||
LoadDefaultPresetData();
|
LoadDefaultPresetData();
|
||||||
|
if (handler != null)
|
||||||
|
PresetReceived(this, new PresetReceivedEventArgs(null, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -10,8 +10,8 @@
|
|||||||
<ArchiveName />
|
<ArchiveName />
|
||||||
</RequiredInfo>
|
</RequiredInfo>
|
||||||
<OptionalInfo>
|
<OptionalInfo>
|
||||||
<CompiledOn>2/21/2017 2:28:40 PM</CompiledOn>
|
<CompiledOn>2/27/2017 12:04:27 PM</CompiledOn>
|
||||||
<CompilerRev>1.0.6261.26042</CompilerRev>
|
<CompilerRev>1.0.6267.21733</CompilerRev>
|
||||||
</OptionalInfo>
|
</OptionalInfo>
|
||||||
<Plugin>
|
<Plugin>
|
||||||
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>
|
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
MainAssembly=PepperDash_Core.dll:f8093aacbe4fa6cef78b7af4d978e897
|
MainAssembly=PepperDash_Core.dll:ea8b7cdd5d032cd2744d5213412c61f1
|
||||||
MainAssemblyMinFirmwareVersion=1.007.0017
|
MainAssemblyMinFirmwareVersion=1.007.0017
|
||||||
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
|
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
|
||||||
ü
|
ü
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user