This file is indexed.

/usr/include/kabc/lock.h is in kdepimlibs5-dev 4:4.14.2-2+deb8u2.

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
/*
    This file is part of libkabc.

    Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@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 KABC_LOCK_H
#define KABC_LOCK_H

#include "kabc_export.h"
#include <QtCore/QString>
#include <QtCore/QObject>

namespace KABC {

/**
  This class provides locking functionality for a file, directory or an
  arbitrary string-represented resource.
*/
class KABC_DEPRECATED_EXPORT Lock : public QObject
{
    Q_OBJECT
  public:
    /**
      Constructor.

      @param identifier An identifier for the resource to be locked, e.g. a file
                        name.
     */
    Lock( const QString &identifier );

    /**
      Destruct lock object. This also removes the lock on the resource.
    */
    ~Lock();

    /**
      Lock resource.
    */
    virtual bool lock();

    /**
      Unlock resource.
    */
    virtual bool unlock();

    /**
      Returns the lastest error message.
    */
    virtual QString error() const;

    /**
      Returns the path of the lock file.

      The file will be located in the directory returned by locksDir()
      and have the file extension @c .lock
    */
    QString lockFileName() const;

    /**
      Reads the process ID and the application name from a lock file.

      @param filename The lock file to read from. Full path or relative to
                      current working directory
      @param pid The variable the process ID will be read into
      @param app The variable the application name will be read into

      @return @c false if @p filename could not be read, otherwise @c true, even
              when reading the values fails
    */
    static bool readLockFile( const QString &filename, int &pid, QString &app );

    /**
      Writes the process ID and the application name to a lock file.

      @param filename The lock file to write to

      @return @c false if the file could not be opened for writing, otherwise
              @c true
    */
    static bool writeLockFile( const QString &filename );

    /**
      Returns the path of the directory where locks are created.
    */
    static QString locksDir();

  Q_SIGNALS:
    /**
      Emitted after the lock has been locked.
    */
    void locked();
    /**
      Emitted after the lock has been unlocked.
    */
    void unlocked();

  private:
    class Private;
    Private *const d;
};

}

#endif