1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23 #ifndef _SVX_FMITEMS_HXX
24 #define _SVX_FMITEMS_HXX
25
26
27 #include <svl/poolitem.hxx>
28 #include <comphelper/uno3.hxx>
29 // FORWARD_DECLARE_INTERFACE(awt,XControlContainer)
30 FORWARD_DECLARE_INTERFACE(uno,Any)
31 // class ::com::sun::star::uno::Any;
32
33 //==================================================================
34 class FmInterfaceItem : public SfxPoolItem
35 {
36 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xInterface;
37
38 public:
39 TYPEINFO();
40
FmInterfaceItem(const sal_uInt16 nId,const::com::sun::star::uno::Reference<::com::sun::star::uno::XInterface> & rxInterface)41 FmInterfaceItem( const sal_uInt16 nId, const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxInterface )
42 :SfxPoolItem( nId )
43 ,xInterface( rxInterface )
44 {}
45
46 inline FmInterfaceItem& operator=( const FmInterfaceItem &rCpy );
47
48 // "pure virtual Methoden" vom SfxPoolItem
49 virtual int operator==( const SfxPoolItem& ) const;
50
51 virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
52 virtual SfxPoolItem* Create(SvStream &, sal_uInt16) const;
53 virtual SvStream& Store(SvStream &, sal_uInt16 nItemVersion ) const;
54
GetInterface() const55 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > GetInterface() const { return xInterface; }
56 };
57
operator =(const FmInterfaceItem & rCpy)58 inline FmInterfaceItem& FmInterfaceItem::operator=( const FmInterfaceItem &rCpy )
59 {
60 xInterface = rCpy.xInterface;
61
62 return *this;
63 }
64
65
66
67 #endif // _SVX_FMITEMS_HXX
68
69