Commit Graph

28 Commits (7745cfe74c914e4c38b88d5cc1dfb702b31b8b2e)

Author SHA1 Message Date
Dustin Oprea 7745cfe74c exif: Deimplemented IsExif().
- exif
  - Began deconstructing Exif type in favor of just defining those
    methods as functions.
  - Added additional tests.
2018-06-06 04:37:43 -04:00
Dustin Oprea 7fa077bb78 exif: Added test for ParseExifHeader.
- Tweaked the test names for correctness.
2018-06-06 03:52:26 -04:00
Dustin Oprea 0a561e98ed Fixed tests for recent changes. 2018-05-29 00:55:43 -04:00
Dustin Oprea e3c96766ca tests: Fixed tests for recent changes. One remaining. 2018-05-22 09:39:03 -04:00
Dustin Oprea 6207bd6200 Checkpoint. 2018-05-12 23:12:53 -04:00
Dustin Oprea b18da0cc3d ifd_tag_entry: Added full test coverage.
- bytes are now stringified to a hex-byte representation.
2018-05-04 18:34:01 -04:00
Dustin Oprea 7518b0882a exif: Bugfix to message in test.
- Put Travis badges in documentation.
2018-05-02 15:14:21 -04:00
Dustin Oprea f4cb06d79d type: Renamed ValueString() to ResolveAsString(). 2018-05-02 02:21:06 -04:00
Dustin Oprea 54e4cb73eb IfdBuilder: Added AddFromConfigWithName().
- IfdBuilder: Added NewBuilderTagFromConfigWithName().
- TagIndex: Added GetWithName().
- IfdByteEncoder: Updated example to use names.
2018-05-01 12:22:48 -04:00
Dustin Oprea 88cb7331cf documentation: Added examples.
- Renamed DefaultEncodeByteOrder to EncodeDefaultByteOrder.
2018-05-01 10:57:55 -04:00
Dustin Oprea 81079a77d6 exif: Added EXIF header builder and unit-test. 2018-04-29 02:48:52 -04:00
Dustin Oprea d06a3c8963 ifd_builder: Implemented NewBuilderTagFromConfig() BT factory for testing.
- Updated IfdByteEncoder tests to use it instead of hacking-together
  their own BT's (makes for more standardized, consistent testing).

- Universally refactored all core IFD knowledge implemented upon a
  single IFD name to instead work with IfdIdentity instances, instead,
  in order to validate that we only recognize the IFDs only in the
  context of the correct parents in the hierarchy.

- Implemented standard testing byte-order (assigned to
  TestDefaultByteOrder).
2018-04-27 03:42:59 -04:00
Dustin Oprea 50eafa98d6 ifd_enumerate: Added tests.
- Refactored (IfdTagEntry).ValueBytes() to handle managed undefined
  values.
2018-04-22 02:35:33 -04:00
Dustin Oprea f1f23dca82 General intuitivity refactor. Imp'd (IfdTagEntry).ValueBytes().
- Added some assertions and constants. Renamed from variable so it'd be easy to
  tell if the byte-arrays, even though they come directly from the EXIF, which
  specific offsets they start at (so no remove for confusion during enumeration
  and building).
2018-04-21 20:54:56 -04:00
Dustin Oprea a909226514 type_decode: Implemented immediate remaining 'unknown'-type tags.
- Except for MakerNote. We're just going to have to skip that when
  writing, for now.
2018-04-21 03:40:33 -04:00
Dustin Oprea 00a5a5ad5b ifd_builder: Fixed so will compile. 2018-04-21 00:24:54 -04:00
Dustin Oprea 88333d9088 ifd_builder: Added main flow and allocation.
- We still need to implement the size calculations and tag encoding.
2018-04-20 11:45:32 -04:00
Dustin Oprea f99faad160 builder: Added full IFD-building functionality.
- There are still some placeholders for things that we need to figure
  out.

- Still needs tests.
2018-04-19 02:43:17 -04:00
Dustin Oprea 52dafd070a collect: Added a massive test for collected structure. 2018-04-19 01:02:03 -04:00
Dustin Oprea 679ea19d6c ifd_enumerate. The IFD tree and content can now be collected.
- Collected into a static structure in addition to scanned (which is
- only a visitor pattern).
- Test still has be finished.
2018-04-18 07:58:05 -04:00
Dustin Oprea acbda6d1e1 ifd_enumerate: Refactored for reusability from a collector loop. 2018-04-18 06:28:12 -04:00
Dustin Oprea f1521d4bac documentation: Added documentation and reader-tool for testing. 2018-04-16 01:57:30 -04:00
Dustin Oprea 42e678f6c2 type: Implemented workflow for undefined-type tags.
- Implemented for the straightforward tags. Noted what had to be done
  for the rest.
2018-04-16 00:30:39 -04:00
Dustin Oprea 172013e0f0 ifd: Implemented recursion. Refactored IFD seeking.
- tags.yaml: Uncommented previously-unhandleable tags.
2018-04-15 23:13:25 -04:00
Dustin Oprea 1511788a4e ifd: Implemented several layers of value processing. Done.
- It's going to be laborious to write unit-tests for, though.
2018-04-15 01:25:30 -04:00
Dustin Oprea 315ca60f03 ifd: Formalized visitor implementation. 2018-04-14 20:32:02 -04:00
Dustin Oprea 05fe72f929 Added tag lookup. Only a minimal number of tags are currently known. 2018-04-14 20:04:35 -04:00
Dustin Oprea 685d801489 Initial commit.
- Parsing works.
- Not yet resolving values.
- Not yet resolving the actual IDs.
- Not yet able to make changes.
2018-04-14 14:38:35 -04:00