michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* michael@0: * This class wraps up the creation (and destruction) of the standard michael@0: * set of atoms used by gklayout; the atoms are created when gklayout michael@0: * is loaded and they are destroyed when gklayout is unloaded. michael@0: */ michael@0: michael@0: #include "nsGkAtoms.h" michael@0: #include "nsStaticAtom.h" michael@0: michael@0: using namespace mozilla; michael@0: michael@0: // define storage for all atoms michael@0: #define GK_ATOM(name_, value_) nsIAtom* nsGkAtoms::name_; michael@0: #include "nsGkAtomList.h" michael@0: #undef GK_ATOM michael@0: michael@0: #define GK_ATOM(name_, value_) NS_STATIC_ATOM_BUFFER(name_##_buffer, value_) michael@0: #include "nsGkAtomList.h" michael@0: #undef GK_ATOM michael@0: michael@0: static const nsStaticAtom GkAtoms_info[] = { michael@0: #define GK_ATOM(name_, value_) NS_STATIC_ATOM(name_##_buffer, &nsGkAtoms::name_), michael@0: #include "nsGkAtomList.h" michael@0: #undef GK_ATOM michael@0: }; michael@0: michael@0: void nsGkAtoms::AddRefAtoms() michael@0: { michael@0: NS_RegisterStaticAtoms(GkAtoms_info); michael@0: } michael@0: