| 1 | ///////////////////////////////////////////////////////////////////////////  |
| 2 | //  |
| 3 | // Copyright (c) 2011, Industrial Light & Magic, a division of Lucas  |
| 4 | // Digital Ltd. LLC  |
| 5 | //  |
| 6 | // All rights reserved.  |
| 7 | //  |
| 8 | // Redistribution and use in source and binary forms, with or without  |
| 9 | // modification, are permitted provided that the following conditions are  |
| 10 | // met:  |
| 11 | // * Redistributions of source code must retain the above copyright  |
| 12 | // notice, this list of conditions and the following disclaimer.  |
| 13 | // * Redistributions in binary form must reproduce the above  |
| 14 | // copyright notice, this list of conditions and the following disclaimer  |
| 15 | // in the documentation and/or other materials provided with the  |
| 16 | // distribution.  |
| 17 | // * Neither the name of Industrial Light & Magic nor the names of  |
| 18 | // its contributors may be used to endorse or promote products derived  |
| 19 | // from this software without specific prior written permission.  |
| 20 | //  |
| 21 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  |
| 22 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT  |
| 23 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR  |
| 24 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |
| 25 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  |
| 26 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  |
| 27 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  |
| 28 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  |
| 29 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  |
| 30 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE  |
| 31 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |
| 32 | //  |
| 33 | ///////////////////////////////////////////////////////////////////////////  |
| 34 |   |
| 35 | #ifndef IMFGENERICINPUTFILE_H_  |
| 36 | #define IMFGENERICINPUTFILE_H_  |
| 37 |   |
| 38 | #include "ImfIO.h"  |
| 39 | #include "ImfHeader.h"  |
| 40 | #include "ImfNamespace.h"  |
| 41 | #include "ImfExport.h"  |
| 42 |   |
| 43 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER  |
| 44 |   |
| 45 | class GenericInputFile  |
| 46 | {  |
| 47 | public:  |
| 48 | IMF_EXPORT  |
| 49 | virtual ~GenericInputFile();  |
| 50 |   |
| 51 | protected:  |
| 52 | IMF_EXPORT  |
| 53 | GenericInputFile();  |
| 54 | IMF_EXPORT  |
| 55 | void readMagicNumberAndVersionField(OPENEXR_IMF_INTERNAL_NAMESPACE::IStream& is, int& version);  |
| 56 | };  |
| 57 |   |
| 58 | OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT  |
| 59 |   |
| 60 |   |
| 61 | #endif /* IMFGENERICINPUTFILE_H_ */  |
| 62 | |