1*9ee13d13SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*9ee13d13SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*9ee13d13SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*9ee13d13SAndrew Rist * distributed with this work for additional information 6*9ee13d13SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*9ee13d13SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*9ee13d13SAndrew Rist * "License"); you may not use this file except in compliance 9*9ee13d13SAndrew Rist * with the License. You may obtain a copy of the License at 10*9ee13d13SAndrew Rist * 11*9ee13d13SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*9ee13d13SAndrew Rist * 13*9ee13d13SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*9ee13d13SAndrew Rist * software distributed under the License is distributed on an 15*9ee13d13SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*9ee13d13SAndrew Rist * KIND, either express or implied. See the License for the 17*9ee13d13SAndrew Rist * specific language governing permissions and limitations 18*9ee13d13SAndrew Rist * under the License. 19*9ee13d13SAndrew Rist * 20*9ee13d13SAndrew Rist *************************************************************/ 21*9ee13d13SAndrew Rist 22*9ee13d13SAndrew Rist 23cdf0e10cSrcweir #ifndef INCLUDED_REPORT_VISTITOR_HXX 24cdf0e10cSrcweir #define INCLUDED_REPORT_VISTITOR_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include "dllapi.h" 27cdf0e10cSrcweir #include <com/sun/star/report/XReportDefinition.hpp> 28cdf0e10cSrcweir 29cdf0e10cSrcweir 30cdf0e10cSrcweir namespace reportdesign 31cdf0e10cSrcweir { 32cdf0e10cSrcweir class SAL_NO_VTABLE ITraverseReport 33cdf0e10cSrcweir { 34cdf0e10cSrcweir public: 35cdf0e10cSrcweir virtual void traverseReport(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xReport) = 0; 36cdf0e10cSrcweir virtual void traverseReportFunctions(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctions>& _xFunctions) = 0; 37cdf0e10cSrcweir virtual void traverseReportHeader(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; 38cdf0e10cSrcweir virtual void traverseReportFooter(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; 39cdf0e10cSrcweir virtual void traversePageHeader(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; 40cdf0e10cSrcweir virtual void traversePageFooter(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; 41cdf0e10cSrcweir 42cdf0e10cSrcweir virtual void traverseGroups(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroups>& _xGroups) = 0; 43cdf0e10cSrcweir virtual void traverseGroup(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup>& _xGroup) = 0; 44cdf0e10cSrcweir virtual void traverseGroupFunctions(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctions>& _xFunctions) = 0; 45cdf0e10cSrcweir virtual void traverseGroupHeader(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; 46cdf0e10cSrcweir virtual void traverseGroupFooter(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; 47cdf0e10cSrcweir 48cdf0e10cSrcweir virtual void traverseDetail(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; 49cdf0e10cSrcweir }; 50cdf0e10cSrcweir 51cdf0e10cSrcweir class REPORTDESIGN_DLLPUBLIC OReportVisitor 52cdf0e10cSrcweir { 53cdf0e10cSrcweir ITraverseReport* m_pTraverseReport; 54cdf0e10cSrcweir public: 55cdf0e10cSrcweir OReportVisitor(ITraverseReport* _pTraverseReport); 56cdf0e10cSrcweir void start(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xReportDefinition); 57cdf0e10cSrcweir void start(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup>& _xGroup); 58cdf0e10cSrcweir }; 59cdf0e10cSrcweir // ============================================================================= 60cdf0e10cSrcweir } // namespace reportdesign 61cdf0e10cSrcweir // ============================================================================= 62cdf0e10cSrcweir #endif // INCLUDED_REPORT_VISTITOR_HXX 63cdf0e10cSrcweir 64