1*cdf0e10cSrcweir/************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir#ifndef __com_sun_star_io_FilePermission_idl__ 28*cdf0e10cSrcweir#define __com_sun_star_io_FilePermission_idl__ 29*cdf0e10cSrcweir//============================================================================= 30*cdf0e10cSrcweir 31*cdf0e10cSrcweirmodule com { module sun { module star { module io { 32*cdf0e10cSrcweir 33*cdf0e10cSrcweir//============================================================================= 34*cdf0e10cSrcweir 35*cdf0e10cSrcweir/** This permission represents access to a file or directory. 36*cdf0e10cSrcweir A FilePermission consists of a file url and a set of actions valid for that url. 37*cdf0e10cSrcweir <p> 38*cdf0e10cSrcweir The path of the file url that ends in <code>"/*"</code> indicates all the files and 39*cdf0e10cSrcweir directories contained in that directory. A path that ends with <code>"/-"</code> 40*cdf0e10cSrcweir indicates (recursively) all files and subdirectories contained in that 41*cdf0e10cSrcweir directory. A file url string consisting of the special token 42*cdf0e10cSrcweir <code>"<<ALL FILES>>"</code> matches any file. 43*cdf0e10cSrcweir <br> 44*cdf0e10cSrcweir Note: A file url string consisting of a single <code>"*"</code> indicates all the files 45*cdf0e10cSrcweir in the current directory, while a string consisting of a single <code>"-"</code> indicates 46*cdf0e10cSrcweir all the files in the current directory and (recursively) all files and 47*cdf0e10cSrcweir subdirectories contained in the current directory. 48*cdf0e10cSrcweir <br> 49*cdf0e10cSrcweir The actions to be granted is a list of one or more comma-separated keywords. 50*cdf0e10cSrcweir The possible keywords are <code>"read"</code>, <code>"write"</code>, 51*cdf0e10cSrcweir <code>"execute"</code>, and <code>"delete"</code>. 52*cdf0e10cSrcweir Their meaning is defined as follows: 53*cdf0e10cSrcweir <ul> 54*cdf0e10cSrcweir <li><code>read</code> -- read permission</li> 55*cdf0e10cSrcweir <li><code>write</code> -- write permission</li> 56*cdf0e10cSrcweir <li><code>execute</code> -- execute permission</li> 57*cdf0e10cSrcweir <li><code>delete</code> -- delete permission</li> 58*cdf0e10cSrcweir </ul><br> 59*cdf0e10cSrcweir The actions string is processed case-insensitive. 60*cdf0e10cSrcweir </p> 61*cdf0e10cSrcweir 62*cdf0e10cSrcweir @attention 63*cdf0e10cSrcweir Be careful when granting FilePermissions. Think about the implications of 64*cdf0e10cSrcweir granting read and especially write access to various files and directories. 65*cdf0e10cSrcweir The <code>"<<ALL FILES>>"</code> permission with write action is 66*cdf0e10cSrcweir especially dangerous. This grants permission to write to the entire file system. 67*cdf0e10cSrcweir 68*cdf0e10cSrcweir @since OOo 1.1.2 69*cdf0e10cSrcweir*/ 70*cdf0e10cSrcweirpublished struct FilePermission 71*cdf0e10cSrcweir{ 72*cdf0e10cSrcweir /** target file url 73*cdf0e10cSrcweir */ 74*cdf0e10cSrcweir string URL; 75*cdf0e10cSrcweir /** comma separated actions list 76*cdf0e10cSrcweir */ 77*cdf0e10cSrcweir string Actions; 78*cdf0e10cSrcweir}; 79*cdf0e10cSrcweir 80*cdf0e10cSrcweir//============================================================================= 81*cdf0e10cSrcweir 82*cdf0e10cSrcweir}; }; }; }; 83*cdf0e10cSrcweir 84*cdf0e10cSrcweir#endif 85