def __init__(self, name): self.fsmLock = RLock() self._name = name self.stateArray = [] self._serialNum = FSM.SerialNum FSM.SerialNum += 1 self._broadcastStateChanges = False self._state = 'Off' self.__requestQueue = []
def __init__(self, appRunner, taskChain='default'): self.globalLock.acquire() try: self.uniqueId = PackageInstaller.nextUniqueId PackageInstaller.nextUniqueId += 1 finally: self.globalLock.release() self.appRunner = appRunner self.taskChain = taskChain # If we're to be running on an asynchronous task chain, and # the task chain hasn't yet been set up already, create the # default parameters now. if taskChain != 'default' and not taskMgr.hasTaskChain(self.taskChain): taskMgr.setupTaskChain(self.taskChain, numThreads=1, threadPriority=TPLow) self.callbackLock = Lock() self.calledDownloadStarted = False self.calledDownloadFinished = False # A list of all packages that have been added to the # installer. self.packageLock = RLock() self.packages = [] self.state = self.S_initial # A list of packages that are waiting for their desc files. self.needsDescFile = [] self.descFileTask = None # A list of packages that are waiting to be downloaded and # installed. self.needsDownload = [] self.downloadTask = None # A list of packages that were already done at the time they # were passed to addPackage(). self.earlyDone = [] # A list of packages that have been successfully installed, or # packages that have failed. self.done = [] self.failed = [] # This task is spawned on the default task chain, to update # the status during the download. self.progressTask = None self.accept('PackageInstaller-%s-allHaveDesc' % self.uniqueId, self.__allHaveDesc) self.accept('PackageInstaller-%s-packageStarted' % self.uniqueId, self.__packageStarted) self.accept('PackageInstaller-%s-packageDone' % self.uniqueId, self.__packageDone)
def __init__(self, name): self.fsmLock = RLock() self.name = name self._serialNum = FSM.SerialNum FSM.SerialNum += 1 self._broadcastStateChanges = False # Initially, we are in the Off state by convention. self.state = 'Off' # This member records transition requests made by demand() or # forceTransition() while the FSM is in transition between # states. self.__requestQueue = [] if __debug__: from direct.fsm.ClassicFSM import _debugFsms import weakref _debugFsms[name]=weakref.ref(self)