This file is indexed.

/usr/include/x86_64-linux-gnu/metkit/MarsLocation.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
/*
 * (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 Tiago Quintino

/// @date Dec 2015

#ifndef metkit_MarsLocation_H
#define metkit_MarsLocation_H


#include "eckit/config/Configuration.h"
#include "metkit/MarsRequest.h"

namespace eckit {
    class JSON;
    class Stream;
}

namespace metkit {

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

/// MarsLocation represents a MarsRequest associated with the hostname and port.
/// From this location, the data can be directly retrieved without going through a queueing system.
/// It assumes all the data identified by the request can be got from the same location.
/// This is useful to identify and retrieve data directly from memory.
///
/// If we consider that a MarsRequest is analogue to a URI, then a MarsLocation is an analogue to a URL

class MarsLocation {

public: // methods

// - Constructors

    MarsLocation(const MarsRequest& r, const std::string& hostname, int port);
    MarsLocation(eckit::Stream&);
    MarsLocation(const eckit::Configuration&);

// -- Destructor

    ~MarsLocation();

// -- Operators

    operator eckit::Value() const;

    void json(eckit::JSON&) const;

    const MarsRequest& request() const;

    std::string hostname() const;

    int port() const;


private: // members

    MarsRequest 	request_;
    std::string     hostname_;
    int             port_;

private: // methods

	void print(std::ostream&) const;
    void encode(eckit::Stream&) const;

// -- Class members


    friend std::ostream& operator<<(std::ostream& s, const MarsLocation& r) {
        r.print(s); return s;
    }

    friend eckit::JSON& operator<<(eckit::JSON& s, const MarsLocation& r) {
        r.json(s); return s;
    }

    friend eckit::Stream& operator<<(eckit::Stream& s, const MarsLocation& r) {
        r.encode(s); return s;
    }
};

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

} // namespace metkit

#endif