OLD | NEW |
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // A table of power states, to be included when building tabular things. | 5 // A table of power states, to be included when building tabular things. |
6 // | 6 // |
7 // This file is used to construct two things: an enumerated type in | 7 // See network_states.h for details. |
8 // metrics_daemon.h, and a table of structures with state names in | |
9 // metrics_daemon.cc. Including this file ensures that the two tables are | |
10 // always in sync (and saves typing). I don't know of other ways of achieving | |
11 // the same result in C/C++, but it doesn't mean there isn't one. | |
12 | |
13 // Before you include this file, define STATE to do something useful, or else | |
14 // if will be a no-op. STATE will be undefined on exit. Don't worry about | |
15 // collisions for the STATE macro (as long as it's a macro) because the | |
16 // compiler will flag them---in that case, just change the name. If someone is | |
17 // misguided enough to use STATE for something other than a macro, the error | |
18 // messages will be slightly more complicated. | |
19 | 8 |
20 | 9 |
21 #ifndef STATE | 10 #ifndef STATE |
22 #define STATE(name, capname) | 11 #define STATE(name, capname) |
23 #endif | 12 #endif |
24 | 13 |
25 STATE(on, On) | 14 STATE(on, On) |
26 STATE(mem, Mem) | 15 STATE(mem, Mem) |
27 | 16 |
28 #undef STATE | 17 #undef STATE |
OLD | NEW |