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 SC_SERVOBJ_HXX 25 #define SC_SERVOBJ_HXX 26 27 #include <svl/lstner.hxx> 28 #include <svl/listener.hxx> 29 #include <sfx2/linksrc.hxx> 30 #include "global.hxx" 31 #include "address.hxx" 32 33 class ScDocShell; 34 class ScServerObject; 35 36 class ScServerObjectSvtListenerForwarder : public SvtListener 37 { 38 ScServerObject* pObj; 39 SfxBroadcaster aBroadcaster; 40 public: 41 ScServerObjectSvtListenerForwarder( ScServerObject* pObjP); 42 virtual ~ScServerObjectSvtListenerForwarder(); 43 virtual void Notify( SvtBroadcaster& rBC, const SfxHint& rHint); 44 }; 45 46 class ScServerObject : public ::sfx2::SvLinkSource, public SfxListener 47 { 48 private: 49 ScServerObjectSvtListenerForwarder aForwarder; 50 ScDocShell* pDocSh; 51 ScRange aRange; 52 String aItemStr; 53 sal_Bool bRefreshListener; 54 55 void Clear(); 56 57 public: 58 ScServerObject( ScDocShell* pShell, const String& rItem ); 59 virtual ~ScServerObject(); 60 61 virtual sal_Bool GetData( ::com::sun::star::uno::Any & rData /*out param*/, 62 const String & rMimeType, 63 sal_Bool bSynchron = sal_False ); 64 65 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 66 void EndListeningAll(); 67 }; 68 69 //SO2_DECL_REF( ScServerObject ) 70 71 72 #endif 73