summaryrefslogtreecommitdiff
path: root/dom/base/nsGkAtoms.h
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/nsGkAtoms.h')
-rw-r--r--dom/base/nsGkAtoms.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/dom/base/nsGkAtoms.h b/dom/base/nsGkAtoms.h
new file mode 100644
index 0000000000..12f51b0cfc
--- /dev/null
+++ b/dom/base/nsGkAtoms.h
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This class wraps up the creation (and destruction) of the standard
+ * set of atoms used by gklayout; the atoms are created when gklayout
+ * is loaded and they are destroyed when gklayout is unloaded.
+ */
+
+#ifndef nsGkAtoms_h___
+#define nsGkAtoms_h___
+
+class nsIAtom;
+
+class nsGkAtoms {
+public:
+
+ static void AddRefAtoms();
+
+ /* Declare all atoms
+
+ The atom names and values are stored in nsGkAtomList.h and
+ are brought to you by the magic of C preprocessing
+
+ Add new atoms to nsGkAtomList and all support logic will be auto-generated
+ */
+#define GK_ATOM(_name, _value) static nsIAtom* _name;
+#include "nsGkAtomList.h"
+#undef GK_ATOM
+};
+
+#endif /* nsGkAtoms_h___ */