1 /****************************************************************************
2 ** libebml : parse EBML files, see http://embl.sourceforge.net/
4 ** <file/class description>
6 ** Copyright (C) 2002-2004 Steve Lhomme. All rights reserved.
8 ** This file is part of libebml.
10 ** This library is free software; you can redistribute it and/or
11 ** modify it under the terms of the GNU Lesser General Public
12 ** License as published by the Free Software Foundation; either
13 ** version 2.1 of the License, or (at your option) any later version.
15 ** This library is distributed in the hope that it will be useful,
16 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 ** Lesser General Public License for more details.
20 ** You should have received a copy of the GNU Lesser General Public
21 ** License along with this library; if not, write to the Free Software
22 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 ** See http://www.matroska.org/license/lgpl/ for LGPL licensing information.
26 ** Contact license@matroska.org if any conditions of this licensing are
29 **********************************************************************/
33 \version \$Id: EbmlSubHead.cpp 639 2004-07-09 20:59:14Z mosu $
34 \author Steve Lhomme <robux4 @ users.sf.net>
36 #include "ebml/EbmlSubHead.h"
37 #include "ebml/EbmlContexts.h"
39 START_LIBEBML_NAMESPACE
41 EbmlId
EVersion_TheId (0x4286, 2);
42 EbmlId
EReadVersion_TheId (0x42F7, 2);
43 EbmlId
EMaxIdLength_TheId (0x42F2, 2);
44 EbmlId
EMaxSizeLength_TheId (0x42F3, 2);
45 EbmlId
EDocType_TheId (0x4282, 2);
46 EbmlId
EDocTypeVersion_TheId (0x4287, 2);
47 EbmlId
EDocTypeReadVersion_TheId (0x4285, 2);
49 const EbmlCallbacks
EVersion::ClassInfos(EVersion::Create
, EVersion_TheId
, "EBMLVersion", EVersion_Context
);
50 const EbmlCallbacks
EReadVersion::ClassInfos(EReadVersion::Create
, EReadVersion_TheId
, "EBMLReadVersion", EReadVersion_Context
);
51 const EbmlCallbacks
EMaxIdLength::ClassInfos(EMaxIdLength::Create
, EMaxIdLength_TheId
, "EBMLMaxIdLength", EMaxIdLength_Context
);
52 const EbmlCallbacks
EMaxSizeLength::ClassInfos(EMaxSizeLength::Create
, EMaxSizeLength_TheId
, "EBMLMaxSizeLength", EMaxSizeLength_Context
);
53 const EbmlCallbacks
EDocType::ClassInfos(EDocType::Create
, EDocType_TheId
, "EBMLDocType", EDocType_Context
);
54 const EbmlCallbacks
EDocTypeVersion::ClassInfos(EDocTypeVersion::Create
, EDocTypeVersion_TheId
, "EBMLDocTypeVersion", EDocTypeVersion_Context
);
55 const EbmlCallbacks
EDocTypeReadVersion::ClassInfos(EDocTypeReadVersion::Create
, EDocTypeReadVersion_TheId
, "EBMLDocTypeReadVersion", EDocTypeReadVersion_Context
);
57 const EbmlSemanticContext EVersion_Context
= EbmlSemanticContext(0, NULL
, &EbmlHead_Context
, *GetEbmlGlobal_Context
, &EVersion::ClassInfos
);
58 const EbmlSemanticContext EReadVersion_Context
= EbmlSemanticContext(0, NULL
, &EbmlHead_Context
, *GetEbmlGlobal_Context
, &EReadVersion::ClassInfos
);
59 const EbmlSemanticContext EMaxIdLength_Context
= EbmlSemanticContext(0, NULL
, &EbmlHead_Context
, *GetEbmlGlobal_Context
, &EMaxIdLength::ClassInfos
);
60 const EbmlSemanticContext EMaxSizeLength_Context
= EbmlSemanticContext(0, NULL
, &EbmlHead_Context
, *GetEbmlGlobal_Context
, &EMaxSizeLength::ClassInfos
);
61 const EbmlSemanticContext EDocType_Context
= EbmlSemanticContext(0, NULL
, &EbmlHead_Context
, *GetEbmlGlobal_Context
, &EDocType::ClassInfos
);
62 const EbmlSemanticContext EDocTypeVersion_Context
= EbmlSemanticContext(0, NULL
, &EbmlHead_Context
, *GetEbmlGlobal_Context
, &EDocTypeVersion::ClassInfos
);
63 const EbmlSemanticContext EDocTypeReadVersion_Context
= EbmlSemanticContext(0, NULL
, &EbmlHead_Context
, *GetEbmlGlobal_Context
, &EDocTypeReadVersion::ClassInfos
);