xref: /aoo41x/main/sw/inc/swwait.hxx (revision 8ef2f12b)
11d2dbeb0SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
31d2dbeb0SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
41d2dbeb0SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
51d2dbeb0SAndrew Rist  * distributed with this work for additional information
61d2dbeb0SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
71d2dbeb0SAndrew Rist  * to you under the Apache License, Version 2.0 (the
81d2dbeb0SAndrew Rist  * "License"); you may not use this file except in compliance
91d2dbeb0SAndrew Rist  * with the License.  You may obtain a copy of the License at
101d2dbeb0SAndrew Rist  *
111d2dbeb0SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
121d2dbeb0SAndrew Rist  *
131d2dbeb0SAndrew Rist  * Unless required by applicable law or agreed to in writing,
141d2dbeb0SAndrew Rist  * software distributed under the License is distributed on an
151d2dbeb0SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
161d2dbeb0SAndrew Rist  * KIND, either express or implied.  See the License for the
171d2dbeb0SAndrew Rist  * specific language governing permissions and limitations
181d2dbeb0SAndrew Rist  * under the License.
191d2dbeb0SAndrew Rist  *
201d2dbeb0SAndrew Rist  *************************************************************/
211d2dbeb0SAndrew Rist 
221d2dbeb0SAndrew Rist 
23cdf0e10cSrcweir #ifndef _SWWAIT_HXX
24cdf0e10cSrcweir #define _SWWAIT_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include <tools/solar.h>
27cdf0e10cSrcweir #include "swdllapi.h"
28cdf0e10cSrcweir 
29*8ef2f12bSOliver-Rainer Wittmann #include <hash_set>
30*8ef2f12bSOliver-Rainer Wittmann 
31cdf0e10cSrcweir class SwDocShell;
32*8ef2f12bSOliver-Rainer Wittmann class SfxDispatcher;
33cdf0e10cSrcweir 
34cdf0e10cSrcweir class SW_DLLPUBLIC SwWait
35cdf0e10cSrcweir {
36cdf0e10cSrcweir public:
37*8ef2f12bSOliver-Rainer Wittmann     // Activate wait cursor for all windows of given document <rDocShell>
38*8ef2f12bSOliver-Rainer Wittmann     // Optional all dispatcher could be Locked
39*8ef2f12bSOliver-Rainer Wittmann     SwWait(
40*8ef2f12bSOliver-Rainer Wittmann         SwDocShell &rDocShell,
41*8ef2f12bSOliver-Rainer Wittmann         const bool bLockUnlockDispatcher );
42cdf0e10cSrcweir 	~SwWait();
43*8ef2f12bSOliver-Rainer Wittmann 
44*8ef2f12bSOliver-Rainer Wittmann private:
45*8ef2f12bSOliver-Rainer Wittmann     void EnterWaitAndLockDispatcher();
46*8ef2f12bSOliver-Rainer Wittmann     void LeaveWaitAndUnlockDispatcher();
47*8ef2f12bSOliver-Rainer Wittmann 
48*8ef2f12bSOliver-Rainer Wittmann     SwDocShell& mrDoc;
49*8ef2f12bSOliver-Rainer Wittmann     const bool mbLockUnlockDispatcher;
50*8ef2f12bSOliver-Rainer Wittmann     std::unordered_set< SfxDispatcher* > mpLockedDispatchers;
51cdf0e10cSrcweir };
52cdf0e10cSrcweir 
53cdf0e10cSrcweir #endif
54