annotate liboctave/system/oct-uname.h @ 21731:3dfec4c1eb8b

use namespace for system uname class * oct-uname.h, oct-uname.cc: Put uname class in octave::sys namespace. Change all uses.
author John W. Eaton <jwe@octave.org>
date Wed, 18 May 2016 14:09:17 -0400
parents 1473547f50f5
children 11af9c03400c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
1 /*
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
2
19697
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17822
diff changeset
3 Copyright (C) 2005-2015 John W. Eaton
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
4
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
6
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
10 option) any later version.
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
11
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
15 for more details.
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
16
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
18 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6108
diff changeset
19 <http://www.gnu.org/licenses/>.
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
20
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
21 */
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
22
20791
f7084eae3318 maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents: 19697
diff changeset
23 #if ! defined (octave_oct_uname_h)
21201
88b41a4711e2 maint: Correct names used in #ifdefs to prevent re-loading .h files.
Rik <rik@octave.org>
parents: 20791
diff changeset
24 #define octave_oct_uname_h 1
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
25
21244
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21201
diff changeset
26 #include "octave-config.h"
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21201
diff changeset
27
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
28 #include <string>
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
29
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
30 namespace
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
31 octave
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
32 {
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
33 namespace
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
34 sys
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
35 {
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
36 class
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
37 OCTAVE_API
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
38 uname
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
39 {
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
40 public:
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
41
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
42 uname (void)
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
43 : m_sysname ("unknown"), m_nodename ("unknown"),
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
44 m_release ("unknown"), m_version ("unknown"),
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
45 m_machine ("unknown"),
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
46 msg ("uname not supported on this system"), err (-1)
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
47 { init (); }
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
48
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
49 uname (const uname& unm)
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
50 : m_sysname (unm.m_sysname), m_nodename (unm.m_nodename),
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
51 m_release (unm.m_release), m_version (unm.m_version),
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
52 m_machine (unm.m_machine), msg (unm.msg), err (unm.err)
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
53 { }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
54
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
55 uname& operator = (const uname& unm)
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
56 {
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
57 if (this != &unm)
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
58 {
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
59 m_sysname = unm.m_sysname;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
60 m_nodename = unm.m_nodename;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
61 m_release = unm.m_release;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
62 m_version = unm.m_version;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
63 m_machine = unm.m_machine;
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
64
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
65 msg = unm.msg;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
66 err = unm.err;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
67 }
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
68
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
69 return *this;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
70 }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
71
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
72 ~uname (void) { }
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
73
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
74 std::string sysname (void) const { return m_sysname; }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
75 std::string nodename (void) const { return m_nodename; }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
76 std::string release (void) const { return m_release; }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
77 std::string version (void) const { return m_version; }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
78 std::string machine (void) const { return m_machine; }
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
79
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
80 std::string message (void) const { return msg; }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
81 int error (void) const { return err; }
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
82
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
83 private:
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
84
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
85 std::string m_sysname;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
86 std::string m_nodename;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
87 std::string m_release;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
88 std::string m_version;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
89 std::string m_machine;
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
90
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
91 std::string msg;
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
92 int err;
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
93
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
94 void init (void);
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
95 };
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
96 }
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
97 }
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
98
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
99 #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
100
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
101 OCTAVE_DEPRECATED ("use octave::sys::uname instead")
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
102 typedef octave::sys::uname octave_uname;
5547
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
103
8b0b36c2dc0c [project @ 2005-11-29 17:41:33 by jwe]
jwe
parents:
diff changeset
104 #endif
21731
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
105
3dfec4c1eb8b use namespace for system uname class
John W. Eaton <jwe@octave.org>
parents: 21244
diff changeset
106 #endif