]> granicus.if.org Git - handbrake/commitdiff
WinGui: Remove the need for ILog on the key Interop API surface.
authorsr55 <sr55.hb@outlook.com>
Tue, 8 May 2018 20:26:35 +0000 (21:26 +0100)
committersr55 <sr55.hb@outlook.com>
Tue, 8 May 2018 20:26:35 +0000 (21:26 +0100)
win/CS/HandBrake.ApplicationServices/Interop/HandBrakeInstance.cs
win/CS/HandBrake.ApplicationServices/Interop/HandBrakePresetService.cs
win/CS/HandBrake.ApplicationServices/Interop/HandBrakeUtils.cs
win/CS/HandBrake.ApplicationServices/Services/Logging/LogService.cs

index d8f432fc40a2d79fadf04cf9580ed16801fb8524..f94c6fe24fe97287af2d1b53318bdd90e6156657 100644 (file)
@@ -48,8 +48,6 @@ namespace HandBrake.ApplicationServices.Interop
         /// </summary>\r
         private const double EncodePollIntervalMs = 250;\r
 \r
-        private readonly ILog log = LogService.GetLogger();\r
-\r
         /// <summary>\r
         /// The native handle to the HandBrake instance.\r
         /// </summary>\r
@@ -246,7 +244,7 @@ namespace HandBrake.ApplicationServices.Interop
                 catch (Exception exc)\r
                 {\r
                     Debug.WriteLine(exc);\r
-                    this.log.LogMessage(exc.ToString(), LogMessageType.API, LogLevel.Error);\r
+                    HandBrakeUtils.SendErrorEvent(exc.ToString());\r
                 }\r
             };\r
             this.scanPollTimer.Start();\r
@@ -480,7 +478,6 @@ namespace HandBrake.ApplicationServices.Interop
         {\r
             IntPtr json = HBFunctions.hb_get_state_json(this.hbHandle);\r
             string statusJson = Marshal.PtrToStringAnsi(json);\r
-            this.log.LogMessage(statusJson, LogMessageType.Progress, LogLevel.Trace);\r
             JsonState state = null;\r
             if (!string.IsNullOrEmpty(statusJson))\r
             {\r
@@ -502,14 +499,9 @@ namespace HandBrake.ApplicationServices.Interop
 \r
                 var jsonMsg = HBFunctions.hb_get_title_set_json(this.hbHandle);\r
                 this.titlesJson = InteropUtilities.ToStringFromUtf8Ptr(jsonMsg);\r
-                this.log.LogMessage(this.titlesJson, LogMessageType.Progress, LogLevel.Trace);\r
 \r
-                if (string.IsNullOrEmpty(this.titlesJson))\r
-                {\r
-                    this.log.LogMessage("Scan Error: No Scan Data Returned.", LogMessageType.API, LogLevel.Error);\r
-                }\r
-                else\r
-                {\r
+                if (!string.IsNullOrEmpty(this.titlesJson))\r
+                { \r
                     this.titles = JsonConvert.DeserializeObject<JsonScanObject>(this.titlesJson);\r
                     if (this.titles != null)\r
                     {\r
@@ -533,8 +525,6 @@ namespace HandBrake.ApplicationServices.Interop
             IntPtr json = HBFunctions.hb_get_state_json(this.hbHandle);\r
             string statusJson = Marshal.PtrToStringAnsi(json);\r
 \r
-            this.log.LogMessage(statusJson, LogMessageType.Progress, LogLevel.Trace);\r
-\r
             JsonState state = JsonConvert.DeserializeObject<JsonState>(statusJson);\r
 \r
             TaskState taskState = state != null ? TaskState.FromRepositoryValue(state.State) : null;\r
index ae3387006bcd152a232c5c7c82ac99a6b375baf1..e3667a966b0bd7e857fb8039e6fd0793e8e2f5af 100644 (file)
@@ -17,9 +17,6 @@ namespace HandBrake.ApplicationServices.Interop
     using HandBrake.ApplicationServices.Interop.HbLib;\r
     using HandBrake.ApplicationServices.Interop.Helpers;\r
     using HandBrake.ApplicationServices.Interop.Json.Presets;\r
-    using HandBrake.ApplicationServices.Services.Logging;\r
-    using HandBrake.ApplicationServices.Services.Logging.Interfaces;\r
-    using HandBrake.ApplicationServices.Services.Logging.Model;\r
 \r
     using Newtonsoft.Json;\r
 \r
@@ -28,8 +25,6 @@ namespace HandBrake.ApplicationServices.Interop
     /// </summary>\r
     public class HandBrakePresetService\r
     {\r
-        private static readonly ILog log = LogService.GetLogger();\r
-\r
         /// <summary>\r
         /// The get built in presets.\r
         /// Requires an hb_init to have been invoked.\r
@@ -41,9 +36,6 @@ namespace HandBrake.ApplicationServices.Interop
         {\r
             IntPtr presets = HBFunctions.hb_presets_builtin_get_json();\r
             string presetJson = Marshal.PtrToStringAnsi(presets);\r
-\r
-            log.LogMessage(presetJson, LogMessageType.API, LogLevel.Debug);\r
-\r
             IList<PresetCategory> presetList = JsonConvert.DeserializeObject<IList<PresetCategory>>(presetJson);\r
 \r
             return presetList;\r
@@ -62,7 +54,6 @@ namespace HandBrake.ApplicationServices.Interop
         {\r
             IntPtr presetStringPointer = HBFunctions.hb_presets_read_file_json(InteropUtilities.ToUtf8PtrFromString(filename));\r
             string presetJson = Marshal.PtrToStringAnsi(presetStringPointer);\r
-            log.LogMessage(presetJson, LogMessageType.API, LogLevel.Debug);\r
 \r
             if (!string.IsNullOrEmpty(presetJson))\r
             {\r
index b8fb24778a4f8980e8e8c00e3f7e34fa3722a37d..b16300fb4edcfe547d20216403d16ae94f78aca1 100644 (file)
@@ -28,8 +28,6 @@ namespace HandBrake.ApplicationServices.Interop
     /// </summary>\r
     public static class HandBrakeUtils\r
     {\r
-        private static readonly ILog log = LogService.GetLogger();\r
-\r
         /// <summary>\r
         /// The callback for log messages from HandBrake.\r
         /// </summary>\r
@@ -298,7 +296,6 @@ namespace HandBrake.ApplicationServices.Interop
         public static Geometry GetAnamorphicSize(AnamorphicGeometry anamorphicGeometry)\r
         {\r
             string encode = JsonConvert.SerializeObject(anamorphicGeometry, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });\r
-            log.LogMessage(encode, LogMessageType.API, LogLevel.Debug);\r
             IntPtr json = HBFunctions.hb_set_anamorphic_size_json(Marshal.StringToHGlobalAnsi(encode));\r
             string result = Marshal.PtrToStringAnsi(json);\r
             return JsonConvert.DeserializeObject<Geometry>(result);\r
@@ -333,13 +330,9 @@ namespace HandBrake.ApplicationServices.Interop
         /// <param name="message">\r
         /// The message to send.\r
         /// </param>\r
-        private static void SendMessageEvent(string message)\r
+        public static void SendMessageEvent(string message)\r
         {\r
-            if (MessageLogged != null)\r
-            {\r
-                log.LogMessage(message, LogMessageType.ScanOrEncode, LogLevel.Info);\r
-                MessageLogged(null, new MessageLoggedEventArgs(message));\r
-            }\r
+            MessageLogged?.Invoke(null, new MessageLoggedEventArgs(message));\r
         }\r
 \r
         /// <summary>\r
@@ -348,13 +341,9 @@ namespace HandBrake.ApplicationServices.Interop
         /// <param name="message">\r
         /// The message to send\r
         /// </param>\r
-        private static void SendErrorEvent(string message)\r
+        public static void SendErrorEvent(string message)\r
         {\r
-            if (ErrorLogged != null)\r
-            {\r
-                log.LogMessage(message, LogMessageType.ScanOrEncode, LogLevel.Error);\r
-                ErrorLogged(null, new MessageLoggedEventArgs(message));\r
-            }\r
+            ErrorLogged?.Invoke(null, new MessageLoggedEventArgs(message));\r
         }\r
     }\r
 }\r
index b0195ed50eb3b226e1fc9351493fab4f89b9081a..78296795cd28fd74e8df8cde46550d4f3506e961 100644 (file)
@@ -19,6 +19,8 @@ namespace HandBrake.ApplicationServices.Services.Logging
     using System.Linq;
     using System.Text;
 
+    using HandBrake.ApplicationServices.Interop;
+    using HandBrake.ApplicationServices.Interop.EventArgs;
     using HandBrake.ApplicationServices.Services.Logging.EventArgs;
     using HandBrake.ApplicationServices.Services.Logging.Interfaces;
     using HandBrake.ApplicationServices.Services.Logging.Model;
@@ -46,6 +48,12 @@ namespace HandBrake.ApplicationServices.Services.Logging
         private StreamWriter fileWriter;
         private string logHeader;
 
+        public LogService()
+        {
+            HandBrakeUtils.MessageLogged += this.HandBrakeUtils_MessageLogged;
+            HandBrakeUtils.ErrorLogged += this.HandBrakeUtils_ErrorLogged;
+        }
+
         /// <summary>
         /// Fires when a new QueueTask starts
         /// </summary>
@@ -284,35 +292,6 @@ namespace HandBrake.ApplicationServices.Services.Logging
             }
         }
 
-        /// <summary>
-        /// Helper method for logging content to disk
-        /// </summary>
-        /// <param name="msg">
-        /// Log message to write.
-        /// </param>
-        private void LogMessageToDisk(LogMessage msg)
-        {
-            if (!this.isDiskLoggingEnabled)
-            {
-                return;
-            }
-
-            try
-            {
-                lock (this.fileWriterLock)
-                {
-                    if (this.fileWriter != null && this.fileWriter.BaseStream.CanWrite)
-                    {
-                        this.fileWriter.WriteLine(msg.Content);
-                    }
-                }
-            }
-            catch (Exception exc)
-            {
-                Debug.WriteLine(exc); // This exception doesn't warrant user interaction, but it should be logged
-            }
-        }
-
         /// <summary>
         /// Called when a log message is created.
         /// </summary>
@@ -360,5 +339,54 @@ namespace HandBrake.ApplicationServices.Services.Logging
         {
             this.LogReset?.Invoke(this, System.EventArgs.Empty);
         }
+
+        /// <summary>
+        /// Helper method for logging content to disk
+        /// </summary>
+        /// <param name="msg">
+        /// Log message to write.
+        /// </param>
+        private void LogMessageToDisk(LogMessage msg)
+        {
+            if (!this.isDiskLoggingEnabled)
+            {
+                return;
+            }
+
+            try
+            {
+                lock (this.fileWriterLock)
+                {
+                    if (this.fileWriter != null && this.fileWriter.BaseStream.CanWrite)
+                    {
+                        this.fileWriter.WriteLine(msg.Content);
+                    }
+                }
+            }
+            catch (Exception exc)
+            {
+                Debug.WriteLine(exc); // This exception doesn't warrant user interaction, but it should be logged
+            }
+        }
+
+        private void HandBrakeUtils_ErrorLogged(object sender, MessageLoggedEventArgs e)
+        {
+            if (e == null || string.IsNullOrEmpty(e.Message))
+            {
+                return;
+            }
+
+            this.LogMessage(e.Message, LogMessageType.ScanOrEncode, LogLevel.Error);
+        }
+
+        private void HandBrakeUtils_MessageLogged(object sender, MessageLoggedEventArgs e)
+        {
+            if (e == null || string.IsNullOrEmpty(e.Message))
+            {
+                return;
+            }
+
+            this.LogMessage(e.Message, LogMessageType.ScanOrEncode, LogLevel.Info);
+        }
     }
 }