orfcontainer.cpp

00001 /*
00002  * libopenraw - orfcontainer.cpp
00003  *
00004  * Copyright (C) 2006 Hubert Figuiere
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 
00022 #include "debug.h"
00023 #include "orfcontainer.h"
00024 
00025 
00026 using namespace Debug;
00027 
00028 namespace OpenRaw {
00029 
00030     namespace Internals {
00031 
00032 
00033         ORFContainer::ORFContainer(IO::Stream *file, off_t offset)
00034             : IFDFileContainer(file, offset)
00035         {
00036         }
00037 
00038 
00039         ORFContainer::~ORFContainer()
00040         {
00041         }
00042 
00043 
00044         IFDFileContainer::EndianType 
00045         ORFContainer::isMagicHeader(const char *p, int len)
00046         {
00047             if (len < 4){
00048                 // we need at least 4 bytes to check
00049                 return ENDIAN_NULL;
00050             }
00051             if ((p[0] == 0x49) && (p[1] == 0x49)
00052                     && (p[2] == 0x52) && (p[3] == 0x4f)) {
00053 
00054                 Trace(DEBUG1) << "Identified ORF file\n";
00055 
00056                 return ENDIAN_LITTLE;
00057             }
00058 
00059             Trace(DEBUG1) << "Unidentified ORF file\n";
00060 
00061             return ENDIAN_NULL;
00062         }
00063 
00064     }
00065 }
00066 

Generated on Sat Jan 27 11:36:13 2007 for libopenraw by  doxygen 1.4.7