Debugger/DebugServer.py

changeset 6374
fcd97204ff16
parent 6367
7bc6fc02d981
child 6376
201067699041
equal deleted inserted replaced
6373:739683aacc4a 6374:fcd97204ff16
299 registeredInterfaces = {} 299 registeredInterfaces = {}
300 for interfaceName in self.__debuggerInterfaces: 300 for interfaceName in self.__debuggerInterfaces:
301 registeredInterfaces[interfaceName] = \ 301 registeredInterfaces[interfaceName] = \
302 self.__debuggerInterfaces[interfaceName] 302 self.__debuggerInterfaces[interfaceName]
303 303
304 self.__debuggerInterfaces = {}
305 self.__debuggerInterfaceRegistry = {} 304 self.__debuggerInterfaceRegistry = {}
306 for interfaceName, getRegistryData in registeredInterfaces.items(): 305 for interfaceName, getRegistryData in registeredInterfaces.items():
307 self.registerDebuggerInterface(interfaceName, getRegistryData) 306 self.registerDebuggerInterface(interfaceName, getRegistryData,
307 reregister=True)
308 308
309 self.__maxVariableSize = Preferences.getDebugger("MaxVariableSize") 309 self.__maxVariableSize = Preferences.getDebugger("MaxVariableSize")
310 310
311 def registerDebuggerInterface(self, interfaceName, getRegistryData): 311 def registerDebuggerInterface(self, interfaceName, getRegistryData,
312 reregister=False):
312 """ 313 """
313 Public method to register a debugger interface. 314 Public method to register a debugger interface.
314 315
315 @param interfaceName name of the debugger interface 316 @param interfaceName name of the debugger interface
316 @type str 317 @type str
318 to get the debugger interface details. This method shall 319 to get the debugger interface details. This method shall
319 return the client language, the client capabilities, the 320 return the client language, the client capabilities, the
320 list of associated file extensions and a function reference 321 list of associated file extensions and a function reference
321 to create the debugger interface (see __createDebuggerInterface()) 322 to create the debugger interface (see __createDebuggerInterface())
322 @type function 323 @type function
323 """ 324 @param reregister flag indicating to re-register the interface
324 if interfaceName in self.__debuggerInterfaces: 325 @type bool
326 """
327 if interfaceName in self.__debuggerInterfaces and not reregister:
325 E5MessageBox.warning( 328 E5MessageBox.warning(
326 None, 329 None,
327 self.tr("Register Debugger Interface"), 330 self.tr("Register Debugger Interface"),
328 self.tr("""<p>The debugger interface <b>{0}</b> has already""" 331 self.tr("""<p>The debugger interface <b>{0}</b> has already"""
329 """ been registered. Ignoring this request.</p>""")) 332 """ been registered. Ignoring this request.</p>"""))
330 return 333 return
331 334
335 if not reregister:
336 self.__debuggerInterfaces[interfaceName] = getRegistryData
332 registryDataList = getRegistryData() 337 registryDataList = getRegistryData()
333 if registryDataList: 338 if registryDataList:
334 self.__debuggerInterfaces[interfaceName] = getRegistryData
335 for clientLanguage, clientCapabilities, clientExtensions, \ 339 for clientLanguage, clientCapabilities, clientExtensions, \
336 interfaceCreator in registryDataList: 340 interfaceCreator in registryDataList:
337 self.__debuggerInterfaceRegistry[clientLanguage] = [ 341 self.__debuggerInterfaceRegistry[clientLanguage] = [
338 clientCapabilities, clientExtensions, interfaceCreator, 342 clientCapabilities, clientExtensions, interfaceCreator,
339 interfaceName] 343 interfaceName]

eric ide

mercurial