diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-06-11 16:31:20 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-06-11 16:31:20 +0100 |
| commit | 8139c134b1c3e46d523e3ea9799dd33d8f05fb7a (patch) | |
| tree | fcea4606d8d4440cd787c9e6e27d3cba1dcee6d4 /src/lib/j2k_image_proxy.cc | |
| parent | 019fd78b3bdf4bf1d8944df879d6c0e7a8b1cd67 (diff) | |
Use better J2KImageProxy::same() method.
Diffstat (limited to 'src/lib/j2k_image_proxy.cc')
| -rw-r--r-- | src/lib/j2k_image_proxy.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/lib/j2k_image_proxy.cc b/src/lib/j2k_image_proxy.cc index 7dca3d8a9..ce0b88265 100644 --- a/src/lib/j2k_image_proxy.cc +++ b/src/lib/j2k_image_proxy.cc @@ -35,6 +35,7 @@ using std::string; using std::cout; using boost::shared_ptr; using boost::optional; +using boost::dynamic_pointer_cast; /** Construct a J2KImageProxy from a JPEG2000 file */ J2KImageProxy::J2KImageProxy (boost::filesystem::path path, dcp::Size size) @@ -132,3 +133,18 @@ J2KImageProxy::send_binary (shared_ptr<Socket> socket) const { socket->write (_data.data().get(), _data.size()); } + +bool +J2KImageProxy::same (shared_ptr<const ImageProxy> other) const +{ + shared_ptr<const J2KImageProxy> jp = dynamic_pointer_cast<const J2KImageProxy> (other); + if (!jp) { + return false; + } + + if (_data.size() != jp->_data.size()) { + return false; + } + + return memcmp (_data.data().get(), jp->_data.data().get(), _data.size()) == 0; +} |
