public UiaDbusElement(DCI.IAutomationElement dbusElement, string busName, string dbusPath, UiaDbusAutomationSource source) { this.source = source; this.busName = busName; this.dbusPath = dbusPath; this.dbusElement = dbusElement; }
public UiaDbusElement (DCI.IAutomationElement dbusElement, string busName, string dbusPath, UiaDbusAutomationSource source) { this.source = source; this.busName = busName; this.dbusPath = dbusPath; this.dbusElement = dbusElement; }
private UiaDbusElement CreateElement(DCI.IAutomationElement dbusElement, string busName, string elementPath) { if (dbusElement == null) { return(null); } UiaDbusElement element = new UiaDbusElement(dbusElement, busName, elementPath, this); lock (elementMapping) elementMapping.Add(new DbusElementTuple(busName, elementPath), element); return(element); }
public UiaDbusElement GetOrCreateElement(string busName, string elementPath) { if (string.IsNullOrEmpty(elementPath) || string.IsNullOrEmpty(busName)) { return(null); } UiaDbusElement element; lock (elementMapping) { if (elementMapping.TryGetValue(new DbusElementTuple(busName, elementPath), out element)) { return(element); } DCI.IAutomationElement dbusElement = Bus.Session.GetObject <DCI.IAutomationElement> (busName, new ObjectPath(elementPath)); element = CreateElement(dbusElement, busName, elementPath); } return(element); }