Files
volatility3/volatility/framework/configuration/depresolver.py
T

21 lines
956 B
Python

import volatility.framework as framework
import volatility.framework.interfaces as interfaces
import volatility.framework.validity as validity
class TranslationLayerDependencyResolver(validity.ValidityRoutines):
def __init__(self):
# Maintain a cache of translation layers
self.layer_cache = []
for layer_class in framework.class_subclasses(interfaces.layers.DataLayerInterface):
# TODO: Improve this hard coded list with a way for layers to say they're abstract or not
if layer_class.__name__.endswith("Interface"):
self.layer_cache.append(layer_class)
def resolve_dependencies(self, configurable):
"""Takes a configurable and produces a priority ordered tree of possible solutions to satisfy the various requirements"""
self._type_check(configurable, interfaces.configuration.Configurable)
for requirement in configurable.get_schemas():
pass