Compare commits

..

12 Commits

Author SHA1 Message Date
Joshua_Gutenplan
e9954b3081 fix: add GetRoomMessenger to IMobileControl 2024-05-02 12:07:00 -07:00
Joshua_Gutenplan
e1b50649fd fix: UiWebViewDisplayActionArgs add target 2024-04-30 21:41:53 -07:00
Joshua_Gutenplan
5e69ea1947 Merge remote-tracking branch 'origin/feature-2.0.0/tech-password-interface' into feature-2.0.0/video-codec-interface-uiextensions 2024-04-30 10:24:50 -07:00
Neil Dorin
80b8cc6385 feat: Adds SecondsRemainingFeedback to SecondsCountdownTimer 2024-04-26 13:15:15 -06:00
Neil Dorin
82f78bf068 feat: adds StarShutdown method to IShutdownPromptTimer 2024-04-26 12:08:26 -06:00
Neil Dorin
d8d27949c3 fix: updates to IMobileControlTouchpanelController 2024-04-26 09:31:27 -06:00
Joshua_Gutenplan
fd1b92a6c0 Merge remote-tracking branch 'origin/feature-2.0.0/tech-password-interface' into feature-2.0.0/video-codec-interface-uiextensions 2024-04-25 19:13:46 -07:00
Neil Dorin
fa9b493431 feat: Adds IMobileControlTouchpanelController 2024-04-25 16:31:54 -06:00
Joshua_Gutenplan
06d806687d feat: IMobileControlTouchpanelController 2024-04-25 15:29:44 -07:00
Joshua_Gutenplan
d8e2f8cd51 feat: IVideoCodecUiExtensions 2024-04-25 10:03:38 -07:00
Neil Dorin
e5d5c90aa9 feat: Adds ITechPassword 2024-04-24 16:54:51 -06:00
Neil Dorin
5fad706cd8 Merge pull request #1179 from PepperDash/feature-2.0.0/soft-codec-routing
Update interfaces for Generic Soft Codec device
2024-04-12 10:31:03 -06:00
8 changed files with 142 additions and 14 deletions

View File

@@ -72,16 +72,6 @@ jobs:
git tag ${{ steps.setVersion.outputs.version }}
git push --tags origin
# Create the release on the source repo
- name: Install 7-Zip
run: choco install 7zip.install -y
- name: Add CPZ and CPLZ to NuGet Package
run: |
7z a .\output\PepperDash.Essentials.${{ steps.setVersion.outputs.version }}.nupkg output\**\*.cpz
7z a .\output\PepperDash.Essentials.${{ steps.setVersion.outputs.version }}.nupkg output\**\*.cplz
- name: Repack NuGet Package
run: nuget pack .\output\PepperDash.Essentials.nuspec -Version ${{ steps.setVersion.outputs.version }} -OutputDirectory .\output
- name: Repack NuGet Package
run: nuget pack .\output\PepperDash.Essentials.nuspec -Version ${{ steps.setVersion.outputs.version }} -OutputDirectory .\output
- name: Create Release
id: create_release
# if: contains(steps.setVersion.outputs.version,'-rc-') ||

View File

@@ -44,7 +44,10 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
void AddDeviceMessenger(IMobileControlMessenger messenger);
bool CheckForDeviceMessenger(string key);
}
IMobileControlRoomMessenger GetRoomMessenger(string key);
}
/// <summary>
/// Describes a mobile control messenger
@@ -106,4 +109,11 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
Action<string,string, JToken> Action { get; }
}
public interface IMobileControlTouchpanelController : IKeyed
{
string DefaultRoomKey { get; }
void SetAppUrl(string url);
bool UseDirectServer { get; }
bool ZoomRoomController { get; }
}
}

View File

@@ -77,6 +77,34 @@ namespace PepperDash.Essentials.Core
SecondsCountdownTimer ShutdownPromptTimer { get; }
void SetShutdownPromptSeconds(int seconds);
void StartShutdown(eShutdownType type);
}
/// <summary""'""">
/// Describes a room with a tech password
/// </summary>
public interface ITechPassword
{
event EventHandler<TechPasswordEventArgs> TechPasswordValidateResult;
event EventHandler<EventArgs> TechPasswordChanged;
int TechPasswordLength { get; }
void ValidateTechPassword(string password);
void SetTechPassword(string oldPassword, string newPassword);
}
public class TechPasswordEventArgs : EventArgs
{
public bool IsValid { get; private set; }
public TechPasswordEventArgs(bool isValid)
{
IsValid = isValid;
}
}
/// <summary>

View File

@@ -23,6 +23,8 @@ namespace PepperDash.Essentials.Core
public IntFeedback PercentFeedback { get; private set; }
public StringFeedback TimeRemainingFeedback { get; private set; }
public IntFeedback SecondsRemainingFeedback { get; private set; }
public bool CountsDown { get; set; }
/// <summary>
@@ -64,6 +66,8 @@ namespace PepperDash.Essentials.Core
: String.Format("{0:00}:{1:00}", timeSpan.Minutes, timeSpan.Seconds);
});
SecondsRemainingFeedback = new IntFeedback(() => (int)(FinishTime - DateTime.Now).TotalSeconds);
PercentFeedback =
new IntFeedback(
() =>
@@ -144,6 +148,7 @@ namespace PepperDash.Essentials.Core
PercentFeedback.FireUpdate();
TimeRemainingFeedback.FireUpdate();
SecondsRemainingFeedback.FireUpdate();
}
}
}

View File

@@ -0,0 +1,12 @@
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
{
public interface IVideoCodecUiExtensionsHandler : IVideoCodecUiExtensionsWebViewDisplayAction, IVideoCodecUiExtensionsClickedEvent
{
}
public interface IVideoCodecUiExtensions
{
IVideoCodecUiExtensionsHandler VideoCodecUiExtensionsHandler { get; set; }
}
}

View File

@@ -0,0 +1,41 @@
using System;
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
{
public interface IVideoCodecUiExtensionsWebViewDisplayAction
{
Action<UiWebViewDisplayActionArgs> UiWebViewDisplayAction { get; set; }
}
public class UiWebViewDisplayActionArgs
{
/// <summary>
/// Required <0 - 2000> The URL of the web page.
/// </summary>
public string Url { get; set; }
/// <summary>
/// Fullscreen, Modal Full screen: Display the web page on the entire screen.Modal: Display the web page in a window.
/// </summary>
public string Mode { get; set; }
/// <summary>
/// <0 - 255> The title of the web page.
/// </summary>
public string Title { get; set; }
/// <summary>
/// <0 - 8192> An HTTP header field.You can add up 15 Header parameters in one command, each holding one HTTP header field.
/// </summary>
public string Header { get; set; }
/// <summary>
/// OSD, Controller, PersistentWebApp Controller: Only for Cisco internal use.
/// OSD: Close the web view that is displayed on the screen of the device.PersistentWebApp: Only for Cisco internal use.
/// </summary>
public string Target { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
{
public interface IVideoCodecUiExtensionsClickedEvent
{
event EventHandler<UiExtensionsClickedEventArgs> UiExtensionsClickedEvent;
}
public class UiExtensionsClickedEventArgs : EventArgs
{
public bool Clicked { get; set; }
public string Id { get; set; }
public UiExtensionsClickedEventArgs(bool clicked, string id)
{
Clicked = clicked;
Id = id;
}
public UiExtensionsClickedEventArgs()
{
}
}
}

View File

@@ -23,9 +23,26 @@
<DebugType>pdbonly</DebugType>
</PropertyGroup>
<ItemGroup>
<None Include=".\PepperDashEssentials\bin\*.cpz">
<Pack>true</Pack>
<PackagePath>lib/{tfm}</PackagePath>
<None Include="Example Configuration\EssentialsHuddleSpaceRoom\configurationFile-HuddleSpace-2-Source.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Example Configuration\EssentialsHuddleVtc1Room\configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Example Configuration\SIMPLBridging\configurationFile-dmps3300c-avRouting.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Example Configuration\SIMPLBridging\SIMPLBridgeExample_configurationFile.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SGD\PepperDash Essentials iPad.sgd">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SGD\PepperDash Essentials TSW-560.sgd">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SGD\PepperDash Essentials TSW-760.sgd">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>