1d1766043SAndrew Rist/************************************************************** 2cdf0e10cSrcweir * 3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4d1766043SAndrew Rist * or more contributor license agreements. See the NOTICE file 5d1766043SAndrew Rist * distributed with this work for additional information 6d1766043SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the 8d1766043SAndrew Rist * "License"); you may not use this file except in compliance 9d1766043SAndrew Rist * with the License. You may obtain a copy of the License at 10d1766043SAndrew Rist * 11d1766043SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12d1766043SAndrew Rist * 13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing, 14d1766043SAndrew Rist * software distributed under the License is distributed on an 15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16d1766043SAndrew Rist * KIND, either express or implied. See the License for the 17d1766043SAndrew Rist * specific language governing permissions and limitations 18d1766043SAndrew Rist * under the License. 19d1766043SAndrew Rist * 20d1766043SAndrew Rist *************************************************************/ 21d1766043SAndrew Rist 22d1766043SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir#ifndef __com_sun_star_util_PathSubstitution_idl__ 25cdf0e10cSrcweir#define __com_sun_star_util_PathSubstitution_idl__ 26cdf0e10cSrcweir 27cdf0e10cSrcweir#ifndef __com_sun_star_util_XStringSubstitution_idl__ 28cdf0e10cSrcweir#include <com/sun/star/util/XStringSubstitution.idl> 29cdf0e10cSrcweir#endif 30cdf0e10cSrcweir 31cdf0e10cSrcweir#ifndef __com_sun_star_container_XNameContainer_idl__ 32cdf0e10cSrcweir#include <com/sun/star/container/XNameContainer.idl> 33cdf0e10cSrcweir#endif 34cdf0e10cSrcweir 35cdf0e10cSrcweir#ifndef __com_sun_star_container_XContainerListener_idl__ 36cdf0e10cSrcweir#include <com/sun/star/container/XContainerListener.idl> 37cdf0e10cSrcweir#endif 38cdf0e10cSrcweir 39cdf0e10cSrcweir//============================================================================= 40cdf0e10cSrcweir 41cdf0e10cSrcweirmodule com { module sun { module star { module util { 42cdf0e10cSrcweir 43cdf0e10cSrcweir//============================================================================= 44cdf0e10cSrcweir 45cdf0e10cSrcweir/** A service to support the substitution and resubstitution of path variables. 46cdf0e10cSrcweir 47cdf0e10cSrcweir <p> 48cdf0e10cSrcweir A path variable must be specified with the following synatx: "$("<variable-name>")". 49cdf0e10cSrcweir Path variables are not case sensitive and are always provided as a UCB-complient URL's 50cdf0e10cSrcweir (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an 51cdf0e10cSrcweir optional remote file system.<br> 52cdf0e10cSrcweir A user defined list of path variables is supported. This list is stored in the Office 53cdf0e10cSrcweir configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the 54cdf0e10cSrcweir schema definition file which configuration structure this file uses.<br> 55cdf0e10cSrcweir There is also a set of variables that have pre-defined values: 56cdf0e10cSrcweir </p> 57cdf0e10cSrcweir <dl> 58cdf0e10cSrcweir <dt>$(inst)</dt> 59cdf0e10cSrcweir <dd>Installation path of the Office Basis layer.</dd> 60cdf0e10cSrcweir <dt>$(prog)</dt> 61cdf0e10cSrcweir <dd>Program path of the Office Basis layer.</dd> 62cdf0e10cSrcweir <dt>$(brandbaseurl)</dt> 63cdf0e10cSrcweir <dd>Installation path of the the Office Brand layer.</dd> 64cdf0e10cSrcweir <dt>$(user)</dt> 65cdf0e10cSrcweir <dd>The user installation directory.</dd> 66cdf0e10cSrcweir <dt>$(work)</dt> 67cdf0e10cSrcweir <dd>The work directory of the user. Under Windows this would be the 68cdf0e10cSrcweir "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd> 69cdf0e10cSrcweir <dt>$(home)</dt> 70cdf0e10cSrcweir <dd>The home directory of the user. Under Unix this would be the home- 71cdf0e10cSrcweir directory. Under Windows this would be the "Documents and Settings\<username>" 72cdf0e10cSrcweir subdirectory.</dd> 73cdf0e10cSrcweir <dt>$(temp)</dt> 74cdf0e10cSrcweir <dd>The current temporary directory.</dd> 75cdf0e10cSrcweir <dt>$(path)</dt> 76cdf0e10cSrcweir <dd>The value of PATH environment variable.</dd> 77cdf0e10cSrcweir <dt>$(lang)</dt> 78cdf0e10cSrcweir <dd>The country code used by the Office, like 01=english, 49=german.</dd> 79cdf0e10cSrcweir <dt>$(langid)</dt> 80cdf0e10cSrcweir <dd>The language code used by the Office, like 0x0009=english, 0x0409=english us.</dd> 81cdf0e10cSrcweir <dt>$(vlang)</dt> 82cdf0e10cSrcweir <dd>The language used by the Office as a string. Like "german" for a german Office.</dd> 83cdf0e10cSrcweir </dl> 84cdf0e10cSrcweir <p> 85cdf0e10cSrcweir Attention: Most predefined variables describe an absolute path. 86cdf0e10cSrcweir The only exceptions are: $(lang), $(langid) and $(vlang). 87cdf0e10cSrcweir Therefore the service implementation should only substitute variables which 88cdf0e10cSrcweir are located at the start of a provided path string or are part of a multi-path. 89cdf0e10cSrcweir This special service is not designed to be a text substiution but shall 90cdf0e10cSrcweir provide (a) valid substituted path(s). 91cdf0e10cSrcweir </p> 92cdf0e10cSrcweir 9334c958abSJürgen Schmidt @since OpenOffice 1.1.2 94cdf0e10cSrcweir*/ 95cdf0e10cSrcweir 96cdf0e10cSrcweirpublished service PathSubstitution 97cdf0e10cSrcweir{ 98cdf0e10cSrcweir //------------------------------------------------------------------------- 99cdf0e10cSrcweir /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables. 100cdf0e10cSrcweir 101cdf0e10cSrcweir <p> 102*a893be29SPedro Giffuni To resubstitute path variables the caller must provide paths as UCB-compliant URL's. 103cdf0e10cSrcweir </p> 104cdf0e10cSrcweir */ 105cdf0e10cSrcweir interface com::sun::star::util::XStringSubstitution; 106cdf0e10cSrcweir}; 107cdf0e10cSrcweir 108cdf0e10cSrcweir//============================================================================= 109cdf0e10cSrcweir 110cdf0e10cSrcweir}; }; }; }; 111cdf0e10cSrcweir 112cdf0e10cSrcweir#endif 113