| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_embed_XLinkageSupport_idl__ |
| #define __com_sun_star_embed_XLinkageSupport_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_embed_XStorage_idl__ |
| #include <com/sun/star/embed/XStorage.idl> |
| #endif |
| |
| #ifndef __com_sun_star_embed_XCommonEmbedPersist_idl__ |
| #include <com/sun/star/embed/XCommonEmbedPersist.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_PropertyValue_idl__ |
| #include <com/sun/star/beans/PropertyValue.idl> |
| #endif |
| |
| #ifndef __com_sun_star_embed_WrongStateException_idl__ |
| #include <com/sun/star/embed/WrongStateException.idl> |
| #endif |
| |
| //============================================================================ |
| |
| module com { module sun { module star { module embed { |
| |
| //============================================================================ |
| /** specifies an additional implementation for linked embedded object support. |
| */ |
| published interface XLinkageSupport: XCommonEmbedPersist |
| { |
| //------------------------------------------------------------------------ |
| /** breaks the link and provides the object with a parent storage and a |
| name for object's entry |
| |
| <p> |
| This method can be used only for links implementations that implement |
| the whole set of embedded object interfaces. Usually the sets of |
| interfaces are the same for links and objects. An example of exception |
| from this are OpenOffice links that do not implement |
| <type>XEmbedPersist</type> interface. For such cases the method will |
| throw an exception. |
| </p> |
| |
| <p> |
| The link will be broken and the linked object will become a normal |
| embedded object. |
| </p> |
| |
| <p> |
| An entry with the specified name should be created\opened inside |
| provided storage. This entry will be used for the object persistence. |
| If the entry exists already all it's contents will be ignored. |
| </p> |
| |
| @param xStorage |
| a parent storage the entry should be created\opened in |
| |
| @param sEntryName |
| a name for the entry |
| |
| @throws ::com::sun::star::lang::IllegalArgumentException |
| one of arguments is illegal |
| |
| @throws com::sun::star::embed::WrongStateException |
| the object is in wrong state or not a linked object |
| |
| @throws com::sun::star::io::IOException |
| in case object has not persistence or other io problems |
| |
| @throws com::sun::star::uno::Exception |
| in case of other problems |
| |
| @see also XEmbedPersist::setPersistentEntry |
| */ |
| void breakLink( [in] ::com::sun::star::embed::XStorage xStorage, |
| [in] string sEntryName ) |
| raises( ::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::embed::WrongStateException, |
| ::com::sun::star::io::IOException, |
| ::com::sun::star::uno::Exception ); |
| |
| |
| //------------------------------------------------------------------------ |
| /** allows to detect whether the object is a linked one. |
| <p> |
| Most of embedded objects will not support this interface, but some |
| of them can do it, to allow conversion from link to object. After |
| the conversion the object does not change, so interface set staies the |
| same, but the object is not a link any more. |
| </p> |
| |
| @return |
| <TRUE/> - the object is a linked one. |
| <FALSE/> - otherwise |
| |
| @throws com::sun::star::embed::WrongStateException |
| the object is in wrong state |
| */ |
| boolean isLink() |
| raises( ::com::sun::star::embed::WrongStateException ); |
| |
| //------------------------------------------------------------------------ |
| /** returns the URL of the link object. |
| |
| @throws com::sun::star::embed::WrongStateException |
| the object is in wrong state or is not a link |
| */ |
| string getLinkURL() |
| raises( ::com::sun::star::embed::WrongStateException, |
| ::com::sun::star::uno::Exception ); |
| }; |
| |
| //============================================================================ |
| |
| }; }; }; }; |
| |
| #endif |
| |