Lines Matching refs:iid

96 # Keyed by [iid][name], each item is an unbound method.
111 def BuildMethod(method_info, iid):
114 return interface_method_cache[iid][name]
123 ## print "Method Code for %s (%s):" % (name, iid)
130 if not interface_method_cache.has_key(iid):
131 interface_method_cache[iid] = {}
132 interface_method_cache[iid][name] = ret
140 def BuildInterfaceInfo(iid):
142 ret = interface_cache.get(iid, None)
150 interface = xpt.Interface(iid)
168 interface_cache[iid] = ret
216 iid = iim.GetInfoForName(interface_name).GetIID()
218 prim = self._comobj_.QueryInterface(iid)
234 def __init__(self, ob, iid = IID_nsISupports):
254 self.QueryInterface(iid)
297 def _remember_interface_info(self, iid):
302 assert not iis.has_key(iid), "Already remembered this interface!"
304 method_infos, getters, setters, constants = BuildInterfaceInfo(iid)
308 logger.info("Failed to build interface info for %s: %s", iid, why)
310 iis[iid] = None
314 iis[iid] = method_infos, getters, setters, constants
316 for name in method_infos.keys(): names[name] = iid
317 for name in getters.keys(): names[name] = iid
318 for name in setters.keys(): names[name] = iid
319 for name in constants.keys(): names[name] = iid
321 def QueryInterface(self, iid):
322 if self._interfaces_.has_key(iid):
323 assert self._interface_names_.has_key(iid.name), "_interfaces_ has the key, but _interface_names_ does not!"
326 if not self._interface_infos_.has_key(iid):
327 self._remember_interface_info(iid)
328 iface_info = self._interface_infos_[iid]
334 return self._comobj_.QueryInterface(iid, 0)
336 raw_iface = self._comobj_.QueryInterface(iid, 0)
339 new_interface = _Interface(raw_iface, iid, method_infos,
341 self._interfaces_[iid] = new_interface
342 self._interface_names_[iid.name] = new_interface
358 iid = self.__dict__['_name_to_interface_iid_'].get(attr, None)
360 if iid is None and not self._tried_classinfo_:
362 iid = self.__dict__['_name_to_interface_iid_'].get(attr, None)
369 if iid is not None:
370 interface = self.__dict__['_interfaces_'].get(iid, None)
372 self.QueryInterface(iid)
373 interface = self.__dict__['_interfaces_'][iid]
387 iid = self._name_to_interface_iid_.get(attr, None)
389 if iid is None and not self._tried_classinfo_:
391 iid = self.__dict__['_name_to_interface_iid_'].get(attr, None)
392 if iid is not None:
393 interface = self._interfaces_.get(iid, None)
395 self.QueryInterface(iid)
396 interface = self.__dict__['_interfaces_'][iid]
428 def __init__(self, comobj, iid, method_infos, getters, setters, constants):
430 self.__dict__['_iid_'] = iid
435 self.__dict__['_object_name_'] = iid.name
496 def MakeInterfaceResult(ob, iid):
497 return Component(ob, iid)
516 def __init__(self, ob, iid = None):
519 if iid is None:
521 iid = ob.IID
523 iid = IID_nsISupports
524 self._iid_ = iid
525 def __call__(self, iid = None):
526 if iid is None: iid = self._iid_
528 return Component(self._comobj_.QueryReferent(iid)._comobj_, iid)