1 /*                                                                            */
2 /* CDDL HEADER START                                                          */
3 /*                                                                            */
4 /* The contents of this file are subject to the terms of the Common           */
5 /* Development and Distribution License Version 1.0 (the "License").          */
6 /*                                                                            */
7 /* You can obtain a copy of the license at                                    */
8 /* http://www.opensource.org/licenses/CDDL-1.0.  See the License for the      */
9 /* specific language governing permissions and limitations under the License. */
10 /*                                                                            */
11 /* When distributing Covered Code, include this CDDL HEADER in each file and  */
12 /* include the License file in a prominent location with the name             */
13 /* LICENSE.CDDL.                                                              */
14 /* If applicable, add the following below this CDDL HEADER, with the fields   */
15 /* enclosed by brackets "[]" replaced with your own identifying information:  */
16 /*                                                                            */
17 /* Portions Copyright (c) [yyyy] [name of copyright owner].                   */
18 /* All rights reserved.                                                       */
19 /*                                                                            */
20 /* CDDL HEADER END                                                            */
21 /*                                                                            */
22 
23 /*                                                                            */
24 /* Copyright (c) 2016--2020, Regents of the University of Minnesota.          */
25 /* All rights reserved.                                                       */
26 /*                                                                            */
27 /* Contributors:                                                              */
28 /*    Ryan S. Elliott                                                         */
29 /*                                                                            */
30 
31 /*                                                                            */
32 /* Release: This file is part of the kim-api-2.2.1 package.                   */
33 /*                                                                            */
34 
35 
36 #ifndef KIM_LOG_VERBOSITY_H_
37 #define KIM_LOG_VERBOSITY_H_
38 
39 
40 /**
41  ** \brief \copybrief KIM::LogVerbosity
42  **
43  ** \sa KIM::LogVerbosity, kim_log_verbosity_module::kim_log_verbosity_type
44  **
45  ** \since 2.0
46  **/
47 struct KIM_LogVerbosity
48 {
49   /**
50    ** \brief \copybrief KIM::LogVerbosity::logVerbosityID
51    **
52    ** \sa KIM::LogVerbosity::logVerbosityID,
53    ** kim_log_verbosity_module::kim_log_verbosity_type::log_verbosity_id
54    **
55    ** \since 2.0
56    **/
57   int logVerbosityID;
58 };
59 #ifndef KIM_LOG_VERBOSITY_DEFINED_
60 #define KIM_LOG_VERBOSITY_DEFINED_
61 /**
62  ** \brief Convenience typedef.
63  **
64  ** \since 2.0
65  **/
66 typedef struct KIM_LogVerbosity KIM_LogVerbosity;
67 #endif
68 
69 /**
70  ** \brief \copybrief KIM::LogVerbosity::LogVerbosity(std::string const &)
71  **
72  ** \sa KIM::LogVerbosity::LogVerbosity(std::string const &),
73  ** kim_log_verbosity_module::kim_from_string
74  **
75  ** \since 2.0
76  **/
77 KIM_LogVerbosity KIM_LogVerbosity_FromString(char const * const str);
78 
79 /**
80  ** \brief \copybrief KIM::LogVerbosity::Known
81  **
82  ** \sa KIM::LogVerbosity::Known, kim_log_verbosity_module::kim_known
83  **
84  ** \since 2.0
85  **/
86 int KIM_LogVerbosity_Known(KIM_LogVerbosity const logVerbosity);
87 
88 /**
89  ** \brief \copybrief KIM::LogVerbosity::operator<()
90  **
91  ** \sa KIM::LogVerbosity::operator<(),
92  ** kim_log_verbosity_module::operator(.lt.)
93  **
94  ** \since 2.0
95  **/
96 int KIM_LogVerbosity_LessThan(KIM_LogVerbosity const lhs,
97                               KIM_LogVerbosity const rhs);
98 
99 /**
100  ** \brief \copybrief KIM::LogVerbosity::operator>()
101  **
102  ** \sa KIM::LogVerbosity::operator>(),
103  ** kim_log_verbosity_module::operator(.gt.)
104  **
105  ** \since 2.0
106  **/
107 int KIM_LogVerbosity_GreaterThan(KIM_LogVerbosity const lhs,
108                                  KIM_LogVerbosity const rhs);
109 
110 /**
111  ** \brief \copybrief KIM::LogVerbosity::operator<=()
112  **
113  ** \sa KIM::LogVerbosity::operator<=(),
114  ** kim_log_verbosity_module::operator(.le.)
115  **
116  ** \since 2.0
117  **/
118 int KIM_LogVerbosity_LessThanEqual(KIM_LogVerbosity const lhs,
119                                    KIM_LogVerbosity const rhs);
120 
121 /**
122  ** \brief \copybrief KIM::LogVerbosity::operator>=()
123  **
124  ** \sa KIM::LogVerbosity::operator>=(),
125  ** kim_log_verbosity_module::operator(.ge.)
126  **
127  ** \since 2.0
128  **/
129 int KIM_LogVerbosity_GreaterThanEqual(KIM_LogVerbosity const lhs,
130                                       KIM_LogVerbosity const rhs);
131 
132 /**
133  ** \brief \copybrief KIM::LogVerbosity::operator==()
134  **
135  ** \sa KIM::LogVerbosity::operator==(),
136  ** kim_log_verbosity_module::operator(.eq.)
137  **
138  ** \since 2.0
139  **/
140 int KIM_LogVerbosity_Equal(KIM_LogVerbosity const lhs,
141                            KIM_LogVerbosity const rhs);
142 
143 /**
144  ** \brief \copybrief KIM::LogVerbosity::operator!=()
145  **
146  ** \sa KIM::LogVerbosity::operator!=(),
147  ** kim_log_verbosity_module::operator(.ne.)
148  **
149  ** \since 2.0
150  **/
151 int KIM_LogVerbosity_NotEqual(KIM_LogVerbosity const lhs,
152                               KIM_LogVerbosity const rhs);
153 
154 /**
155  ** \brief \copybrief KIM::LogVerbosity::ToString
156  **
157  ** \sa KIM::LogVerbosity::ToString, kim_log_verbosity_module::kim_to_string
158  **
159  ** \since 2.0
160  **/
161 char const * KIM_LogVerbosity_ToString(KIM_LogVerbosity const logVerbosity);
162 
163 /**
164  ** \brief \copybrief KIM::LOG_VERBOSITY::silent
165  **
166  ** \sa KIM::LOG_VERBOSITY::silent,
167  ** kim_log_verbosity_module::kim_log_verbosity_silent
168  **
169  ** \since 2.0
170  **/
171 extern KIM_LogVerbosity const KIM_LOG_VERBOSITY_silent;
172 
173 /**
174  ** \brief \copybrief KIM::LOG_VERBOSITY::fatal
175  **
176  ** \sa KIM::LOG_VERBOSITY::fatal,
177  ** kim_log_verbosity_module::kim_log_verbosity_fatal
178  **
179  ** \since 2.0
180  **/
181 extern KIM_LogVerbosity const KIM_LOG_VERBOSITY_fatal;
182 
183 /**
184  ** \brief \copybrief KIM::LOG_VERBOSITY::error
185  **
186  ** \sa KIM::LOG_VERBOSITY::error,
187  ** kim_log_verbosity_module::kim_log_verbosity_error
188  **
189  ** \since 2.0
190  **/
191 extern KIM_LogVerbosity const KIM_LOG_VERBOSITY_error;
192 
193 /**
194  ** \brief \copybrief KIM::LOG_VERBOSITY::warning
195  **
196  ** \sa KIM::LOG_VERBOSITY::warning,
197  ** kim_log_verbosity_module::kim_log_verbosity_warning
198  **
199  ** \since 2.0
200  **/
201 extern KIM_LogVerbosity const KIM_LOG_VERBOSITY_warning;
202 
203 /**
204  ** \brief \copybrief KIM::LOG_VERBOSITY::information
205  **
206  ** \sa KIM::LOG_VERBOSITY::information,
207  ** kim_log_verbosity_module::kim_log_verbosity_information
208  **
209  ** \since 2.0
210  **/
211 extern KIM_LogVerbosity const KIM_LOG_VERBOSITY_information;
212 
213 /**
214  ** \brief \copybrief KIM::LOG_VERBOSITY::debug
215  **
216  ** \sa KIM::LOG_VERBOSITY::debug,
217  ** kim_log_verbosity_module::kim_log_verbosity_debug
218  **
219  ** \since 2.0
220  **/
221 extern KIM_LogVerbosity const KIM_LOG_VERBOSITY_debug;
222 
223 /**
224  ** \brief \copybrief KIM::LOG_VERBOSITY::GetNumberOfLogVerbosities
225  **
226  ** \sa KIM::LOG_VERBOSITY::GetNumberOfLogVerbosities,
227  ** kim_log_verbosity_module::kim_get_number_of_log_verbosities
228  **
229  ** \since 2.0
230  **/
231 void KIM_LOG_VERBOSITY_GetNumberOfLogVerbosities(
232     int * const numberOfLogVerbosities);
233 
234 /**
235  ** \brief \copybrief KIM::LOG_VERBOSITY::GetLogVerbosity
236  **
237  ** \sa KIM::LOG_VERBOSITY::GetLogVerbosity,
238  ** kim_log_verbosity_module::kim_get_log_verbosity
239  **
240  ** \since 2.0
241  **/
242 int KIM_LOG_VERBOSITY_GetLogVerbosity(int const index,
243                                       KIM_LogVerbosity * const logVerbosity);
244 
245 #endif /* KIM_LOG_VERBOSITY_H_ */
246