blob: b02f64a5930760d28eb5a4e06cfce7fbfaed8b92 [file] [log] [blame]
// Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// A table of network states, to be included when building tabular things.
//
// This file is used to construct two things: an enumerated type in
// metrics_daemon.h, and a table of structures with state names in
// metrics_daemon.cc. Including this file ensures that the two tables are
// always in sync (and saves typing). I don't know of other ways of achieving
// the same result in C/C++, but it doesn't mean there isn't one.
// Before you include this file, define STATE to do something useful, or else
// if will be a no-op. STATE will be undefined on exit. Don't worry about
// collisions for the STATE macro (as long as it's a macro) because the
// compiler will flag them---in that case, just change the name. If someone is
// misguided enough to use STATE for something other than a macro, the error
// messages will be slightly more complicated.
#ifndef STATE
#define STATE(name, capname)
#endif
STATE(offline, Offline)
STATE(online, Online)
#undef STATE