From 768bbf9298f4034b05d5fa1e4ed9740b2ccab91e Mon Sep 17 00:00:00 2001 From: Heath Volmer Date: Wed, 8 Aug 2018 17:35:21 -0600 Subject: [PATCH] Initial implmentation of directory search --- .../Messengers/VideoCodecBaseMessenger.cs | 56 +++++++++++++++++-- essentials-framework | 2 +- 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/PepperDashEssentials/AppServer/Messengers/VideoCodecBaseMessenger.cs b/PepperDashEssentials/AppServer/Messengers/VideoCodecBaseMessenger.cs index 34b19bc6..67180b35 100644 --- a/PepperDashEssentials/AppServer/Messengers/VideoCodecBaseMessenger.cs +++ b/PepperDashEssentials/AppServer/Messengers/VideoCodecBaseMessenger.cs @@ -41,6 +41,26 @@ namespace PepperDash.Essentials.AppServer.Messengers Codec = codec; codec.CallStatusChange += new EventHandler(codec_CallStatusChange); codec.IsReadyChange += new EventHandler(codec_IsReadyChange); + + var dirCodec = codec as IHasDirectory; + if (dirCodec != null) + { + dirCodec.DirectoryResultReturned += new EventHandler(dirCodec_DirectoryResultReturned); + } + } + + /// + /// + /// + /// + /// + void dirCodec_DirectoryResultReturned(object sender, DirectoryEventArgs e) + { + var dir = e.Directory; + PostStatusMessage(new + { + currentDirectory = e.Directory + }); } /// @@ -91,6 +111,8 @@ namespace PepperDash.Essentials.AppServer.Messengers Codec.AcceptCall(call); })); appServerController.AddAction(MessagePath + "/directoryRoot", new Action(GetDirectoryRoot)); + appServerController.AddAction(MessagePath + "/directoryById", new Action(s => GetDirectory(s))); + appServerController.AddAction(MessagePath + "/directorySearch", new Action(s => DirectorySearch(s))); appServerController.AddAction(MessagePath + "/privacyModeOn", new Action(Codec.PrivacyModeOn)); appServerController.AddAction(MessagePath + "/privacyModeOff", new Action(Codec.PrivacyModeOff)); appServerController.AddAction(MessagePath + "/privacyModeToggle", new Action(Codec.PrivacyModeToggle)); @@ -115,6 +137,33 @@ namespace PepperDash.Essentials.AppServer.Messengers return Codec.ActiveCalls.FirstOrDefault(c => c.Id == id); } + /// + /// + /// + /// + void DirectorySearch(string s) + { + var dirCodec = Codec as IHasDirectory; + if (dirCodec != null) + { + dirCodec.SearchDirectory(s); + } + } + + /// + /// + /// + /// + void GetDirectory(string id) + { + var dirCodec = Codec as IHasDirectory; + if(dirCodec == null) + { + return; + } + dirCodec.GetDirectoryFolderContents(id); + } + /// /// /// @@ -135,14 +184,9 @@ namespace PepperDash.Essentials.AppServer.Messengers return; } - var dir = dirCodec.DirectoryRoot; PostStatusMessage(new { - currentDirectory = new - { - folderId = dir.ResultsFolderId, - items = dir.DirectoryResults - } + currentDirectory = dirCodec.DirectoryRoot }); } diff --git a/essentials-framework b/essentials-framework index a9e9334e..d3babc37 160000 --- a/essentials-framework +++ b/essentials-framework @@ -1 +1 @@ -Subproject commit a9e9334eb0a3ea0d4d5d060565586df5bd305507 +Subproject commit d3babc375ec02690385b03618845e04262ab42f0