diff options
Diffstat (limited to 'tiff/contrib/stream')
-rw-r--r-- | tiff/contrib/stream/Makefile.am | 28 | ||||
-rw-r--r-- | tiff/contrib/stream/Makefile.in | 421 | ||||
-rw-r--r-- | tiff/contrib/stream/README | 30 | ||||
-rw-r--r-- | tiff/contrib/stream/tiffstream.cpp | 238 | ||||
-rw-r--r-- | tiff/contrib/stream/tiffstream.h | 69 |
5 files changed, 0 insertions, 786 deletions
diff --git a/tiff/contrib/stream/Makefile.am b/tiff/contrib/stream/Makefile.am deleted file mode 100644 index e98ae33..0000000 --- a/tiff/contrib/stream/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -# Tag Image File Format (TIFF) Software -# -# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu> -# -# Permission to use, copy, modify, distribute, and sell this software and -# its documentation for any purpose is hereby granted without fee, provided -# that (i) the above copyright notices and this permission notice appear in -# all copies of the software and related documentation, and (ii) the names of -# Sam Leffler and Silicon Graphics may not be used in any advertising or -# publicity relating to the software without the specific, prior written -# permission of Sam Leffler and Silicon Graphics. -# -# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -# -# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -# OF THIS SOFTWARE. - -# Process this file with automake to produce Makefile.in. - -EXTRA_DIST = README tiffstream.cpp tiffstream.h - -INCLUDES = -I../../libtiff -I$(top_srcdir)/libtiff diff --git a/tiff/contrib/stream/Makefile.in b/tiff/contrib/stream/Makefile.in deleted file mode 100644 index 2ab998b..0000000 --- a/tiff/contrib/stream/Makefile.in +++ /dev/null @@ -1,421 +0,0 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Tag Image File Format (TIFF) Software -# -# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu> -# -# Permission to use, copy, modify, distribute, and sell this software and -# its documentation for any purpose is hereby granted without fee, provided -# that (i) the above copyright notices and this permission notice appear in -# all copies of the software and related documentation, and (ii) the names of -# Sam Leffler and Silicon Graphics may not be used in any advertising or -# publicity relating to the software without the specific, prior written -# permission of Sam Leffler and Silicon Graphics. -# -# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -# -# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -# OF THIS SOFTWARE. - -# Process this file with automake to produce Makefile.in. -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = contrib/stream -DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/libtiff/tif_config.h \ - $(top_builddir)/libtiff/tiffconf.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GLUT_CFLAGS = @GLUT_CFLAGS@ -GLUT_LIBS = @GLUT_LIBS@ -GLU_CFLAGS = @GLU_CFLAGS@ -GLU_LIBS = @GLU_LIBS@ -GL_CFLAGS = @GL_CFLAGS@ -GL_LIBS = @GL_LIBS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBDIR = @LIBDIR@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTIFF_ALPHA_VERSION = @LIBTIFF_ALPHA_VERSION@ -LIBTIFF_DOCDIR = @LIBTIFF_DOCDIR@ -LIBTIFF_MAJOR_VERSION = @LIBTIFF_MAJOR_VERSION@ -LIBTIFF_MICRO_VERSION = @LIBTIFF_MICRO_VERSION@ -LIBTIFF_MINOR_VERSION = @LIBTIFF_MINOR_VERSION@ -LIBTIFF_RELEASE_DATE = @LIBTIFF_RELEASE_DATE@ -LIBTIFF_VERSION = @LIBTIFF_VERSION@ -LIBTIFF_VERSION_INFO = @LIBTIFF_VERSION_INFO@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XMKMF = @XMKMF@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -acx_pthread_config = @acx_pthread_config@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = README tiffstream.cpp tiffstream.h -INCLUDES = -I../../libtiff -I$(top_srcdir)/libtiff -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/stream/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign contrib/stream/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tiff/contrib/stream/README b/tiff/contrib/stream/README deleted file mode 100644 index df9e43e..0000000 --- a/tiff/contrib/stream/README +++ /dev/null @@ -1,30 +0,0 @@ -Subject: tiff stream interface (contrib) -Date: Thu, 30 Mar 2000 10:48:51 -0800 -From: "Avi Bleiweiss" <avi@shutterfly.com> -To: <warmerda@home.com>, <mike@onshore.com> - -Here at Shutterfly we have augmented the file based tiff library to support -C++ streams. The implementation is an adaptor class, which takes any C++ -stream from the user and in return it deposits i/o operation method pointers -(e.g. read, write, seek and close) into the tiff's library client state. - -The class TiffStream has an overloaded factory method - makeFileStream - -which takes the C++ stream as an argument, calls TIFFClientOpen and returns -a tiff handle. The class retains the tiff handle in its local state and -provides a helper function (getTiffHandle) to query the handle at any time. -Additional helper method - getStreamSize - provides the stream size to the -user. The implementation assumes client responsibility to delete the stream -object. The class calls TIFFClose at destruction time. - -Attached are a definition (tiffstream.h) and an implementation -(tiffstream.cpp) files of the TiffStream class. No changes are required to -the tiff core piece and the class sits on top of the library. The code is -fairly tested at this point and is used internally in Shutterfly imaging -software. The code is portable across WindowsNT/Linux/Solaris. - -We at Shutterfly believe this software has benefits to the larger community -of tiff library users and would like to contribute this software to be part -of the tiff distributed package. Let me know of any issue. - -Thanks -Avi diff --git a/tiff/contrib/stream/tiffstream.cpp b/tiff/contrib/stream/tiffstream.cpp deleted file mode 100644 index ffff687..0000000 --- a/tiff/contrib/stream/tiffstream.cpp +++ /dev/null @@ -1,238 +0,0 @@ -// tiff stream interface class implementation - -#include "tiffstream.h" - -const char* TiffStream::m_name = "TiffStream"; - -TiffStream::TiffStream() -{ - m_tif = NULL; - - - m_inStream = NULL; - m_outStream = NULL; - m_ioStream = NULL; - - m_streamLength = 0; - - m_this = reinterpret_cast<thandle_t>(this); -}; - -TiffStream::~TiffStream() -{ - if(m_tif != NULL) TIFFClose(m_tif); -} - -TIFF* -TiffStream::makeFileStream(istream* str) -{ - m_inStream = str; - m_outStream = NULL; - m_ioStream = NULL; - m_streamLength = getSize(m_this); - - m_tif = TIFFClientOpen(m_name, - "r", - m_this, - read, - write, - seek, - close, - size, - map, - unmap); - return m_tif; -} - -TIFF* -TiffStream::makeFileStream(ostream* str) -{ - m_inStream = NULL; - m_outStream = str; - m_ioStream = NULL; - m_streamLength = getSize(m_this); - - m_tif = TIFFClientOpen(m_name, - "w", - m_this, - read, - write, - seek, - close, - size, - map, - unmap); - return m_tif; -} - -TIFF* -TiffStream::makeFileStream(iostream* str) -{ - m_inStream = NULL; - m_outStream = NULL; - m_ioStream = str; - m_streamLength = getSize(m_this); - - m_tif = TIFFClientOpen(m_name, - "r+w", - m_this, - read, - write, - seek, - close, - size, - map, - unmap); - return m_tif; -} - -tsize_t -TiffStream::read(thandle_t fd, tdata_t buf, tsize_t size) -{ - istream* istr; - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - if(ts->m_inStream != NULL) { - istr = ts->m_inStream; - } else if(ts->m_ioStream != NULL) { - istr = ts->m_ioStream; - } - - int remain = ts->m_streamLength - ts->tell(fd); - int actual = remain < size ? remain : size; - istr->read(reinterpret_cast<char*>(buf), actual); - return istr->gcount(); -} - -tsize_t -TiffStream::write(thandle_t fd, tdata_t buf, tsize_t size) -{ - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - ostream* ostr; - if(ts->m_outStream != NULL) { - ostr = ts->m_outStream; - } else if(ts->m_ioStream != NULL) { - ostr = ts->m_ioStream; - } - - streampos start = ostr->tellp(); - ostr->write(reinterpret_cast<const char*>(buf), size); - return ostr->tellp() - start; -} - -toff_t -TiffStream::seek(thandle_t fd, toff_t offset, int origin) -{ - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - if(ts->seekInt(fd, offset, origin) == true) return offset; - else return -1; -} - -int -TiffStream::close(thandle_t fd) -{ - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - if(ts->m_inStream != NULL) { - ts->m_inStream = NULL; - return 0; - } else if(ts->m_outStream != NULL) { - ts->m_outStream = NULL; - return 0; - } else if(ts->m_ioStream != NULL) { - ts->m_ioStream = NULL; - return 0; - } - return -1; -} - -toff_t -TiffStream::size(thandle_t fd) -{ - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - return ts->getSize(fd); -} - -int -TiffStream::map(thandle_t fd, tdata_t* phase, toff_t* psize) -{ - return 0; -} - -void -TiffStream::unmap(thandle_t fd, tdata_t base, tsize_t size) -{ -} - -unsigned int -TiffStream::getSize(thandle_t fd) -{ - if(!isOpen(fd)) return 0; - - unsigned int pos = tell(fd); - seekInt(fd, 0, end); - unsigned int size = tell(fd); - seekInt(fd, pos, beg); - - return size; -} - -unsigned int -TiffStream::tell(thandle_t fd) -{ - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - if(ts->m_inStream != NULL) { - return ts->m_inStream->tellg(); - } else if(ts->m_outStream != NULL) { - return ts->m_outStream->tellp(); - } else if(ts->m_ioStream != NULL) { - return ts->m_ioStream->tellg(); - } - return 0; -} - -bool -TiffStream::seekInt(thandle_t fd, unsigned int offset, int origin) -{ - if(!isOpen(fd)) return false; - - ios::seek_dir org; - switch(origin) { - case beg: - org = ios::beg; - break; - case cur: - org = ios::cur; - break; - case end: - org = ios::end; - break; - } - - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - if(ts->m_inStream != NULL) { - ts->m_inStream->seekg(offset, org); - return true; - } else if(ts->m_outStream != NULL) { - ts->m_outStream->seekp(offset, org); - return true; - } else if(ts->m_ioStream != NULL) { - ts->m_ioStream->seekg(offset, org); - ts->m_ioStream->seekp(offset, org); - return true; - } - return false; -} - -bool -TiffStream::isOpen(thandle_t fd) -{ - TiffStream* ts = reinterpret_cast<TiffStream*>(fd); - return (ts->m_inStream != NULL || - ts->m_outStream != NULL || - ts->m_ioStream != NULL); -}/* - * Local Variables: - * mode: c++ - * c-basic-offset: 8 - * fill-column: 78 - * End: - */ diff --git a/tiff/contrib/stream/tiffstream.h b/tiff/contrib/stream/tiffstream.h deleted file mode 100644 index 815a1a5..0000000 --- a/tiff/contrib/stream/tiffstream.h +++ /dev/null @@ -1,69 +0,0 @@ -// tiff stream interface class definition - -#ifndef _TIFF_STREAM_H_ -#define _TIFF_STREAM_H_ - -#include <iostream.h> - -#include "tiffio.h" - -class TiffStream { - -public: - // ctor/dtor - TiffStream(); - ~TiffStream(); - -public: - enum SeekDir { - beg, - cur, - end, - }; - -public: - // factory methods - TIFF* makeFileStream(iostream* str); - TIFF* makeFileStream(istream* str); - TIFF* makeFileStream(ostream* str); - -public: - // tiff client methods - static tsize_t read(thandle_t fd, tdata_t buf, tsize_t size); - static tsize_t write(thandle_t fd, tdata_t buf, tsize_t size); - static toff_t seek(thandle_t fd, toff_t offset, int origin); - static toff_t size(thandle_t fd); - static int close(thandle_t fd); - static int map(thandle_t fd, tdata_t* phase, toff_t* psize); - static void unmap(thandle_t fd, tdata_t base, tsize_t size); - -public: - // query method - TIFF* getTiffHandle() const { return m_tif; } - unsigned int getStreamLength() { return m_streamLength; } - -private: - // internal methods - unsigned int getSize(thandle_t fd); - unsigned int tell(thandle_t fd); - bool seekInt(thandle_t fd, unsigned int offset, int origin); - bool isOpen(thandle_t fd); - -private: - thandle_t m_this; - TIFF* m_tif; - static const char* m_name; - istream* m_inStream; - ostream* m_outStream; - iostream* m_ioStream; - int m_streamLength; - -}; - -#endif // _TIFF_STREAM_H_/* - * Local Variables: - * mode: c++ - * c-basic-offset: 8 - * fill-column: 78 - * End: - */ |