From 9a48b90ecede0cc1aaa34bd3929c3a4efb0858da Mon Sep 17 00:00:00 2001 From: Frederik Carlier <frederik.carlier@quamotion.mobi> Date: Wed, 3 Aug 2016 15:40:29 +0200 Subject: [PATCH] MethodTypeMap: Allow the caller to specify which alias (Chrome/iOS) is being targetted --- source/ChromeDevTools/MethodTypeMap.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/ChromeDevTools/MethodTypeMap.cs b/source/ChromeDevTools/MethodTypeMap.cs index 3f96d98..4f1a668 100644 --- a/source/ChromeDevTools/MethodTypeMap.cs +++ b/source/ChromeDevTools/MethodTypeMap.cs @@ -12,17 +12,25 @@ namespace MasterDevs.ChromeDevTools private readonly Dictionary<string, Type> _eventTypes = new Dictionary<string, Type>(); public MethodTypeMap() + : this("Chrome") { - LoadMethodTypeMap(); } - private void LoadMethodTypeMap() + public MethodTypeMap(string alias) + { + LoadMethodTypeMap(alias); + } + + private void LoadMethodTypeMap(string alias) { var assembly = Assembly.GetExecutingAssembly(); var assemblyTypes = assembly.GetTypes(); foreach (var type in assemblyTypes) { if (!type.IsClass) continue; + + if (!type.Namespace.StartsWith($"MasterDevs.ChromeDevTools.Protocol.{alias}")) continue; + if (type.Name.EndsWith("CommandResponse")) { var methodName = GetMethodName<CommandResponseAttribute>(type); -- GitLab