You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.0 KiB
78 lines
2.0 KiB
/*****************************************************************************/
|
|
// 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.h#1 $ */
|
|
/* $DateTime: 2012/05/30 13:28:51 $ */
|
|
/* $Change: 832332 $ */
|
|
/* $Author: tknoll $ */
|
|
|
|
/** \file
|
|
* Simple, portable, file read/write support.
|
|
*/
|
|
|
|
/*****************************************************************************/
|
|
|
|
#ifndef __dng_file_stream__
|
|
#define __dng_file_stream__
|
|
|
|
/*****************************************************************************/
|
|
|
|
#include "dng_stream.h"
|
|
|
|
/*****************************************************************************/
|
|
|
|
/// \brief A stream to/from a disk file. See dng_stream for read/write interface
|
|
|
|
class dng_file_stream: public dng_stream
|
|
{
|
|
|
|
private:
|
|
|
|
FILE *fFile;
|
|
|
|
public:
|
|
|
|
/// Open a stream on a file.
|
|
/// \param filename Pathname in platform synax.
|
|
/// \param output Set to true if writing, false otherwise.
|
|
/// \param bufferSize size of internal buffer to use. Defaults to 4k.
|
|
|
|
dng_file_stream (const char *filename,
|
|
bool output = false,
|
|
uint32 bufferSize = kDefaultBufferSize);
|
|
|
|
virtual ~dng_file_stream ();
|
|
|
|
protected:
|
|
|
|
virtual uint64 DoGetLength ();
|
|
|
|
virtual void DoRead (void *data,
|
|
uint32 count,
|
|
uint64 offset);
|
|
|
|
virtual void DoWrite (const void *data,
|
|
uint32 count,
|
|
uint64 offset);
|
|
|
|
private:
|
|
|
|
// Hidden copy constructor and assignment operator.
|
|
|
|
dng_file_stream (const dng_file_stream &stream);
|
|
|
|
dng_file_stream & operator= (const dng_file_stream &stream);
|
|
|
|
};
|
|
|
|
/*****************************************************************************/
|
|
|
|
#endif
|
|
|
|
/*****************************************************************************/
|