/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . */ #pragma once module com { module sun { module star { module io { /// This permission represents access to a file or directory. /// A FilePermission consists of a file url and a set of actions valid for that url. ///

/// The path of the file url that ends in "/*" indicates all the files and /// directories contained in that directory. A path that ends with "/-" /// indicates (recursively) all files and subdirectories contained in that /// directory. A file url string consisting of the special token /// "<>" matches any file. ///
/// Note: A file url string consisting of a single "*" indicates all the files /// in the current directory, while a string consisting of a single "-" indicates /// all the files in the current directory and (recursively) all files and /// subdirectories contained in the current directory. ///
/// The actions to be granted is a list of one or more comma-separated keywords. /// The possible keywords are "read", "write", /// "execute", and "delete". /// Their meaning is defined as follows: ///


/// The actions string is processed case-insensitive. ///

/// /// @attention /// Be careful when granting FilePermissions. Think about the implications of /// granting read and especially write access to various files and directories. /// The "<>" permission with write action is /// especially dangerous. This grants permission to write to the entire file system. /// /// @since OOo 1.1.2 published struct FilePermission { /** target file url */ string URL; /** comma separated actions list */ string Actions; }; }; }; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */