diff options
Diffstat (limited to 'source/dng_file_stream.cpp')
-rw-r--r-- | source/dng_file_stream.cpp | 270 |
1 files changed, 135 insertions, 135 deletions
diff --git a/source/dng_file_stream.cpp b/source/dng_file_stream.cpp index 4a8a79f..56682d8 100644 --- a/source/dng_file_stream.cpp +++ b/source/dng_file_stream.cpp @@ -1,135 +1,135 @@ -/*****************************************************************************/
-// Copyright 2006-2007 Adobe Systems Incorporated
-// All Rights Reserved.
-//
-// NOTICE: Adobe permits you to use, modify, and distribute this file in
-// accordance with the terms of the Adobe license agreement accompanying it.
-/*****************************************************************************/
-
-/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_file_stream.cpp#2 $ */
-/* $DateTime: 2012/06/01 07:28:57 $ */
-/* $Change: 832715 $ */
-/* $Author: tknoll $ */
-
-/*****************************************************************************/
-
-#include "dng_file_stream.h"
-
-#include "dng_exceptions.h"
-
-/*****************************************************************************/
-
-dng_file_stream::dng_file_stream (const char *filename,
- bool output,
- uint32 bufferSize)
-
- : dng_stream ((dng_abort_sniffer *) NULL,
- bufferSize,
- 0)
-
- , fFile (NULL)
-
- {
-
- fFile = fopen (filename, output ? "wb" : "rb");
-
- if (!fFile)
- {
-
- #if qDNGValidate
-
- ReportError ("Unable to open file",
- filename);
-
- ThrowSilentError ();
-
- #else
-
- ThrowOpenFile ();
-
- #endif
-
- }
-
- }
-
-/*****************************************************************************/
-
-dng_file_stream::~dng_file_stream ()
- {
-
- if (fFile)
- {
- fclose (fFile);
- fFile = NULL;
- }
-
- }
-
-/*****************************************************************************/
-
-uint64 dng_file_stream::DoGetLength ()
- {
-
- if (fseek (fFile, 0, SEEK_END) != 0)
- {
-
- ThrowReadFile ();
-
- }
-
- return (uint64) ftell (fFile);
-
- }
-
-/*****************************************************************************/
-
-void dng_file_stream::DoRead (void *data,
- uint32 count,
- uint64 offset)
- {
-
- if (fseek (fFile, (long) offset, SEEK_SET) != 0)
- {
-
- ThrowReadFile ();
-
- }
-
- uint32 bytesRead = (uint32) fread (data, 1, count, fFile);
-
- if (bytesRead != count)
- {
-
- ThrowReadFile ();
-
- }
-
- }
-
-/*****************************************************************************/
-
-void dng_file_stream::DoWrite (const void *data,
- uint32 count,
- uint64 offset)
- {
-
- if (fseek (fFile, (uint32) offset, SEEK_SET) != 0)
- {
-
- ThrowWriteFile ();
-
- }
-
- uint32 bytesWritten = (uint32) fwrite (data, 1, count, fFile);
-
- if (bytesWritten != count)
- {
-
- ThrowWriteFile ();
-
- }
-
- }
-
-/*****************************************************************************/
+/*****************************************************************************/ +// Copyright 2006-2007 Adobe Systems Incorporated +// All Rights Reserved. +// +// NOTICE: Adobe permits you to use, modify, and distribute this file in +// accordance with the terms of the Adobe license agreement accompanying it. +/*****************************************************************************/ + +/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_file_stream.cpp#2 $ */ +/* $DateTime: 2012/06/01 07:28:57 $ */ +/* $Change: 832715 $ */ +/* $Author: tknoll $ */ + +/*****************************************************************************/ + +#include "dng_file_stream.h" + +#include "dng_exceptions.h" + +/*****************************************************************************/ + +dng_file_stream::dng_file_stream (const char *filename, + bool output, + uint32 bufferSize) + + : dng_stream ((dng_abort_sniffer *) NULL, + bufferSize, + 0) + + , fFile (NULL) + + { + + fFile = fopen (filename, output ? "wb" : "rb"); + + if (!fFile) + { + + #if qDNGValidate + + ReportError ("Unable to open file", + filename); + + ThrowSilentError (); + + #else + + ThrowOpenFile (); + + #endif + + } + + } + +/*****************************************************************************/ + +dng_file_stream::~dng_file_stream () + { + + if (fFile) + { + fclose (fFile); + fFile = NULL; + } + + } + +/*****************************************************************************/ + +uint64 dng_file_stream::DoGetLength () + { + + if (fseek (fFile, 0, SEEK_END) != 0) + { + + ThrowReadFile (); + + } + + return (uint64) ftell (fFile); + + } + +/*****************************************************************************/ + +void dng_file_stream::DoRead (void *data, + uint32 count, + uint64 offset) + { + + if (fseek (fFile, (long) offset, SEEK_SET) != 0) + { + + ThrowReadFile (); + + } + + uint32 bytesRead = (uint32) fread (data, 1, count, fFile); + + if (bytesRead != count) + { + + ThrowReadFile (); + + } + + } + +/*****************************************************************************/ + +void dng_file_stream::DoWrite (const void *data, + uint32 count, + uint64 offset) + { + + if (fseek (fFile, (uint32) offset, SEEK_SET) != 0) + { + + ThrowWriteFile (); + + } + + uint32 bytesWritten = (uint32) fwrite (data, 1, count, fFile); + + if (bytesWritten != count) + { + + ThrowWriteFile (); + + } + + } + +/*****************************************************************************/ |