Mike Auty
c0dfe48c05
Remove configurability of architecture, the translation layer should define the architecture internally.
2017-02-13 22:36:40 +00:00
Mike Auty
0d1dd2d2cd
Fix silly typo.
2017-02-13 21:30:23 +00:00
Mike Auty
d6728fc2b4
Add in attributes and appropriate validation of TranslationLayers based on those attributes.
2017-02-10 13:57:44 +00:00
Mike Auty
d75c1fc808
Update layer interface documentation.
2016-12-30 02:29:22 +00:00
Mike Auty
e56e61eac5
Remove the need for ctypes by using a single-letter code instead.
2016-12-27 22:32:06 +00:00
Mike Auty
bab71d4358
Refactor the progress_callback so it can be used in automagics.
...
Refactored the location of the progress_callback so that the UI can
specify it and ensure it is used by the automagics process as well as
the plugins themselves.
The progress_callback function has also had an optional description parameter
added, so that it can differentiated in case two scans happen
simultaneously.
2016-12-26 23:45:47 +00:00
Mike Auty
2680bba785
Fix up lack of logging object in layers interface.
2016-12-26 23:24:14 +00:00
Mike Auty
627bdd74a5
Allow developers to see when an exception has occurred with their scanner.
2016-12-25 17:43:10 +00:00
Mike Auty
34b3f75b99
Fix up the physical layer scanner appropriately.
2016-12-25 17:39:56 +00:00
Mike Auty
f03f99e64c
Ensure the non-multithreaded scanner works the same way as the multithreaded one.
2016-12-25 17:26:06 +00:00
Mike Auty
a4f27e73f4
Refactor the scanners to allow multithreaded searching.
2016-12-25 17:01:05 +00:00
Mike Auty
1c85db0c31
Add in multi-processing on TranslationLayer scan method.
2016-12-25 13:45:08 +00:00
Mike Auty
70314386c8
Fix a rather critical issue with the end condition for a scanned range (and reduce the overlap if it's unnecessarily large).
2016-12-22 15:41:00 +00:00
Mike Auty
591d9eba27
Add in better bounds checking for the scan call.
2016-12-21 02:20:47 +00:00
Mike Auty
56388fc903
Fix up the incorrect scanning boundaries.
2016-12-21 01:45:44 +00:00
Mike Auty
555f587b15
Ensure the progress value for translation layer scanning is correct.
2016-12-08 12:08:42 +00:00
Mike Auty
797e51608e
Move the masking code into the data layer.
2016-12-07 09:50:59 +00:00
Mike Auty
667014a1fd
Attempt to standardize error message display.
2016-10-30 17:51:45 +00:00
Mike Auty
9959697ba5
Move where the rescursion into TranslationLayers happens.
2016-08-24 01:29:11 +01:00
Mike Auty
f3bc1d30b3
Refactor the build_configuration in Layers so that even data layers get their requirements populated.
2016-08-24 01:14:34 +01:00
Mike Auty
d3e63fbc1a
Rename update_configuration to build_configuration and return a standalone config.
2016-08-22 02:18:23 +01:00
Mike Auty
a1b9be74c7
Refactor several configuration/requirement structures to avoid import loops.
2016-08-22 02:15:54 +01:00
Mike Auty
e54505701f
Refactor Memory into an interface.
2016-08-21 21:26:21 +01:00
Mike Auty
386e8a34c7
Minor clean-up.
2016-08-21 21:23:29 +01:00
Mike Auty
0fd0fa0d55
Fix up the comment to match the acceptance of returning objects other than just offsets.
2016-08-17 20:05:23 +01:00
Mike Auty
ca61cf10b9
Refactor the context back into the ConfigurableInterface.
...
This also adds support for manually constructed configurables to
populate the config tree in the current context.
I'm still toying around with this though, I need to figure out
what to do with optional values and think the whole thing through
to make sure it's worthwhile.
2016-08-14 21:28:43 +01:00
Mike Auty
9111f13a8a
Get rid of obsolete fulfillment method (now handled by _construct_class in ConstructableRequirementInterface).
2016-08-14 11:44:18 +01:00
Mike Auty
e02feed16e
Python 3 has a sane super() implementation (no arguments), so convert to using that.
2016-08-14 00:55:02 +01:00
Mike Auty
8db3adae05
Update the scanner interface to return all kind of objects.
...
This one's slightly contencious, in that scanner now don't all return a
uniform value, and therefore nothing can simply run through scanners.
Worst case scenario we make a separate stricter interface that says it
only returns offsets which will then allow things that need it to
dynamically find them, but it's probably too useful to be able to return
arbitrary objects of a type (as long as the objects returned are always
of that type).
2016-07-30 00:38:53 +01:00
Mike Auty
14c0cc262c
Significantly rework the configuration system.
...
So this is where I ripped out the guts of the dependency tree
and made it a little better defined in some ways, and delayed
populating it in others. The validate function signature has
changed and I'm still up in the air whether to validate with
True/False or throw/catch exceptions.
So now, configurables have a list of requirements, these are
then bundled into a single requirement and can be passed to
automagic. Automagic runs a set of things over the deptree
to help build/manage it. These run in order of priority.
The tree is still built from the top down, but now automagic
can build branch from the bottom up and try and splice them
into the tree where appropriate. Hopefully this will make it
easier to see follow.
2016-07-29 03:24:52 +01:00
Mike Auty
bb2dd859d5
Refactor the get_schema call to make more sense.
2016-07-29 02:56:20 +01:00
Mike Auty
8c6354e013
Document the ScannerInterface to make its use clearer.
2016-07-05 17:09:36 +01:00
Mike Auty
90fa5574b4
Add in the initial scanning framework.
2016-07-02 15:49:00 +01:00
Mike Auty
c626bebb59
Convert mapping to a generator rather than a list. It must still return in sorted order.
2016-07-02 15:48:09 +01:00
Mike Auty
fc34850345
Implement mapping with ignore_errors to get a (sorted) list of valid chunks in a layer.
2016-07-02 15:39:36 +01:00
Mike Auty
46190e37a9
Fix padding error in base read function.
2016-07-02 15:30:40 +01:00
Mike Auty
8c6e7918ee
Fix up one missing exception change.
2016-07-02 14:53:41 +01:00
Mike Auty
5290baf73d
Make InvalidAddress exceptions more useful.
2016-07-02 13:31:36 +01:00
Mike Auty
7a62e74996
Refactor the translation method out of the TranslationLayer, since it's not always applicable/useful. Contemplate a rename of the TranslationLayer now it doesn't actually translate. 5;)
2016-04-10 11:54:32 +01:00
Mike Auty
a3d685c93a
Ensure layers aren't provided more parameters than they need (in case the parameters were meant for a different potential provider.
2016-01-16 22:20:42 +00:00
Mike Auty
78cd3c84c0
Add in a NativeSymbolTable validator.
2016-01-16 21:38:00 +00:00
Mike Auty
00660f2a2b
Refactor requirements to their own file.
2016-01-16 21:04:41 +00:00
Mike Auty
7db739279f
Refactor configuration interfaces.
2016-01-16 13:24:25 +00:00
Mike Auty
b36d84ab0d
Move metadata to providers variable, and genericize the rudimentary resolver.
2016-01-15 01:50:02 +00:00
Mike Auty
5697428770
Move accessing the configuration to an attribute of the configurable itself.
2016-01-13 00:41:17 +00:00
Mike Auty
bef0689982
Add in constraints for dependency solving.
2016-01-04 01:17:23 +00:00
Mike Auty
ff1e326a9c
Rip out layer factories, and replace them with a single dependency resolver.
2015-12-30 21:58:41 +00:00
Mike Auty
bcbfee9016
Refactor the validity function names to make it easier for autocomplete to find.
2015-12-29 22:24:32 +00:00
Mike Auty
cf66d0b447
Start building a dependency resolver for translation layers.
2015-12-29 22:13:10 +00:00
Mike Auty
d258c56991
Rerun pylint with pycharm-5 and fix pep8 issues as well.
2015-11-21 13:12:00 +00:00