Update ooo320-m1
[ooovba.git] / autodoc / source / parser / adoc / a_rdocu.cxx
bloba24c58baeac133cab90ee622edef36195cc2c616
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: a_rdocu.cxx,v $
10 * $Revision: 1.6 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #include <precomp.h>
32 #include <adoc/a_rdocu.hxx>
35 // NOT FULLY DECLARED SERVICES
36 #include <adoc/docu_pe.hxx>
37 #include <adoc/adoc_tok.hxx>
38 #include <ary/doc/d_oldcppdocu.hxx>
39 #include <doc_deal.hxx>
43 namespace adoc
47 DocuExplorer::DocuExplorer()
48 : pDocuDistributor(0),
49 pPE(new Adoc_PE),
50 bIsPassedFirstDocu(false)
54 DocuExplorer::~DocuExplorer()
58 void
59 DocuExplorer::StartNewFile( DocuDealer & o_rDocuDistributor )
61 pDocuDistributor = &o_rDocuDistributor;
62 bIsPassedFirstDocu = false;
66 void
67 DocuExplorer::Process_Token( DYN adoc::Token & let_drToken )
69 csv_assert(pDocuDistributor != 0);
71 let_drToken.Trigger(*pPE);
72 if ( pPE->IsComplete() )
74 ary::doc::OldCppDocu *
75 pDocu = pPE->ReleaseJustParsedDocu();
76 if ( pDocu != 0 )
78 if (bIsPassedFirstDocu)
79 pDocuDistributor->TakeDocu( *pDocu );
80 else
82 delete pDocu;
83 bIsPassedFirstDocu = true;
88 delete &let_drToken;
92 } // namespace adoc