This file is indexed.

/usr/include/kcal/calformat.h is in kdepimlibs5-dev 4:4.14.10-1ubuntu7.

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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
/*
  This file is part of the kcal library.

  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.
*/
/**
  @file
  This file is part of the API for handling calendar data and
  defines the CalFormat abstract base class.

  @author Cornelius Schumacher \<schumacher@kde.org\>
*/

#ifndef KCAL_CALFORMAT_H
#define KCAL_CALFORMAT_H

#include <QtCore/QString>
#include <QtCore/QDateTime>
#include <QtCore/QEvent>

#include "exceptions.h"
#include "event.h"
#include "kcal_export.h"

namespace KCal {

class Calendar;

/**
  @brief
  An abstract base class that provides an interface to various calendar formats.

  This is the base class for calendar formats. It provides an interface for the
  generation/interpretation of a textual representation of a calendar.
*/
class KCAL_DEPRECATED_EXPORT CalFormat
{
  public:
    /**
      Constructs a new Calendar Format object.
    */
    CalFormat();

    /**
      Destructor.
    */
    virtual ~CalFormat();

    /**
      Loads a calendar on disk into the calendar associated with this format.

      @param calendar is the Calendar to be loaded.
      @param fileName is the name of the disk file containing the Calendar data.

      @return true if successful; false otherwise.
    */
    virtual bool load( Calendar *calendar, const QString &fileName ) = 0;

    /**
      Writes the calendar to disk.

      @param calendar is the Calendar containing the data to be saved.
      @param fileName is the name of the file to write the calendar data.

      @return true if successful; false otherwise.
    */
    virtual bool save( Calendar *calendar, const QString &fileName ) = 0;

    /**
      Loads a calendar from a string

      @param calendar is the Calendar to be loaded.
      @param string is the QString containing the Calendar data.

      @return true if successful; false otherwise.
      @see fromRawString(), toString().
    */
    virtual bool fromString( Calendar *calendar, const QString &string ) = 0;

    /**
      Parses a utf8 encoded string, returning the first iCal component
      encountered in that string. This is an overload used for efficient
      reading to avoid utf8 conversions, which are expensive when reading
      from disk.

      @param calendar is the Calendar to be loaded.
      @param string is the QByteArray containing the Calendar data.

      @return true if successful; false otherwise.
      @see fromString(), toString().
    */
    virtual bool fromRawString( Calendar *calendar, const QByteArray &string ) = 0;

    /**
      Returns the calendar as a string.
      @param calendar is the Calendar containing the data to be saved.

      @return a QString containing the Calendar data if successful;
      an empty string otherwise.
      @see fromString(), fromRawString().
    */
    virtual QString toString( Calendar *calendar ) = 0;

    /**
      Clears the exception status.
    */
    void clearException();

    /**
      Returns an exception, if there is any, containing information about the
      last error that occurred.
    */
    ErrorFormat *exception();

    /**
      Sets the application name for use in unique IDs and error messages,
      and product ID for incidence PRODID property

      @param application is a string containing the application name.
      @param productID is a string containing the product identifier.
    */
    static void setApplication( const QString &application,
                                const QString &productID );

    /**
      Returns the application name used in unique IDs and error messages.
    */
    static const QString &application(); //krazy:exclude=constref

    /**
      Returns the PRODID string to write into calendar files.
    */
    static const QString &productId(); //krazy:exclude=constref

    /**
      Returns the PRODID string loaded from calendar file.
    */
    const QString &loadedProductId(); //krazy:exclude=constref

    /**
      Creates a unique id string.
    */
    static QString createUniqueId();

    /**
      Sets an exception that is to be used by the functions of this class
      to report errors.

      @param error is a pointer to an ErrorFormat which contains the exception.
    */
    void setException( ErrorFormat *error );

  protected:
    /** PRODID string loaded from calendar file. */
    void setLoadedProductId( const QString &id );

  private:
    //@cond PRIVATE
    Q_DISABLE_COPY( CalFormat )
    class Private;
    Private *const d;
    //@endcond
};

}

#endif