1 /************************************************************************* 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * 4 * Copyright 2000, 2010 Oracle and/or its affiliates. 5 * 6 * OpenOffice.org - a multi-platform office productivity suite 7 * 8 * This file is part of OpenOffice.org. 9 * 10 * OpenOffice.org is free software: you can redistribute it and/or modify 11 * it under the terms of the GNU Lesser General Public License version 3 12 * only, as published by the Free Software Foundation. 13 * 14 * OpenOffice.org is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU Lesser General Public License version 3 for more details 18 * (a copy is included in the LICENSE file that accompanied this code). 19 * 20 * You should have received a copy of the GNU Lesser General Public License 21 * version 3 along with OpenOffice.org. If not, see 22 * <http://www.openoffice.org/license.html> 23 * for a copy of the LGPLv3 License. 24 * 25 ************************************************************************/ 26 27 #ifndef FORMS_RESETTABLE_HXX 28 #define FORMS_RESETTABLE_HXX 29 30 /** === begin UNO includes === **/ 31 #include <com/sun/star/form/XResetListener.hpp> 32 /** === end UNO includes === **/ 33 34 #include <cppuhelper/interfacecontainer.hxx> 35 36 namespace cppu 37 { 38 class OWeakObject; 39 } 40 41 //........................................................................ 42 namespace frm 43 { 44 //........................................................................ 45 46 //==================================================================== 47 //= ResetHelper 48 //==================================================================== 49 class ResetHelper 50 { 51 public: 52 ResetHelper( ::cppu::OWeakObject& _parent, ::osl::Mutex& _mutex ) 53 :m_rParent( _parent ) 54 ,m_aResetListeners( _mutex ) 55 { 56 } 57 58 // XReset equivalents 59 void addResetListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XResetListener >& _listener ); 60 void removeResetListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XResetListener >& _listener ); 61 62 // calling listeners 63 bool approveReset(); 64 void notifyResetted(); 65 void disposing(); 66 67 private: 68 ::cppu::OWeakObject& m_rParent; 69 ::cppu::OInterfaceContainerHelper m_aResetListeners; 70 }; 71 72 //........................................................................ 73 } // namespace frm 74 //........................................................................ 75 76 #endif // FORMS_RESETTABLE_HXX 77