This file is indexed.

/usr/share/idl/thunderbird/calIDateTimeFormatter.idl is in thunderbird-dev 1:52.8.0-1~deb8u1.

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
/* -*- Mode: idl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/. */

#include "nsISupports.idl"

interface calIDateTime;
interface calIItemBase;

[scriptable, uuid(69741510-5f5d-11e4-9803-0800200c9a66)]
interface calIDateTimeFormatter : nsISupports
{
    /**
     * Format a date in either short or long format, depending on the
     * users preference
     *
     * @see
     *     formatDateShort
     *     formatDateLong
     */
    AString formatDate(in calIDateTime aDate);

    /**
     * Format a date into a short format, for example
     * "12/17/2005"
     *
     * @param aDate
     *      the datetime to format
     * @returns
     *      a string representing the date part of the datetime
     */
    AString formatDateShort(in calIDateTime aDate);

    /**
     * Format a date into a long format, for example
     * "Sat Dec 17 2005"
     *
     * @param aDate
     *      the datetime to format
     * @returns
     *      a string representing the date part of the datetime
     */
    AString formatDateLong(in calIDateTime aDate);

    /**
     * Format a date into a short format without mentioning the year, for
     * example "Dec 17"
     *
     * @param aDate
     *      the datetime to format
     * @returns
     *      a string representing the date part of the datetime
     */
    AString formatDateWithoutYear(in calIDateTime aDate);

    /**
     * Format a time into the format specified by the OS settings.
     * Will omit the seconds from the output.
     *
     * @param aDate
     *      the datetime to format
     * @returns
     *      a string representing the time part of the datetime
     */
    AString formatTime(in calIDateTime aDate);

    /**
     * Format a datetime into the format specified by the OS settings.
     * Will omit the seconds from the output.
     *
     * @param aDateTime
     *      the datetime to format
     * @returns
     *      a string representing the datetime
     */
    AString formatDateTime(in calIDateTime aDate);

    /**
     * Format a time interval that is defined by an item with the default
     * timezone Internally it calls "formatInterval" after retrieving 
     * the start/entry and end/due date of the item.
     *
     * @param aItem 
     *      The item describing the interval
     */
    AUTF8String formatItemInterval(in calIItemBase aItem);

    /**
     * Format a time interval like formatItemInterval, but only show times.
     *
     * @param aItem     The item providing the interval
     * @return          The string describing the interval
     */
     AUTF8String formatItemTimeInterval(in calIItemBase aItem);

    /**
     * Format a date/time interval. The returned string may assume that the
     * dates are so close to each other, that it can leave out some parts of the
     * part string denoting the end date.
     *
     * @param aStartDate        The start of the interval
     * @param aEndDate          The end of the interval
     * @return                  A String describing the interval in a legible form
     */
    AUTF8String formatInterval(in calIDateTime aStartDate,
                               in calIDateTime aEndDate);

    /**
     * Format a time interval like formatInterval, but show only the time.
     *
     * @param aStartDate        The start of the interval.
     * @param aEndDate          The end of the interval.
     * @return                  The formatted time interval.
     */
    AUTF8String formatTimeInterval(in calIDateTime aStartTime,
                                   in calIDateTime aEndTime);

    /**
     * Get the monthday followed by its ordinal symbol in the current locale.
     * e.g.  monthday 1 -> 1st
     *       monthday 2 -> 2nd etc.
     *
     * @param aMonthdayIndex
     *      a number from 1 to 31
     * @returns
     *      the monthday number in ordinal format in the current locale
     */
    AUTF8String formatDayWithOrdinal(in unsigned long aMonthdayIndex);

    /**
     * Get the month name
     *
     * @param aMonthIndex
     *     zero-based month number (0 is january, 11 is december)
     * @returns
     *      the month name in the current locale
     */
    AString monthName(in unsigned long aMonthIndex);

    /**
     * Get the abbrevation of the month name
     *
     * @see monthName
     */
    AString shortMonthName(in unsigned long aMonthIndex);

    /**
     * Get the day name
     * @param aMonthIndex
     *     zero-based month number (0 is sunday, 6 is saturday)
     * @returns
     *      the day name in the current locale
     */
    AString dayName(in unsigned long aDayIndex);

    /**
     * Get the abbrevation of the day name
     * @see dayName
     */
    AString shortDayName(in unsigned long aDayIndex);
};