This file is indexed.

/usr/include/telepathy-qt4/TelepathyQt/_gen/cli-account-manager.h is in libtelepathy-qt4-dev 0.9.3-3ubuntu1.

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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
/*
 * This file contains D-Bus client proxy classes generated by qt-client-gen.py.
 *
 * This file can be distributed under the same terms as the specification from
 * which it was generated.
 */

#ifndef IN_TP_QT_HEADER
#error IN_TP_QT_HEADER
#endif

#include <TelepathyQt/Types>

#include <QtGlobal>

#include <QString>
#include <QObject>
#include <QVariant>

#include <QDBusPendingReply>

#include <TelepathyQt/AbstractInterface>
#include <TelepathyQt/DBusProxy>
#include <TelepathyQt/Global>

namespace Tp
{
class PendingVariant;
class PendingOperation;
}

namespace Tp
{
namespace Client
{

/**
 * \class AccountManagerInterface
 * \headerfile TelepathyQt/account-manager.h <TelepathyQt/AccountManager>
 * \ingroup clientam
 *
 * Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.AccountManager".
 */
class TP_QT_EXPORT AccountManagerInterface : public Tp::AbstractInterface
{
    Q_OBJECT

public:
    /**
     * Returns the name of the interface "org.freedesktop.Telepathy.AccountManager", which this class
     * represents.
     *
     * \return The D-Bus interface name.
     */
    static inline QLatin1String staticInterfaceName()
    {
        return QLatin1String("org.freedesktop.Telepathy.AccountManager");
    }

    /**
     * Creates a AccountManagerInterface associated with the given object on the session bus.
     *
     * \param busName Name of the service the object is on.
     * \param objectPath Path to the object on the service.
     * \param parent Passed to the parent class constructor.
     */
    AccountManagerInterface(
        const QString& busName,
        const QString& objectPath,
        QObject* parent = 0
    );

    /**
     * Creates a AccountManagerInterface associated with the given object on the given bus.
     *
     * \param connection The bus via which the object can be reached.
     * \param busName Name of the service the object is on.
     * \param objectPath Path to the object on the service.
     * \param parent Passed to the parent class constructor.
     */
    AccountManagerInterface(
        const QDBusConnection& connection,
        const QString& busName,
        const QString& objectPath,
        QObject* parent = 0
    );

    /**
     * Creates a AccountManagerInterface associated with the same object as the given proxy.
     *
     * \param proxy The proxy to use. It will also be the QObject::parent()
     *               for this object.
     */
    AccountManagerInterface(Tp::DBusProxy *proxy);

    /**
     * Asynchronous getter for the remote object property \c Interfaces of type \c QStringList.
     *
     * 
     * A list of the interfaces provided by the account manager object.
     *
     * \return A pending variant which will emit finished when the property has been
     *          retrieved.
     */
    inline Tp::PendingVariant *requestPropertyInterfaces() const
    {
        return internalRequestProperty(QLatin1String("Interfaces"));
    }

    /**
     * Asynchronous getter for the remote object property \c ValidAccounts of type \c Tp::ObjectPathList.
     *
     * 
     * A list of the valid (complete, usable) Accounts. Change notification is 
     * via AccountValidityChanged. This split between valid and invalid 
     * accounts makes it easy to ignore the invalid ones. The only things that 
     * should be manipulating invalid accounts are account-editing UIs, which 
     * might be able to rescue them.
     *
     * \return A pending variant which will emit finished when the property has been
     *          retrieved.
     */
    inline Tp::PendingVariant *requestPropertyValidAccounts() const
    {
        return internalRequestProperty(QLatin1String("ValidAccounts"));
    }

    /**
     * Asynchronous getter for the remote object property \c InvalidAccounts of type \c Tp::ObjectPathList.
     *
     * 
     * A list of incomplete or otherwise unusable Accounts. Change 
     * notification is via AccountValidityChanged.
     *
     * \return A pending variant which will emit finished when the property has been
     *          retrieved.
     */
    inline Tp::PendingVariant *requestPropertyInvalidAccounts() const
    {
        return internalRequestProperty(QLatin1String("InvalidAccounts"));
    }

    /**
     * Asynchronous getter for the remote object property \c SupportedAccountProperties of type \c QStringList.
     *
     * 
     * \htmlonly
     * <p>A list of the fully qualified names of properties that can be set
     *   via the Properties argument to
     *    \endhtmlonly CreateAccount() \htmlonly  when an account is
     *   created.</p>
     * 
     * <div class="rationale">
     *   <p>Examples of good properties to support here include
     *      \endhtmlonly \link AccountInterface::requestPropertyIcon() AccountInterface::Icon \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyEnabled() AccountInterface::Enabled \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyNickname() AccountInterface::Nickname \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyAutomaticPresence() AccountInterface::AutomaticPresence \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyConnectAutomatically() AccountInterface::ConnectAutomatically \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertySupersedes() AccountInterface::Supersedes \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyRequestedPresence() AccountInterface::RequestedPresence \endlink \htmlonly 
     *     and
     *      \endhtmlonly \link AccountInterfaceAvatarInterface::requestPropertyAvatar() AccountInterfaceAvatarInterface::Avatar \endlink \htmlonly .
     *     </p>
     * 
     *   <p>Examples of properties that would make no sense here include
     *      \endhtmlonly \link AccountInterface::requestPropertyValid() AccountInterface::Valid \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyConnection() AccountInterface::Connection \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyConnectionStatus() AccountInterface::ConnectionStatus \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyConnectionStatusReason() AccountInterface::ConnectionStatusReason \endlink \htmlonly ,
     *      \endhtmlonly \link AccountInterface::requestPropertyCurrentPresence() AccountInterface::CurrentPresence \endlink \htmlonly 
     *     and
     *      \endhtmlonly \link AccountInterface::requestPropertyNormalizedName() AccountInterface::NormalizedName \endlink \htmlonly .
     *   </p>
     * </div>
     * 
     * <p>This property MUST NOT include include the  \endhtmlonly \link AccountInterface::requestPropertyDisplayName() AccountInterface::DisplayName \endlink \htmlonly 
     *   and  \endhtmlonly \link AccountInterface::requestPropertyParameters() AccountInterface::Parameters \endlink \htmlonly 
     *   properties, which are set using separate arguments.</p>
     * 
     * <p>This property MAY include the names of properties that, after
     *   account creation, will be read-only: this indicates that the property
     *   can be set at account creation but not changed later.</p>
     * 
     * <div class="rationale">
     *   <p>For example, an account manager might support migration tools that
     *     use this to preserve the  \endhtmlonly \link AccountInterface::requestPropertyHasBeenOnline() AccountInterface::HasBeenOnline \endlink \htmlonly 
     *     property, even though that property is usually read-only.</p>
     * </div>
     * \endhtmlonly
     *
     * \return A pending variant which will emit finished when the property has been
     *          retrieved.
     */
    inline Tp::PendingVariant *requestPropertySupportedAccountProperties() const
    {
        return internalRequestProperty(QLatin1String("SupportedAccountProperties"));
    }

    /**
     * Request all of the DBus properties on the interface.
     *
     * \return A pending variant map which will emit finished when the properties have
     *          been retrieved.
     */
    Tp::PendingVariantMap *requestAllProperties() const
    {
        return internalRequestAllProperties();
    }

public Q_SLOTS:
    /**
     * Begins a call to the D-Bus method \c CreateAccount on the remote object.
     * 
     * Request the creation of a new Account. The account manager SHOULD NOT 
     * allow invalid accounts to be created.
     *
     * Note that \a timeout is ignored as of now. It will be used once
     * http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.
     *
     *
     * \param connectionManager
     *     
     *     The name of the connection manager, e.g. &quot;salut&quot;.
     *
     * \param protocol
     *     
     *     The protocol, e.g. &quot;local-xmpp&quot;.
     *
     * \param displayName
     *     
     *     The initial value of the new account&apos;s DisplayName property. 
     *     The account manager SHOULD modify this to make it unique if an 
     *     Account already exists with the same display name, for instance by 
     *     appending a number or the &apos;account&apos; parameter. Account 
     *     manager implementations SHOULD accept an empty string, but account 
     *     editing user interfaces should avoid passing an empty string for 
     *     this parameter. The account creation UI may ask the user for a name 
     *     for the new account. If the author of the UI chooses not to do 
     *     this, the account creation UI is better able to suggest a default 
     *     display name because it has protocol-specific knowledge which the 
     *     account manager does not. The account manager always knows the 
     *     complete list of accounts so it can easily tell whether it should 
     *     append something to the display name to avoid presenting two 
     *     identically-named accounts to the user.
     *
     * \param parameters
     *     
     *     Initial parameter values, as would be passed to RequestConnection.
     *
     * \param properties
     *     
     *     \htmlonly
     *     <p>The values of any other properties to be set immediately on the
     *       new Account.</p>
     *     
     *     <p>Only the properties mentioned in
     *        \endhtmlonly \link requestPropertySupportedAccountProperties() SupportedAccountProperties \endlink \htmlonly  are
     *       acceptable here. In particular, the  \endhtmlonly \link AccountInterface::requestPropertyDisplayName() AccountInterface::DisplayName \endlink \htmlonly 
     *       and  \endhtmlonly \link AccountInterface::requestPropertyParameters() AccountInterface::Parameters \endlink \htmlonly 
     *       properties are never allowed here, since they are set using the other
     *       arguments to this method.</p>
     *     
     *     <p>Account manager implementations SHOULD support creating accounts
     *       with an empty value for this argument.</p>
     *     \endhtmlonly
     * \param timeout The timeout in milliseconds.
     *
     * \return
     *     
     *     The new Account.
     */
    inline QDBusPendingReply<QDBusObjectPath> CreateAccount(const QString& connectionManager, const QString& protocol, const QString& displayName, const QVariantMap& parameters, const QVariantMap& properties, int timeout = -1)
    {
        if (!invalidationReason().isEmpty()) {
            return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
                invalidationReason(),
                invalidationMessage()
            ));
        }

        QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
                this->staticInterfaceName(), QLatin1String("CreateAccount"));
        callMessage << QVariant::fromValue(connectionManager) << QVariant::fromValue(protocol) << QVariant::fromValue(displayName) << QVariant::fromValue(parameters) << QVariant::fromValue(properties);
        return this->connection().asyncCall(callMessage, timeout);
    }

Q_SIGNALS:
    /**
     * Represents the signal \c AccountRemoved on the remote object.
     * 
     * The given account has been removed. This is effectively change 
     * notification for the valid and invalid accounts lists. On emission of 
     * this signal, the Account indicated will no longer be present in either 
     * of the lists.
     *
     * \param account
     *     
     *     An Account, which must not be used any more.
     */
    void AccountRemoved(const QDBusObjectPath& account);

    /**
     * Represents the signal \c AccountValidityChanged on the remote object.
     * 
     * The validity of the given account has changed. New accounts are also 
     * indicated by this signal, as an account validity change (usually to 
     * True) on an account that did not previously exist. This is effectively 
     * change notification for the valid and invalid accounts lists.
     *
     * \param account
     *     
     *     An Account.
     *
     * \param valid
     *     
     *     True if the account is now valid.
     */
    void AccountValidityChanged(const QDBusObjectPath& account, bool valid);

protected:
    virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
};
}
}
Q_DECLARE_METATYPE(Tp::Client::AccountManagerInterface*)