This file is indexed.

/usr/include/citygml/citygmllogger.h is in libcitygml-dev 2.0.8-1.

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
#pragma once

#include <citygml/citygml_api.h>

#include <sstream>

namespace citygml {

    class LIBCITYGML_EXPORT CityGMLLogger {
    public:
        enum class LOGLEVEL {
            LL_ERROR = 4,
            LL_WARNING = 3,
            LL_INFO = 2,
            LL_DEBUG = 1,
            LL_TRACE = 0
        };

        CityGMLLogger(LOGLEVEL level = LOGLEVEL::LL_ERROR):m_logLevel(level){}

        /**
         * @brief logs a message. Might be called from different threads.
         */
        virtual void log(LOGLEVEL level, const std::string& message, const char* file=nullptr, int line=-1) const = 0;

        virtual bool isEnabledFor(LOGLEVEL level) const {
            return level >= getLogLevel();
        };

        virtual LOGLEVEL getLogLevel() const{
            return m_logLevel;
        };

        virtual LOGLEVEL setLogLevel(LOGLEVEL level) {
            return m_logLevel = level;
        };
    private:

        LOGLEVEL m_logLevel;
    };

    /**
      * @brief logs a message for a certain log level
      * @param logger a pointer to a CityGMLLogger
      * @param level the CityGMLLogger::LOGLEVEL
      * @param message a string or a stream expression
      */
    #define CITYGML_LOG(logger, level, message)                             \
        do {                                                                \
            if (logger->isEnabledFor(level)) {                              \
                std::stringstream ss;                                       \
                ss << message;                                              \
                logger->log(level, ss.str(), __FILE__,  __LINE__);          \
            }                                                               \
        } while (0);


    #define CITYGML_LOG_ERROR(logger, message) CITYGML_LOG(logger, citygml::CityGMLLogger::LOGLEVEL::LL_ERROR, message)
    #define CITYGML_LOG_WARN(logger, message) CITYGML_LOG(logger, citygml::CityGMLLogger::LOGLEVEL::LL_WARNING, message)
    #define CITYGML_LOG_INFO(logger, message) CITYGML_LOG(logger, citygml::CityGMLLogger::LOGLEVEL::LL_INFO, message)
    #define CITYGML_LOG_DEBUG(logger, message) CITYGML_LOG(logger, citygml::CityGMLLogger::LOGLEVEL::LL_DEBUG, message)
    #define CITYGML_LOG_TRACE(logger, message) CITYGML_LOG(logger, citygml::CityGMLLogger::LOGLEVEL::LL_TRACE, message)
}