This file is indexed.

/usr/include/kpimutils/kfileio.h is in kdepimlibs5-dev 4:4.13.0-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*
  Copyright (c) 2005 Tom Albers <tomalbers@kde.nl>
  Copyright (c) 1997-1999 Stefan Taferner <taferner@kde.org>

  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Library General Public License as published by
  the Free Software Foundation; either version 2 of the License, or (at your
  option) any later version.

  This library is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
  License for more details.

  You should have received a copy of the GNU Library General Public License
  along with this library; see the file COPYING.LIB.  If not, write to the
  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  02110-1301, USA.
*/

#ifndef KPIMUTILS_KFILEIO_H
#define KPIMUTILS_KFILEIO_H

#include "kpimutils_export.h"

class QByteArray;
class QString;
class QWidget;

namespace KPIMUtils {

/**
  Loads the file with the given filename. Optionally, you can force the data
  to end with a newline character. Moreover, you can suppress warnings.

  @param fileName      Name of the file that should be loaded.
  @param ensureNewline If true, then the data will always have a trailing
                       newline. Defaults to true.
  @param withDialogs   If false, then no warning dialogs are shown in case of
                       problems. Defaults to true.

  @return The contents of the file or an empty QByteArray if loading failed.
*/
 KPIMUTILS_EXPORT QByteArray kFileToByteArray( const QString & fileName,
                                               bool ensureNewline = true,
                                               bool withDialogs = true );

/**
  Writes the contents of @p buffer to the file with the given filename.

  @param buffer       The data you want to write to the file.
  @param fileName     The output file name
  @param askIfExists  If true, then you will be asked before an existing file
                      is overwritten. If false, then an existing file is
                      overwritten without warning.
  @param createBackup If true, then a backup of existing files will be
                      created. Otherwise, no backup will be made.
  @param withDialogs  If true, then you will be warned in case of problems.
                      Otherwise, no warnings will be issued.

  @return True if writing the data to the file succeeded.
  @return False if writing the data to the file failed.
*/
KPIMUTILS_EXPORT bool kByteArrayToFile( const QByteArray & buffer,
                                        const QString & fileName,
                                        bool askIfExists = false,
                                        bool createBackup = true,
                                        bool withDialogs = true );

/**
  Checks and corrects the permissions of a file or folder, and if requested
  all files and folders below. It gives back a list of files which do not
  have the right permissions. This list can be used to show to the user.

  @param toCheck         The file or folder of which the permissions should
                         be checked.
  @param recursive       Set to true, it will check the contents of a folder
                         for the permissions recursively. If false only
                         toCheck will be checked.
  @param wantItReadable  Set to true, it will check for read permissions.
                         If the read permissions are not available, there will
                         be a attempt to correct this.
  @param wantItWritable  Set to true, it will check for write permissions.
                         If the write permissions are not available, there
                         will be a attempt to correct this.
  @return It will return a string with all files and folders which do not
          have the right permissions. If empty, then all permissions are ok.
*/
KPIMUTILS_EXPORT QString checkAndCorrectPermissionsIfPossible( const QString &toCheck,
                                              const bool recursive,
                                              const bool wantItReadable,
                                              const bool wantItWritable );

/**
  Checks and corrects the permissions of a file or folder, and if requested all
  files and folders below. If the permissions are not ok, it tries to correct
  them. If that fails then a warning with detailled information is given.

  @param  parent         If parent is 0, then the message box becomes an
                         application-global modal dialog box. If parent
                         is a widget, the message box becomes modal
                         relative to parent.
  @param toCheck         The file or folder of which the permissions should
                         be checked.
  @param recursive       Set to true, it will check the contents of a folder
                         for the permissions recursively. If false only
                         toCheck will be checked.
  @param wantItReadable  Set to true, it will check for read permissions.
                         If the read permissions are not available, there will
                         be a attempt to correct this.
  @param wantItWritable  Set to true, it will check for write permissions.
                         If the write permissions are not available, there
                         will be a attempt to correct this.
  @return It will return true if all permissions in the end are ok. If false
          then the permissions are not ok and it was not possible to correct
          all errors.
*/
KPIMUTILS_EXPORT bool checkAndCorrectPermissionsIfPossibleWithErrorHandling( QWidget *parent,
                                                            const QString &toCheck,
                                                            const bool recursive,
                                                            const bool wantItReadable,
                                                            const bool wantItWritable );

/**
 * Removed a directory on the local filesystem whether it is empty or not. All
 * contents are irredeemably lost.
 *
 * @param path          An absolute or relative path to the directory to be
 *                      removed.
 *
 * @return Success or failure.
 */
KPIMUTILS_EXPORT bool removeDirAndContentsRecursively( const QString & path );

}

#endif