17 #include "eckit/filesystem/PathName.h" 18 #include "eckit/system/Library.h" 19 #include "eckit/system/Plugin.h" 22 class Parametrisation;
33 void initialise(
int argc,
char** argv );
34 void initialize(
int argc,
char** argv );
42 class Library :
public eckit::system::Library {
46 virtual std::string version()
const override;
48 virtual std::string gitsha1(
unsigned int count )
const override;
49 std::string gitsha1()
const {
return gitsha1( 7 ); }
51 void initialise(
int argc,
char** argv );
52 void initialise(
const eckit::Parametrisation& );
57 friend std::ostream& operator<<( std::ostream& s,
const Information& i ) {
61 void print( std::ostream& )
const;
65 virtual eckit::Channel& infoChannel()
const;
66 virtual eckit::Channel& warningChannel()
const;
67 virtual eckit::Channel& traceChannel()
const;
68 virtual eckit::Channel& debugChannel()
const override;
69 bool trace()
const {
return trace_; }
70 virtual bool debug()
const override {
return debug_; }
72 bool traceBarriers()
const {
return trace_barriers_; }
73 bool traceMemory()
const {
return trace_memory_; }
77 void registerPlugin( eckit::system::Plugin& );
78 void deregisterPlugin( eckit::system::Plugin& );
79 const std::vector<eckit::system::Plugin*>& plugins() {
return plugins_; }
81 std::string cachePath()
const;
82 std::string dataPath()
const;
84 void registerDataPath(
const std::string& );
87 virtual const void* addr()
const override;
93 bool trace_memory_{
false};
94 bool trace_barriers_{
false};
95 bool trace_report_{
false};
96 mutable std::unique_ptr<eckit::Channel> info_channel_;
97 mutable std::unique_ptr<eckit::Channel> warning_channel_;
98 mutable std::unique_ptr<eckit::Channel> trace_channel_;
99 mutable std::unique_ptr<eckit::Channel> debug_channel_;
102 std::vector<eckit::system::Plugin*> plugins_;
103 std::vector<std::string> data_paths_;
Contains all atlas classes and methods.
Definition: atlas-grids.cc:33