| /************************************************************** |
| * |
| * 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_XRelationshipAccess_idl__ |
| #define __com_sun_star_embed_XRelationshipAccess_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_StringPair_idl__ |
| #include <com/sun/star/beans/StringPair.idl> |
| #endif |
| |
| #ifndef __com_sun_star_container_NoSuchElementException_idl__ |
| #include <com/sun/star/container/NoSuchElementException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_container_ElementExistException_idl__ |
| #include <com/sun/star/container/ElementExistException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_io_IOException_idl__ |
| #include <com/sun/star/io/IOException.idl> |
| #endif |
| |
| //============================================================================ |
| |
| module com { module sun { module star { module embed { |
| |
| //============================================================================ |
| /** This interface allows to ge access to relationship data. |
| |
| <p> |
| The relationship data is organized as a set of entries. Each of entry |
| is represented by a set of tags, where each tag has unique for this entry |
| name and a string value. An entry must contain at least one tag named |
| "ID", the value of this tag must be uniqued for the whole set of entries, |
| this tag is used as a uniqued identified of an entry. |
| </p> |
| */ |
| published interface XRelationshipAccess : ::com::sun::star::uno::XInterface |
| { |
| // ----------------------------------------------------------------------- |
| /** allows to detect whether there is an entry with specified value of |
| "ID" tag. |
| |
| @param sID |
| the value of "ID" tag |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading the relations info |
| */ |
| boolean hasByID( [in] string sID ) |
| raises( ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** retrieves the value of "Target" tag from the entry with specified "ID" |
| tag. |
| |
| <p> |
| If the entry has no "Target" tag an empty string is returned. |
| </p> |
| |
| @param sID |
| the value of "ID" tag |
| |
| @throws ::com::sun::star::container::NoSuchElementException |
| in case there is no entry with specified tag |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading the relations info |
| */ |
| string getTargetByID( [in] string sID ) |
| raises( ::com::sun::star::container::NoSuchElementException, |
| ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** retrieves the value of "Type" tag from the entry with specified "ID" |
| tag. |
| |
| <p> |
| If the entry has no "Type" tag an empty string is returned. |
| </p> |
| |
| @param sID |
| the value of "ID" tag |
| |
| @throws ::com::sun::star::container::NoSuchElementException |
| in case there is no entry with specified tag |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading the relations info |
| */ |
| string getTypeByID( [in] string sID ) |
| raises( ::com::sun::star::container::NoSuchElementException, |
| ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** retrieves the sequence containing all the tags from the entry with |
| specified value of "ID" tag. |
| |
| @param sID |
| the value of "ID" tag |
| |
| @returns |
| sequence, each element of the sequence represents tag, |
| <type scope="::com::sun::star::beans">StringPair</type>::First |
| represents the tag name and |
| <type scope="::com::sun::star::beans">StringPair</type>::Second |
| represents the tag value |
| |
| @throws ::com::sun::star::container::NoSuchElementException |
| in case there is no entry with specified tag |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading the relations info |
| */ |
| sequence< ::com::sun::star::beans::StringPair > |
| getRelationshipByID( [in] string sID ) |
| raises( ::com::sun::star::container::NoSuchElementException, |
| ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** retrieves the sequence containing all the entries which "Type" tag |
| takes the specified value. |
| |
| @param sType |
| specified value of "Type" tag, the parameter can contain an empty |
| string, in this case all the entries that have empty "Type" tag or |
| no such tag at all are returned |
| |
| @returns |
| sequence of entries, each entry is represented by sequence, |
| each element of the sequence represents tag, |
| <type scope="::com::sun::star::beans">StringPair</type>::First |
| represents the tag name and |
| <type scope="::com::sun::star::beans">StringPair</type>::Second |
| represents the tag value. |
| The sequence should contain the "ID" tag. |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading the relations info |
| */ |
| sequence< sequence< ::com::sun::star::beans::StringPair > > |
| getRelationshipsByType( [in] string sType ) |
| raises( ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** retrieves the sequence containing all the entries controlled by the |
| object. |
| |
| @returns |
| sequence of entries, each entry is represented by sequence, |
| each element of the sequence represents tag, |
| <type scope="::com::sun::star::beans">StringPair</type>::First |
| represents the tag name and |
| <type scope="::com::sun::star::beans">StringPair</type>::Second |
| represents the tag value |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading the relations info |
| */ |
| sequence< sequence< ::com::sun::star::beans::StringPair > > |
| getAllRelationships() |
| raises( ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** allows to insert an entry. |
| |
| @param sID |
| the value of "ID" tag |
| |
| @param aEntry |
| a sequence, each element of the sequence represents tag, |
| <type scope="::com::sun::star::beans">StringPair</type>::First |
| represents the tag name and |
| <type scope="::com::sun::star::beans">StringPair</type>::Second |
| represents the tag value. |
| May not contain "ID" tag, that is already specified in previous |
| parameter. |
| |
| @param bReplace |
| specifies whether the replacement of existing entry is allowed |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading/writing the relations info |
| |
| @throws ::com::sun::star::container::ElementExistException |
| in case an element with the specified "ID" tag exists already, and |
| no replacement is allowed |
| */ |
| void insertRelationshipByID( |
| [in] string sID, |
| [in] sequence< ::com::sun::star::beans::StringPair > aEntry, |
| [in] boolean bReplace ) |
| raises( ::com::sun::star::container::ElementExistException, |
| ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** allows to remove an entry. |
| |
| @param sID |
| the value of "ID" tag |
| |
| @throws ::com::sun::star::container::NoSuchElementException |
| in case there is no entry with specified tag |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading/writing the relations info |
| */ |
| void removeRelationshipByID( [in] string sID ) |
| raises( ::com::sun::star::container::NoSuchElementException, |
| ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** allows to insert a set of entries |
| |
| @param aEntries |
| sequence of entries, each entry is represented by sequence, |
| each element of the sequence represents tag, |
| <type scope="::com::sun::star::beans">StringPair</type>::First |
| represents the tag name and |
| <type scope="::com::sun::star::beans">StringPair</type>::Second |
| represents the tag value. |
| Each entry must contain "ID" tag. |
| |
| @param bReplace |
| specifies whether the replacement of existing entry is allowed |
| |
| @throws ::com::sun::star::container::ElementExistException |
| in case an element with the provided "ID" tag exists already, and |
| no replacement is allowed |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading/writing the relations info |
| */ |
| void insertRelationships( |
| [in] sequence< sequence< ::com::sun::star::beans::StringPair > > aEntries, |
| [in] boolean bReplace ) |
| raises( ::com::sun::star::container::ElementExistException, |
| ::com::sun::star::io::IOException ); |
| |
| // ----------------------------------------------------------------------- |
| /** allows to clear the set of entries. |
| |
| @throws ::com::sun::star::io::IOException |
| in case there is a problem reading/writing the relations info |
| */ |
| void clearRelationships() |
| raises( ::com::sun::star::io::IOException ); |
| |
| }; |
| |
| //============================================================================ |
| |
| }; }; }; }; |
| |
| #endif |
| |