This file is indexed.

/usr/include/x86_64-linux-gnu/metkit/MarsLanguage.h is in libodb-api-dev 0.17.6-2build1.

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
/*
 * (C) Copyright 1996-2017 ECMWF.
 *
 * This software is licensed under the terms of the Apache Licence Version 2.0
 * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
 * In applying this licence, ECMWF does not waive the privileges and immunities
 * granted to it by virtue of its status as an intergovernmental organisation nor
 * does it submit to any jurisdiction.
 */

/// @author Manuel Fuentes
/// @author Baudouin Raoult
/// @author Tiago Quintino

/// @date Sep 96

#ifndef metkit_MarsLanguage_H
#define metkit_MarsLanguage_H

#include "metkit/MarsRequest.h"
#include "eckit/memory/NonCopyable.h"


namespace metkit {

class Type;
class FlattenCallback;

//----------------------------------------------------------------------------------------------------------------------

class ExpandContext {
public:
    virtual void print(std::ostream&) const = 0;
};


//----------------------------------------------------------------------------------------------------------------------


class MarsLanguage : private eckit::NonCopyable {

    typedef std::map<std::string, std::string> StringMap;

public: // methods

    MarsLanguage(const std::string& verb);

    ~MarsLanguage();

    MarsRequest expand(const MarsRequest& r, bool inherit);

    void reset();

    const std::string& verb() const;

    void flatten(const MarsRequest& request, FlattenCallback& callback);

public: // class methods

    static std::string expandVerb(const std::string& verb);

    static std::string bestMatch(const std::string& what,
                                 const std::vector<std::string>& values,
                                 bool fail,
                                 bool quiet,
                                 const StringMap& aliases = StringMap(),
                                 const ExpandContext* = 0);

    static eckit::Value jsonFile(const std::string& name);


private: // methods

    void flatten(const MarsRequest& request,
                 const std::vector<std::string>& params,
                 size_t i,
                 MarsRequest& result,
                 FlattenCallback& callback);

    Type* type(const std::string& name) const;

private: // members

    std::string verb_;
    std::map<std::string, Type* > types_;
    std::vector<std::string> keywords_;

    StringMap aliases_;

    mutable StringMap cache_;

};

//----------------------------------------------------------------------------------------------------------------------

} // namespace metkit

#endif