Update ooo320-m1
[ooovba.git] / binfilter / inc / bf_svx / itemdata.hxx
blob80190b350bb08cdc1ceac202cec8b07c6fee27ec
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: itemdata.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _SVX_ITEMDATA_HXX
31 #define _SVX_ITEMDATA_HXX
33 #ifndef _SHL_HXX //autogen
34 #include <tools/shl.hxx>
35 #endif
36 #ifndef _PSTM_HXX //autogen
37 #include <tools/pstm.hxx>
38 #endif
39 namespace binfilter {
41 class SvxGlobalItemData
43 private:
44 SvClassManager* pClassMgr;
46 public:
47 SvxGlobalItemData();
48 ~SvxGlobalItemData() { delete pClassMgr; }
50 SvClassManager& GetClassManager();
53 #define ITEMDATA() (*(SvxGlobalItemData**)GetAppData( BF_SHL_ITEM ) )
55 inline SvxGlobalItemData::SvxGlobalItemData()
57 pClassMgr = 0;
58 *(SvxGlobalItemData**)GetAppData(BF_SHL_ITEM) = this;
61 inline SvClassManager& SvxGlobalItemData::GetClassManager()
63 if ( !pClassMgr )
64 pClassMgr = new SvClassManager;
65 return *pClassMgr;
68 }//end of namespace binfilter
69 #endif