Task #12175 (closed)
Opened 10 years ago
Closed 10 years ago
C++ Wrap libtiff functions
Reported by: | rleigh | Owned by: | rleigh |
---|---|---|---|
Priority: | minor | Milestone: | 5.x |
Component: | Bio-Formats | Version: | 5.0.1 |
Keywords: | cpp | Cc: | |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
In order to make use of libtiff safe within the TIFF reader, it would be useful and convienient to have a set of classes which wrap it. The libtiff API is a non-thread-safe stateful API. We could create
- TIFF class to wrap TIFF*
- IFD class to proxy an IFD; will require internal makeCurrent method to set the current IFD on its parent; may need a mutex at the TIFF level to lock access to the TIFF structure
- Error class to wrap the global error handler, without which we can't retrieve errors; will require locking with a mutex since it's global state (will need to save/restore the global state while held)
- Warning class to capture and log warnings; will need to tie into our future logging infrastructure
Change History (2)
comment:1 Changed 10 years ago by rleigh
- Keywords cpp added
comment:2 Changed 10 years ago by rleigh
- Resolution set to fixed
- Status changed from new to closed
Note: See
TracTickets for help on using
tickets.
You may also have a look at Agilo extensions to the ticket.
https://github.com/openmicroscopy/bioformats/pull/1363 adds the final bits. We can now consider the wrapping essentially complete. We'll probably need to extend it at some point for additional features, but the base set for reading and writing are done.