OutlookRulesReader
OutlookRulesReader copied to clipboard
Update rules reader for structure
After a whole load of reverse engineering, I've discovered that Outlook's rule reader has the concept of "Parameters", which are essentially arguments passed to rules elements.
The top level structure of rules is unchanged
- RulesHeader
- Rule 0 ...
- Rule N
- RulesFooter
The structure of a rule is unchanged
- RuleHeader
- Rule Element 0
- ....
- Rule Element N
However, the structure of a rule element is changed
- Identifier
- Number of Parameters
- Parameter 0
- ...
- Parameter N
Notice that Outlook rules supports multiple parameters, whereas this wasn't explicitly supported in the structure
I've also added support for reading/writing separate versions, and done a whole bunch of associated cleanups and fixes
This PR still needs to be updated to include changes to the specification.