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