Package winappdbg :: Module event :: Class EventFactory
[hide private]
[frames] | no frames]

Class EventFactory

source code


Factory of Event objects.

Nested Classes [hide private]
Event baseEvent
Base class for Event objects.
Instance Methods [hide private]

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __init__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
Event
get(cls, debug, raw)
Returns: An Event object or one of it's subclasses, depending on the event type.
source code
Static Methods [hide private]
EventFactory
__new__(typ, *args, **kwargs)
EventFactory is a singleton, you can't really have multiple instances of it.
source code
Class Variables [hide private]
dict( int → Event ) eventClasses = {1: <class 'winappdbg.event.ExceptionEvent'>, 2...
Dictionary that maps event codes to Event subclasses.
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

get(cls, debug, raw)
Class Method

source code 
Parameters:
  • debug (Debug) - Debug object that received the event.
  • raw (DEBUG_EVENT) - Raw DEBUG_EVENT structure as used by the Win32 API.
Returns: Event
An Event object or one of it's subclasses, depending on the event type.

__new__(typ, *args, **kwargs)
Static Method

source code 

EventFactory is a singleton, you can't really have multiple instances of it. To create this effect, the __new__ operator was overriden to return always the class object instead of new instances.

Returns: EventFactory
EventFactory class (NOT an instance)
Overrides: object.__new__

Class Variable Details [hide private]

eventClasses

Dictionary that maps event codes to Event subclasses.
Type:
dict( int → Event )
Value:
{1: <class 'winappdbg.event.ExceptionEvent'>,
 2: <class 'winappdbg.event.CreateThreadEvent'>,
 3: <class 'winappdbg.event.CreateProcessEvent'>,
 4: <class 'winappdbg.event.ExitThreadEvent'>,
 5: <class 'winappdbg.event.ExitProcessEvent'>,
 6: <class 'winappdbg.event.LoadDLLEvent'>,
 7: <class 'winappdbg.event.UnloadDLLEvent'>,
 8: <class 'winappdbg.event.OutputDebugStringEvent'>,
...