| /************************************************************** |
| * |
| * 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_drawing_framework_XResourceFactory_idl__ |
| #define __com_sun_star_drawing_framework_XResourceFactory_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ |
| #include <com/sun/star/lang/IllegalArgumentException.idl> |
| #endif |
| #ifndef __com_sun_star_lang_WrappedTargetException_idl__ |
| #include <com/sun/star/lang/WrappedTargetException.idl> |
| #endif |
| |
| module com { module sun { module star { module drawing { module framework { |
| |
| published interface XResource; |
| published interface XResourceId; |
| |
| /** Factory and possibly cache for creating and releasing resources. |
| <p>A resource factory is created and used by the |
| <type>XConfigurationController</type> object.</p> |
| <p>A factory may want to implement a cache to reuse previously released |
| resources.</p> |
| */ |
| published interface XResourceFactory |
| { |
| /** Create a resource for the given <type>XResourceId</type> object. |
| @param xResourceId |
| The resourc URL of this id specifies the type of resource to |
| create. The anchor can be used to obtain the associated object |
| from the configuration controller. For example, when a view is |
| created, then the new object can be initialized with the pane |
| that is its anchor. |
| <p>Valid values are those for which the factory has previously been |
| registered at the <type>XConfigurationController</type></p>. |
| @return |
| Returns a resource object that has been just created or was |
| taken from a cache. When the requested resource can not be |
| created then an empty reference is returned. A later call may |
| be successful. This, for example, can be the case with SFX |
| based side panes. They are not available right after the |
| creation of a new application frame. |
| @throws InvalidArgumentException |
| when the given URL is not supported by the factory. |
| */ |
| XResource createResource ( |
| [in] XResourceId xResourceId) |
| raises ( ::com::sun::star::lang::IllegalArgumentException, |
| ::com::sun::star::lang::WrappedTargetException |
| ); |
| |
| /** Call this method to tell a factory that the given resource is no |
| longer in use. The factory can decide whether to destroy the |
| resource or to keep it in a cache in order to reuse it later. |
| @param xResource |
| The given resource has to be one created by the same factory. |
| @throws InvalidArgumentException |
| when the given pane was not created by the same factory. |
| */ |
| void releaseResource ([in] XResource xResource); |
| }; |
| |
| }; }; }; }; }; // ::com::sun::star::drawing::framework |
| |
| #endif |