00001 /**************************************************************************** 00002 ** libebml : parse EBML files, see http://embl.sourceforge.net/ 00003 ** 00004 ** <file/class description> 00005 ** 00006 ** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved. 00007 ** 00008 ** This file is part of libebml. 00009 ** 00010 ** This library is free software; you can redistribute it and/or 00011 ** modify it under the terms of the GNU Lesser General Public 00012 ** License as published by the Free Software Foundation; either 00013 ** version 2.1 of the License, or (at your option) any later version. 00014 ** 00015 ** This library is distributed in the hope that it will be useful, 00016 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 ** Lesser General Public License for more details. 00019 ** 00020 ** You should have received a copy of the GNU Lesser General Public 00021 ** License along with this library; if not, write to the Free Software 00022 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00023 ** 00024 ** See http://www.matroska.org/license/lgpl/ for LGPL licensing information. 00025 ** 00026 ** Contact license@matroska.org if any conditions of this licensing are 00027 ** not clear to you. 00028 ** 00029 **********************************************************************/ 00030 00036 #ifndef LIBEBML_DUMMY_H 00037 #define LIBEBML_DUMMY_H 00038 00039 #include "EbmlBinary.h" 00040 00041 START_LIBEBML_NAMESPACE 00042 00043 class EBML_DLL_API EbmlDummy : public EbmlBinary { 00044 public: 00045 EbmlDummy() :DummyId(DummyRawId) {} 00046 EbmlDummy(const EbmlId & aId) :EbmlBinary(), DummyId(aId) {} 00047 EbmlDummy(const EbmlDummy & ElementToClone):EbmlBinary(ElementToClone), DummyId(ElementToClone.DummyId) {} 00048 00049 bool IsDummy() const {return true;} 00050 bool IsDefaultValue() const {return true;} 00051 00052 virtual operator const EbmlId &() const { 00053 return DummyId; 00054 } 00055 00056 #if defined(EBML_STRICT_API) 00057 private: 00058 #else 00059 protected: 00060 #endif 00061 const EbmlId DummyId; 00062 static const EbmlId DummyRawId; 00063 00064 EBML_CONCRETE_DUMMY_CLASS(EbmlDummy) 00065 }; 00066 00067 END_LIBEBML_NAMESPACE 00068 00069 #endif // LIBEBML_DUMMY_H