* of happening in a single-threaded decoder.
*
* For example, large TIFFs are slow to decode, so this class will keep
* of happening in a single-threaded decoder.
*
* For example, large TIFFs are slow to decode, so this class will keep
* At this point, the class decodes the TIFF to an Image.
*/
class ImageProxy : public boost::noncopyable
{
public:
* At this point, the class decodes the TIFF to an Image.
*/
class ImageProxy : public boost::noncopyable
{
public:
virtual ~ImageProxy () {}
/** @return Image (which must be aligned) */
virtual boost::shared_ptr<Image> image () const = 0;
virtual void add_metadata (xmlpp::Node *) const = 0;
virtual void send_binary (boost::shared_ptr<Socket>) const = 0;
virtual ~ImageProxy () {}
/** @return Image (which must be aligned) */
virtual boost::shared_ptr<Image> image () const = 0;
virtual void add_metadata (xmlpp::Node *) const = 0;
virtual void send_binary (boost::shared_ptr<Socket>) const = 0;