libstorage-ng
Loading...
Searching...
No Matches
SystemInfo.h
1/*
2 * Copyright (c) 2021 SUSE LLC
3 *
4 * All Rights Reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of version 2 of the GNU General Public License as published
8 * by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, contact Novell, Inc.
17 *
18 * To contact Novell about this file by physical or electronic mail, you may
19 * find current contact information at www.novell.com.
20 */
21
22
23#ifndef STORAGE_SYSTEM_INFO_H
24#define STORAGE_SYSTEM_INFO_H
25
26
27#include <memory>
28#include <boost/noncopyable.hpp>
29
30
31namespace storage
32{
33
34 class Arch;
35
36
48 class SystemInfo : private boost::noncopyable
49 {
50 public:
51
52 SystemInfo();
53 ~SystemInfo();
54
60 const Arch& get_arch();
61
62 public:
63
64 class Impl;
65
66 Impl& get_impl() { return *impl; }
67 const Impl& get_impl() const { return *impl; }
68
69 private:
70
71 const std::unique_ptr<Impl> impl;
72
73 };
74
75}
76
77#endif
Definition Arch.h:36
const Arch & get_arch()
Get an Arch object.
The storage namespace.
Definition Actiongraph.h:40