xref: /AOO41X/main/embeddedobj/source/inc/dummyobject.hxx (revision 08421ca6693c7ac7e4bba1e7a4157ea1594eb73d)
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 
24 #ifndef _INC_DUMMYOBJECT_HXX_
25 #define _INC_DUMMYOBJECT_HXX_
26 
27 #include <com/sun/star/uno/Sequence.hxx>
28 #include <com/sun/star/uno/Reference.hxx>
29 #include <com/sun/star/uno/Any.hxx>
30 #include <com/sun/star/embed/XEmbeddedObject.hpp>
31 #include <com/sun/star/embed/XEmbedPersist.hpp>
32 #include <cppuhelper/implbase2.hxx>
33 
34 namespace com { namespace sun { namespace star {
35     namespace embed {
36         class XStorage;
37     }
38     namespace frame {
39         class XModel;
40         class XFrame;
41     }
42     namespace lang {
43         class XMultiServiceFactory;
44     }
45     namespace util {
46         class XCloseListener;
47     }
48     namespace beans {
49         struct PropertyValue;
50         struct NamedValue;
51     }
52 }}}
53 
54 namespace cppu {
55     class OMultiTypeInterfaceContainerHelper;
56 }
57 
58 class ODummyEmbeddedObject : public ::cppu::WeakImplHelper2
59                         < ::com::sun::star::embed::XEmbeddedObject
60                         , ::com::sun::star::embed::XEmbedPersist >
61 {
62     ::osl::Mutex    m_aMutex;
63     ::cppu::OMultiTypeInterfaceContainerHelper* m_pInterfaceContainer;
64     sal_Bool m_bDisposed;
65 
66     ::rtl::OUString m_aEntryName;
67     ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xParentStorage;
68     sal_Int32 m_nObjectState;
69 
70     ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > m_xClientSite;
71 
72     sal_Int64 m_nCachedAspect;
73     ::com::sun::star::awt::Size m_aCachedSize;
74     sal_Bool m_bHasCachedSize;
75 
76     // following information will be used between SaveAs and SaveCompleted
77     sal_Bool m_bWaitSaveCompleted;
78     ::rtl::OUString m_aNewEntryName;
79     ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xNewParentStorage;
80 
81 protected:
82     void CheckInit();
83     void PostEvent_Impl( const ::rtl::OUString& aEventName,
84                         const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xSource );
85 
86 public:
87 
ODummyEmbeddedObject()88     ODummyEmbeddedObject()
89     : m_pInterfaceContainer( NULL )
90     , m_bDisposed( sal_False )
91     , m_nObjectState( -1 )
92     , m_nCachedAspect( 0 )
93     , m_bHasCachedSize( sal_False )
94     , m_bWaitSaveCompleted( sal_False )
95     {}
96 
97     ~ODummyEmbeddedObject();
98 
99 // XEmbeddedObject
100 
101     virtual void SAL_CALL changeState( sal_Int32 nNewState )
102         throw ( ::com::sun::star::embed::UnreachableStateException,
103                 ::com::sun::star::embed::WrongStateException,
104                 ::com::sun::star::uno::Exception,
105                 ::com::sun::star::uno::RuntimeException );
106 
107     virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getReachableStates()
108         throw ( ::com::sun::star::embed::WrongStateException,
109                 ::com::sun::star::uno::RuntimeException );
110 
111     virtual sal_Int32 SAL_CALL getCurrentState()
112         throw ( ::com::sun::star::embed::WrongStateException,
113                 ::com::sun::star::uno::RuntimeException );
114 
115     virtual void SAL_CALL doVerb( sal_Int32 nVerbID )
116         throw ( ::com::sun::star::lang::IllegalArgumentException,
117                 ::com::sun::star::embed::WrongStateException,
118                 ::com::sun::star::embed::UnreachableStateException,
119                 ::com::sun::star::uno::Exception,
120                 ::com::sun::star::uno::RuntimeException );
121 
122     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::embed::VerbDescriptor > SAL_CALL getSupportedVerbs()
123         throw ( ::com::sun::star::embed::WrongStateException,
124                 ::com::sun::star::uno::RuntimeException );
125 
126     virtual void SAL_CALL setClientSite(
127                 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient >& xClient )
128         throw ( ::com::sun::star::embed::WrongStateException,
129                 ::com::sun::star::uno::RuntimeException );
130 
131     virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > SAL_CALL getClientSite()
132         throw ( ::com::sun::star::embed::WrongStateException,
133                 ::com::sun::star::uno::RuntimeException );
134 
135     virtual void SAL_CALL update()
136         throw ( ::com::sun::star::embed::WrongStateException,
137                 ::com::sun::star::uno::Exception,
138                 ::com::sun::star::uno::RuntimeException );
139 
140     virtual void SAL_CALL setUpdateMode( sal_Int32 nMode )
141         throw ( ::com::sun::star::embed::WrongStateException,
142                 ::com::sun::star::uno::RuntimeException );
143 
144     virtual sal_Int64 SAL_CALL getStatus( sal_Int64 nAspect )
145         throw ( ::com::sun::star::embed::WrongStateException,
146                 ::com::sun::star::uno::RuntimeException );
147 
148     virtual void SAL_CALL setContainerName( const ::rtl::OUString& sName )
149         throw ( ::com::sun::star::uno::RuntimeException );
150 
151 
152 // XVisualObject
153 
154     virtual void SAL_CALL setVisualAreaSize( sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize )
155         throw ( ::com::sun::star::lang::IllegalArgumentException,
156                 ::com::sun::star::embed::WrongStateException,
157                 ::com::sun::star::uno::Exception,
158                 ::com::sun::star::uno::RuntimeException );
159 
160     virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( sal_Int64 nAspect )
161         throw ( ::com::sun::star::lang::IllegalArgumentException,
162                 ::com::sun::star::embed::WrongStateException,
163                 ::com::sun::star::uno::Exception,
164                 ::com::sun::star::uno::RuntimeException );
165 
166     virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect )
167         throw ( ::com::sun::star::lang::IllegalArgumentException,
168                 ::com::sun::star::embed::WrongStateException,
169                 ::com::sun::star::uno::Exception,
170                 ::com::sun::star::uno::RuntimeException );
171 
172     virtual sal_Int32 SAL_CALL getMapUnit( sal_Int64 nAspect )
173         throw ( ::com::sun::star::uno::Exception,
174                 ::com::sun::star::uno::RuntimeException);
175 
176 // XEmbedPersist
177 
178     virtual void SAL_CALL setPersistentEntry(
179                     const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
180                     const ::rtl::OUString& sEntName,
181                     sal_Int32 nEntryConnectionMode,
182                     const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments,
183                     const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs )
184         throw ( ::com::sun::star::lang::IllegalArgumentException,
185                 ::com::sun::star::embed::WrongStateException,
186                 ::com::sun::star::io::IOException,
187                 ::com::sun::star::uno::Exception,
188                 ::com::sun::star::uno::RuntimeException );
189 
190     virtual void SAL_CALL storeToEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::rtl::OUString& sEntName, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs )
191         throw ( ::com::sun::star::lang::IllegalArgumentException,
192                 ::com::sun::star::embed::WrongStateException,
193                 ::com::sun::star::io::IOException,
194                 ::com::sun::star::uno::Exception,
195                 ::com::sun::star::uno::RuntimeException );
196 
197     virtual void SAL_CALL storeAsEntry(
198                 const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
199                 const ::rtl::OUString& sEntName,
200                 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments,
201                 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs )
202         throw ( ::com::sun::star::lang::IllegalArgumentException,
203                 ::com::sun::star::embed::WrongStateException,
204                 ::com::sun::star::io::IOException,
205                 ::com::sun::star::uno::Exception,
206                 ::com::sun::star::uno::RuntimeException );
207 
208     virtual void SAL_CALL saveCompleted( sal_Bool bUseNew )
209         throw ( ::com::sun::star::embed::WrongStateException,
210                 ::com::sun::star::uno::Exception,
211                 ::com::sun::star::uno::RuntimeException );
212 
213     virtual sal_Bool SAL_CALL hasEntry()
214         throw ( ::com::sun::star::embed::WrongStateException,
215                 ::com::sun::star::uno::RuntimeException );
216 
217     virtual ::rtl::OUString SAL_CALL getEntryName()
218         throw ( ::com::sun::star::embed::WrongStateException,
219                 ::com::sun::star::uno::RuntimeException );
220 
221 
222 // XCommonEmbedPersist
223 
224     virtual void SAL_CALL storeOwn()
225         throw ( ::com::sun::star::embed::WrongStateException,
226                 ::com::sun::star::io::IOException,
227                 ::com::sun::star::uno::Exception,
228                 ::com::sun::star::uno::RuntimeException );
229 
230     virtual sal_Bool SAL_CALL isReadonly()
231         throw ( ::com::sun::star::embed::WrongStateException,
232                 ::com::sun::star::uno::RuntimeException );
233 
234     virtual void SAL_CALL reload(
235                 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments,
236                 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs )
237         throw ( ::com::sun::star::lang::IllegalArgumentException,
238                 ::com::sun::star::embed::WrongStateException,
239                 ::com::sun::star::io::IOException,
240                 ::com::sun::star::uno::Exception,
241                 ::com::sun::star::uno::RuntimeException );
242 
243 
244 // XClassifiedObject
245 
246     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getClassID()
247         throw ( ::com::sun::star::uno::RuntimeException );
248 
249     virtual ::rtl::OUString SAL_CALL getClassName()
250         throw ( ::com::sun::star::uno::RuntimeException );
251 
252     virtual void SAL_CALL setClassInfo(
253                 const ::com::sun::star::uno::Sequence< sal_Int8 >& aClassID, const ::rtl::OUString& aClassName )
254         throw ( ::com::sun::star::lang::NoSupportException,
255                 ::com::sun::star::uno::RuntimeException );
256 
257 
258 // XComponentSupplier
259 
260     virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > SAL_CALL getComponent()
261         throw ( ::com::sun::star::uno::RuntimeException );
262 
263 // XStateChangeBroadcaster
264     virtual void SAL_CALL addStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
265     virtual void SAL_CALL removeStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
266 
267 // XCloseable
268 
269     virtual void SAL_CALL close( sal_Bool DeliverOwnership )
270         throw ( ::com::sun::star::util::CloseVetoException,
271                 ::com::sun::star::uno::RuntimeException );
272 
273     virtual void SAL_CALL addCloseListener(
274                 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener )
275         throw ( ::com::sun::star::uno::RuntimeException );
276 
277     virtual void SAL_CALL removeCloseListener(
278                 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener )
279         throw ( ::com::sun::star::uno::RuntimeException );
280 
281 // XEventBroadcaster
282     virtual void SAL_CALL addEventListener(
283                 const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener )
284         throw ( ::com::sun::star::uno::RuntimeException );
285 
286     virtual void SAL_CALL removeEventListener(
287                 const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener )
288         throw ( ::com::sun::star::uno::RuntimeException );
289 
290 };
291 
292 #endif
293 
294