xref: /trunk/main/package/inc/ZipPackageEntry.hxx (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
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 _ZIP_PACKAGE_ENTRY_HXX
28 #define _ZIP_PACKAGE_ENTRY_HXX
29 
30 #include <com/sun/star/container/XChild.hpp>
31 #include <com/sun/star/container/XNamed.hpp>
32 #include <com/sun/star/beans/XPropertySet.hpp>
33 #include <com/sun/star/lang/XUnoTunnel.hpp>
34 #include <com/sun/star/container/XNameContainer.hpp>
35 #ifndef _COM_SUN_STAR_LANG_XPSERVICEINFO_HPP_
36 #include <com/sun/star/lang/XServiceInfo.hpp>
37 #endif
38 #include <ZipEntry.hxx>
39 #include <cppuhelper/implbase5.hxx>
40 
41 class ZipPackageFolder;
42 
43 class ZipPackageEntry : public cppu::WeakImplHelper5
44 <
45     com::sun::star::container::XNamed,
46     com::sun::star::container::XChild,
47     com::sun::star::lang::XUnoTunnel,
48     com::sun::star::beans::XPropertySet,
49     com::sun::star::lang::XServiceInfo
50 >
51 {
52 protected:
53     ::rtl::OUString msName;
54     bool mbIsFolder:1;
55     bool mbAllowRemoveOnInsert:1;
56     // com::sun::star::uno::Reference < com::sun::star::container::XNameContainer > xParent;
57     ::rtl::OUString     sMediaType;
58     ZipPackageFolder * pParent;
59 public:
60     ZipEntry aEntry;
61     ZipPackageEntry ( bool bNewFolder = sal_False );
62     virtual ~ZipPackageEntry( void );
63 
64     ::rtl::OUString & GetMediaType () { return sMediaType; }
65     void SetMediaType ( const ::rtl::OUString & sNewType) { sMediaType = sNewType; }
66     void doSetParent ( ZipPackageFolder * pNewParent, sal_Bool bInsert );
67     bool IsFolder ( ) { return mbIsFolder; }
68     ZipPackageFolder* GetParent ( ) { return pParent; }
69     void SetFolder ( bool bSetFolder ) { mbIsFolder = bSetFolder; }
70 
71     void clearParent ( void )
72     {
73         // xParent.clear();
74         pParent = NULL;
75     }
76     // XNamed
77     virtual ::rtl::OUString SAL_CALL getName(  )
78         throw(::com::sun::star::uno::RuntimeException);
79     virtual void SAL_CALL setName( const ::rtl::OUString& aName )
80         throw(::com::sun::star::uno::RuntimeException);
81     // XChild
82     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent(  )
83         throw(::com::sun::star::uno::RuntimeException);
84     virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent )
85         throw(::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException);
86     // XUnoTunnel
87     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
88         throw(::com::sun::star::uno::RuntimeException) = 0;
89     // XPropertySet
90     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  )
91         throw(::com::sun::star::uno::RuntimeException);
92     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue )
93         throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) = 0;
94     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName )
95         throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) = 0;
96     virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener )
97         throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
98     virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener )
99         throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
100     virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
101         throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
102     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
103         throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
104 };
105 #endif
106