Package winappdbg :: Module crash :: Class DummyCrashContainer
[hide private]
[frames] | no frames]

Class DummyCrashContainer

source code


Fakes a database of volatile Crash objects, trying to mimic part of it's interface, but doesn't actually store anything.

Normally applications don't need to use this.


See Also: CrashDictionary

Instance Methods [hide private]
 
__init__(self, allowRepeatedKeys=True)
Fake containers don't store Crash objects, but they implement the interface properly.
source code
bool
__contains__(self, crash)
Returns: True if the Crash object is in the container.
source code
int
__len__(self)
Returns: Count of Crash elements in the container.
source code
bool
__bool__(self)
Returns: False if the container is empty.
source code
 
add(self, crash)
Adds a new crash to the container.
source code
 
get(self, key)
This method is not supported.
source code
bool
has_key(self, key)
Returns: True if a matching Crash object is in the container.
source code
iterator
iterkeys(self)
Returns: Iterator of the contained Crash object keys.
source code

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

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, allowRepeatedKeys=True)
(Constructor)

source code 

Fake containers don't store Crash objects, but they implement the interface properly.

Parameters:
  • allowRepeatedKeys (bool) - Mimics the duplicate filter behavior found in real containers.
Overrides: object.__init__

__contains__(self, crash)
(In operator)

source code 
Parameters:
  • crash (Crash) - Crash object.
Returns: bool
True if the Crash object is in the container.

__len__(self)
(Length operator)

source code 
Returns: int
Count of Crash elements in the container.

__bool__(self)

source code 
Returns: bool
False if the container is empty.

add(self, crash)

source code 

Adds a new crash to the container.

Parameters:
  • crash (Crash) - Crash object to add.

Note: When the allowRepeatedKeys parameter of the constructor is set to False, duplicated crashes are ignored.

See Also: Crash.key

has_key(self, key)

source code 
Parameters:
  • key (Crash signature.) - Heuristic signature of the crash to get.
Returns: bool
True if a matching Crash object is in the container.

iterkeys(self)

source code 
Returns: iterator
Iterator of the contained Crash object keys.

See Also: get

Warning: A copy of each object is returned, so any changes made to them will be lost.

To preserve changes do the following:

  1. Keep a reference to the object.
  2. Delete the object from the set.
  3. Modify the object and add it again.