Merge with MPC-HC 6d1472b2f18266d92e5bc068667de348c0cd3b3b.
[xy_vsfilter.git] / src / subtitles / libssf / File.h
blob9a4ad3d918ceb6235733d05affef42d287af21a3
1 /*
2 * Copyright (C) 2003-2006 Gabest
3 * http://www.gabest.org
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
9 *
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with GNU Make; see the file COPYING. If not, write to
17 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
18 * http://www.gnu.org/copyleft/gpl.html
22 #pragma once
24 #include "Stream.h"
25 #include "NodeFactory.h"
27 namespace ssf
29 class File : public NodeFactory
31 public:
32 File();
33 virtual ~File();
35 void Parse(InputStream& s, LPCWSTR predef = NULL);
37 void ParseDefs(InputStream& s, Reference* pParentRef);
38 void ParseTypes(InputStream& s, CAtlList<CStringW>& types);
39 void ParseName(InputStream& s, CStringW& name);
40 void ParseQuotedString(InputStream& s, Definition* pDef);
41 void ParseNumber(InputStream& s, Definition* pDef);
42 void ParseBlock(InputStream& s, Definition* pDef);
43 void ParseRefs(InputStream& s, Definition* pParentDef, LPCWSTR term = L";}]");