Roxen.git
/
server
/
modules
/
examples
/
newstyle_fnord.pike
version
»
Context lines:
10
20
40
80
file
none
3
Roxen.git/server/modules/examples/newstyle_fnord.pike:1:
// This is a roxen module. Copyright © 2000, Roxen IS. // This is a small sample module intended to show how a newstyle tag // is written. Note that this is only a very brief overview and that // the new parser is still under development and incompatible changes // might be done in the future. // See fnord.pike for more information of what this tag does. // This variable is shown in the configinterface as the version of the module.
-
constant cvs_version = "$Id: newstyle_fnord.pike,v 1.
8
2000/
09
/
10
16:
42
:
10
nilsson
Exp $";
+
constant cvs_version = "$Id: newstyle_fnord.pike,v 1.
9
2000/
11
/
24
16:
50
:
37
per
Exp $";
// Tell Roxen that this module is threadsafe. constant thread_safe=1; // Inherit code that is needed in every module. inherit "module";
-
+
// moduke.h must be included to use the LOCALE macro below.
+
#include <module.h>
+
// Some defines for the translation system
+
//
+
//<locale-token project="mod_fnord">LOCALE</locale-token>
+
#define LOCALE(X,Y) _DEF_LOCALE("mod_fnord",X,Y)
+
// end of the locale related stuff
+
+
// Define the fnord tag class. It must begin with "Tag". class TagFnord { inherit RXML.Tag; // This constant tells the parser that the tag should be called "fnord". constant name = "fnord"; // Declare the type of the attribute, which happens to be optional. // Since we declare it to be text, we really don't need this line to // get things to work.
Roxen.git/server/modules/examples/newstyle_fnord.pike:57:
} int do_iterate; } } // Some constants to register the module in the RXML parser. constant module_type = MODULE_TAG;
-
constant
module_name = "Newstyle Fnord!";
-
constant
module_doc = "Adds an extra container tag, <fnord> that's supposed
to make
"
-
"things invisible unless the \"fnord\" prestate is present."
+
LocaleString
module_name
_locale
=
LOCALE(0,
"Newstyle Fnord!"
)
;
+
LocaleString
module_doc
_locale
=
+
LOCALE(0,
"Adds an extra container tag, <fnord> that's supposed
"
+
"
to
make
things invisible unless the \"fnord\" prestate is present."
"<p>This module is here as an example of how to write a "
-
"very simple newstyle RXML-parsing module.</p>";
+
"very simple newstyle RXML-parsing module.</p>"
)
;
// Last, but not least, we want a documentation that can be integrated in the // online manual. The mapping tagdoc maps from container names to it's description. // Include this is if you use the TAGDOC system. #include <module.h> TAGDOCUMENTATION; #ifdef manual constant tagdoc=(["fnord":#"<desc cont>The fnord container tag hides its " "contents for the user, unless the fnord prestate is used.</desc>" "<attr name=alt value=string>An alternate text that should be written " "in place of the hidden text.</attr>"]); #endif