#queueHandler.py #A part of NonVisual Desktop Access (NVDA) #Copyright (C) 2006-2018 NV Access Limited #This file is covered by the GNU General Public License. #See the file COPYING for more details. import types from queue import Queue import globalVars from logHandler import log import watchdog import core eventQueue = Queue() eventQueue.__name__ = "eventQueue" generators = {} lastGeneratorObjID = 0 def registerGeneratorObject(generatorObj): global generators, lastGeneratorObjID if not isinstance(generatorObj, types.GeneratorType): raise TypeError('Arg 2 must be a generator object, not %s' % type(generatorObj)) lastGeneratorObjID += 1 log.debug("Adding generator %d" % lastGeneratorObjID) generators[lastGeneratorObjID] = generatorObj core.requestPump() return lastGeneratorObjID