xref: /aoo41x/main/sfx2/source/inc/slotserv.hxx (revision cdf0e10c)
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 #ifndef _SFXSLOTSERV_HXX
28 #define _SFXSLOTSERV_HXX
29 
30 #include <tools/solar.h>
31 
32 class SfxSlot;
33 
34 class SfxSlotServer
35 {
36 private:
37 	const SfxSlot*		_pSlot;
38 	sal_uInt16				_nShellLevel;
39 
40 public:
41 						SfxSlotServer( const SfxSlot &rSlot, sal_uInt16 nShell );
42 						SfxSlotServer();
43 
44 	sal_uInt16				GetShellLevel() const;
45 	void				SetShellLevel(sal_uInt16 nLevel) { _nShellLevel = nLevel; }
46 	void				SetSlot(const SfxSlot* pSlot) {
47 							_pSlot = pSlot;
48 						}
49 	const SfxSlot*		GetSlot() const;
50 	void				Invalidate() { _pSlot = 0; }
51 };
52 
53 //--------------------------------------------------------------------
54 
55 inline SfxSlotServer::SfxSlotServer( const SfxSlot &rSlot, sal_uInt16 nShell ):
56 	_pSlot( &rSlot),
57 	_nShellLevel( nShell )
58 {
59 }
60 
61 //--------------------------------------------------------------------
62 
63 inline SfxSlotServer::SfxSlotServer():
64 	_pSlot(0),
65 	_nShellLevel(0)
66 {
67 }
68 
69 //--------------------------------------------------------------------
70 
71 inline sal_uInt16 SfxSlotServer::GetShellLevel() const
72 {
73 	return _nShellLevel;
74 }
75 
76 //--------------------------------------------------------------------
77 
78 inline const SfxSlot* SfxSlotServer::GetSlot() const
79 {
80 	return _pSlot;
81 }
82 
83 
84 #endif
85