This file is indexed.

/usr/include/x86_64-linux-gnu/alljoyn/config/ConfigService.h is in liballjoyn-dev-1604 16.04a+dfsg.1-2.

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
/******************************************************************************
 * Copyright AllSeen Alliance. All rights reserved.
 *
 *    Permission to use, copy, modify, and/or distribute this software for any
 *    purpose with or without fee is hereby granted, provided that the above
 *    copyright notice and this permission notice appear in all copies.
 *
 *    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 *    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 *    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 *    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 *    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 *    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 *    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 ******************************************************************************/

#ifndef CONFIGSERVICE_H
#define CONFIGSERVICE_H

#include <alljoyn/config/AboutDataStoreInterface.h>
#include <alljoyn/BusObject.h>
#include <alljoyn/about/PropertyStore.h>

namespace ajn {
namespace services {
/**
 * ConfigService is an AllJoyn BusObject that implements the org.alljoyn.Config standard interface.
 * Applications that provide AllJoyn IoE services with config capability
 */
class ConfigService : public ajn::BusObject {
  public:

    /**
     *	Listener is a callback that is called by ConfigService implemented  by the application to provide system calls and control
     *
     */
    class Listener {
      public:
        /**
         * Application should implement Restart of the device.
         * @return status - success/failure
         */
        virtual QStatus Restart() = 0;
        /**
         * Application should implement FactoryReset  of the device ,return to default values including password !
         * @return status - success/failure
         */
        virtual QStatus FactoryReset() = 0;
        /**
         *	Application should receive Passphrase info and persist it.
         * @param[in] daemonRealm to persist
         * @param[in] passcodeSize	size in bytes of the passcode
         * @param[in] passcode content
         * @param[in] sessionId the session that made this request
         * @return status - success/failure
         */
        virtual QStatus SetPassphrase(const char* daemonRealm, size_t passcodeSize, const char* passcode, SessionId sessionId) = 0;
        /**
         *
         */
        virtual ~Listener() = 0;
    };

    /**
     * Constructor of a ConfigService
     * @param bus reference
     * @param store reference
     * @param listener reference
     */
    ConfigService(ajn::BusAttachment& bus, AboutDataStoreInterface& store, Listener& listener);


    /**
     * Constructor of a ConfigService
     * @param bus reference
     * @param store reference
     * @param listener reference
     *
     * @deprecated Please see ConfigService(ajn::BusAttachment&, AboutDataStoreInterface&, Listener&)
     */
    QCC_DEPRECATED(ConfigService(ajn::BusAttachment& bus, PropertyStore& store, Listener& listener));
    /**
     * Destructor of ConfigService
     */
    ~ConfigService();

    /**
     * Register the ConfigService on the alljoyn bus.
     * @return status.
     */
    QStatus Register();

  private:

    /**
     * Handles the FactoryReset method
     * @param member
     * @param msg reference of alljoyn Message
     */
    void FactoryResetHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the Restart method
     * @param member
     * @param msg reference of alljoyn Message
     */
    void RestartHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the SetPasscode method
     * @param member
     * @param msg reference of alljoyn Message
     */
    void SetPasscodeHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the GetConfiguration method
     * @param member
     * @param msg reference of alljoyn Message
     */
    void GetConfigurationsHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the UpdateConfigurations method
     * @param member
     * @param msg reference of alljoyn Message
     */
    void UpdateConfigurationsHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the DeleteConfigurations method
     * @param member
     * @param msg reference of alljoyn Message
     */
    void ResetConfigurationsHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the GetLanguages method
     * @param member
     * @param msg of alljoyn received
     */
    void GetLanguagesHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the SetDefaultLanguage method
     * @param member
     * @param msg reference of alljoyn Message
     */
    void SetDefaultLanguageHandler(const ajn::InterfaceDescription::Member* member, ajn::Message& msg);

    /**
     * Handles the GetPropery request
     * @param ifcName  interface name
     * @param propName the name of the propery
     * @param val reference of MsgArg out parameter.
     * @return status - success/failure
     */
    QStatus Get(const char* ifcName, const char* propName, MsgArg& val);

    /**
     * pointer of BusAttachment
     */
    ajn::BusAttachment* m_BusAttachment;

    /**
     * pointer of AboutData implementing the storage.
     */
    AboutDataStoreInterface* m_AboutDataStore;

    /**
     * pointer of PropertyStore implementing the storage.
     */
    PropertyStore* m_PropertyStore;

    /**
     * pointer of Listener
     */
    Listener* m_Listener;
};
inline ConfigService::Listener::~Listener() {
}

}
}

#endif