1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org 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 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef INCLUDED_SLIDESHOW_SLIDESHOWCONTEXT_HXX 29 #define INCLUDED_SLIDESHOW_SLIDESHOWCONTEXT_HXX 30 31 #include <com/sun/star/uno/Reference.hxx> 32 #include <boost/shared_ptr.hpp> 33 34 namespace com{ namespace sun{ namespace star{ namespace uno 35 { 36 class XComponentContext; 37 }}}} 38 39 40 namespace slideshow 41 { 42 namespace internal 43 { 44 class ShapeManager; 45 class EventQueue; 46 class ActivitiesQueue; 47 class UserEventQueue; 48 class EventMultiplexer; 49 class ScreenUpdater; 50 class UnoViewContainer; 51 class CursorManager; 52 class SubsettableShapeManager; 53 54 /** Common arguments for slideshow objects. 55 56 This struct combines a number of object references 57 ubiquituously needed throughout the slideshow. 58 */ 59 struct SlideShowContext 60 { 61 /** Common context for node creation 62 63 @param rShapeManager 64 ShapeManager, which handles all shapes 65 66 @param rEventQueue 67 Event queue, where time-based events are to be 68 scheduled. A node must not schedule events there 69 before it's not resolved. 70 71 @param rEventMultiplexer 72 Event multiplexer. Clients can register there for 73 about any event that happens in the slideshow 74 75 @param rScreenUpdater 76 Screen updater. Gets notified of necessary screen 77 updates. 78 79 @param rActivitiesQueue 80 Activities queue, where repeating activities are 81 to be scheduled. 82 83 @param rUserEventQueue 84 User event queue 85 86 @param rViewContainer 87 Holds all views added to slideshow 88 89 @param rComponentContext 90 To create UNO services from 91 */ 92 SlideShowContext( boost::shared_ptr<SubsettableShapeManager>& rSubsettableShapeManager, 93 EventQueue& rEventQueue, 94 EventMultiplexer& rEventMultiplexer, 95 ScreenUpdater& rScreenUpdater, 96 ActivitiesQueue& rActivitiesQueue, 97 UserEventQueue& rUserEventQueue, 98 CursorManager& rCursorManager, 99 const UnoViewContainer& rViewContainer, 100 const ::com::sun::star::uno::Reference< 101 ::com::sun::star::uno::XComponentContext>& rComponentContext ); 102 void dispose(); 103 104 boost::shared_ptr<SubsettableShapeManager>& mpSubsettableShapeManager; 105 EventQueue& mrEventQueue; 106 EventMultiplexer& mrEventMultiplexer; 107 ScreenUpdater& mrScreenUpdater; 108 ActivitiesQueue& mrActivitiesQueue; 109 UserEventQueue& mrUserEventQueue; 110 CursorManager& mrCursorManager; 111 const UnoViewContainer& mrViewContainer; 112 ::com::sun::star::uno::Reference< 113 ::com::sun::star::uno::XComponentContext> mxComponentContext; 114 }; 115 } 116 } 117 118 #endif /* INCLUDED_SLIDESHOW_SLIDESHOWCONTEXT_HXX */ 119