using std::string;
using boost::shared_ptr;
+using boost::dynamic_pointer_cast;
using boost::optional;
RawImageProxy::RawImageProxy (shared_ptr<Image> image)
{
_image->write_to_socket (socket);
}
+
+bool
+RawImageProxy::same (shared_ptr<const ImageProxy> other) const
+{
+ shared_ptr<const RawImageProxy> rp = dynamic_pointer_cast<const RawImageProxy> (other);
+ if (!rp) {
+ return false;
+ }
+
+ return (*_image.get()) == (*rp->image().get());
+}
public:
RawImageProxy (boost::shared_ptr<Image>);
RawImageProxy (boost::shared_ptr<cxml::Node> xml, boost::shared_ptr<Socket> socket);
-
+
boost::shared_ptr<Image> image (boost::optional<dcp::NoteHandler> note = boost::optional<dcp::NoteHandler> ()) const;
void add_metadata (xmlpp::Node *) const;
void send_binary (boost::shared_ptr<Socket>) const;
+ bool same (boost::shared_ptr<const ImageProxy>) const;
private:
boost::shared_ptr<Image> _image;