| /************************************************************** |
| * |
| * 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_frame_XDocumentTemplates_idl__ |
| #define __com_sun_star_frame_XDocumentTemplates_idl__ |
| |
| #ifndef __com_sun_star_frame_XStorable_idl__ |
| #include <com/sun/star/frame/XStorable.idl> |
| #endif |
| |
| #ifndef __com_sun_star_ucb_XContent_idl__ |
| #include <com/sun/star/ucb/XContent.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module frame { |
| |
| //============================================================================= |
| /** provides a high level api to organize document templates |
| |
| <p> |
| Template informations are saved as links to the original content |
| and organized in groups. This data should be persistent and can be |
| updated by calling special method <member>XDocumentTemplates::update()</member>. |
| A real implementation of this interface can do that on top of |
| an ucb content provider. Method <member>XDocumentTemplates::getContent()</member> |
| force that. |
| </p> |
| */ |
| published interface XDocumentTemplates: com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| /** privides access to the root of internal used hierarchy |
| |
| <p> |
| This content can be used for accessing the groups directly. |
| </p> |
| |
| @return |
| the ucb content for template configuration |
| */ |
| com::sun::star::ucb::XContent getContent(); |
| |
| //------------------------------------------------------------------------- |
| /** creates the template with the given name in the given group using the |
| data from the storable |
| |
| @param GroupName |
| specifies the group |
| |
| @param TemplateName |
| specifies the template |
| |
| @param Storable |
| specifies the target |
| |
| @return |
| <TRUE/> if operation was sucessfully |
| <br> |
| <FALSE/> otherwise |
| |
| @see XDocumentTemplates::addTemplate() |
| */ |
| boolean storeTemplate( |
| [in] string GroupName, |
| [in] string TemplateName, |
| [in] XStorable Storable); |
| |
| //------------------------------------------------------------------------- |
| /** creates the template with the given name in the given group using the |
| given URL |
| |
| @param GroupName |
| specifies the group |
| |
| @param TemplateName |
| specifies the template |
| |
| @param SourceURL |
| specifies the position of template |
| |
| @return |
| <TRUE/> if operation was sucessfully |
| <br> |
| <FALSE/> otherwise |
| |
| @see XDocumentTemplates::storeTemplate() |
| */ |
| boolean addTemplate( |
| [in] string GroupName, |
| [in] string TemplateName, |
| [in] string SourceURL); |
| |
| //------------------------------------------------------------------------- |
| /** remove a template from specified group |
| |
| @param GroupName |
| specifies the group which include the template |
| |
| @param TemplateName |
| specifies the template for delete |
| |
| @return |
| <TRUE/> if operation was sucessfully |
| <br> |
| <FALSE/> otherwise |
| */ |
| boolean removeTemplate( |
| [in] string GroupName, |
| [in] string TemplateName); |
| |
| //------------------------------------------------------------------------- |
| /** rename a template inside specified group |
| |
| @param GroupName |
| specifies the group which include the template |
| |
| @param TemplateName |
| specifies the template for renaming |
| |
| @return |
| <TRUE/> if operation was sucessfully |
| <br> |
| <FALSE/> otherwise |
| */ |
| boolean renameTemplate( |
| [in] string GroupName, |
| [in] string OldTemplateName, |
| [in] string NewTemplateName); |
| |
| //------------------------------------------------------------------------- |
| /** creates a new group |
| |
| @param GroupName |
| the name of the group to be created |
| |
| @return |
| <TRUE/> if operation was sucessfully |
| <br> |
| <FALSE/> otherwise |
| */ |
| boolean addGroup( [in] string GroupName ); |
| |
| //------------------------------------------------------------------------- |
| /** remove an existing group |
| |
| @param GroupName |
| the name of the group to be removed |
| |
| @return |
| <TRUE/> if operation was sucessfully |
| <br> |
| <FALSE/> otherwise |
| */ |
| boolean removeGroup( [in] string GroupName ); |
| |
| //------------------------------------------------------------------------- |
| /** rename an existing group |
| |
| @param OldGroupName |
| the old name of the group |
| |
| @param NewGroupName |
| the new name of the group |
| |
| @return |
| <TRUE/> if operation was sucessfully |
| <br> |
| <FALSE/> otherwise |
| */ |
| boolean renameGroup( |
| [in] string OldGroupName, |
| [in] string NewGroupName); |
| |
| //------------------------------------------------------------------------- |
| /** force an update for internal structures |
| |
| <p> |
| Because the templates are well known by links and not as direct content |
| they can be outdated. An update force actualization of that to find |
| wrong links. |
| </p> |
| */ |
| [oneway] void update(); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |