/// <summary> /// A factory method for various DmRmcControllers /// </summary> /// <param name="key">device key. Used to uniquely identify device</param> /// <param name="name">device name</param> /// <param name="typeName">device type name. Used to retrived the correct device</param> /// <param name="props">Config from config file</param> /// <returns></returns> public static CrestronGenericBaseDevice GetDmRmcController(string key, string name, string typeName, DmRmcPropertiesConfig props) { typeName = typeName.ToLower(); var ipid = props.Control.IpIdInt; var pKey = props.ParentDeviceKey.ToLower(); // Non-DM-chassis endpoints return(pKey == "processor" ? GetDmRmcControllerForProcessor(key, name, typeName, ipid) : GetDmRmcControllerForChassis(key, name, typeName, props, pKey, ipid)); }