Add very old versions (for history).
[opsoft_archive.git] / silentbob / silentbob-1.4 / templates / simple_plugin.cxx
blob116fe5a2e064d23df2d64727a28ba6f74a5e05b5
1 /*
2 * (c) Oleg Puchinin 2007
3 * graycardinalster@gmail.com
5 */
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include <unistd.h>
10 #include <fcntl.h>
11 #include <gclib/gclib.h>
12 #include <gclib/gclib_c.h>
13 #include <mod.h>
14 #include <head.h>
15 #include <dbg.h>
17 extern "C" DArray * plugin_init (struct env_t *env);
18 struct env_t *ENV;
20 char simple_plugin_opt (DArray * d_opts, int * pos)
22 int count;
23 char * S;
25 if (! d_opts || ! pos)
26 return 0;
28 count = d_opts->get_size ();
29 S = d_opts->get (*pos);
30 if (EQ (S, "--simple_plugin")) {
31 if (++(*pos) >= count)
32 return 0; // Missed argument for option "--simple-plugin".
33 // Do somethings.
36 return 0;
39 char simple_plugin_opt2 (DArray * d_opts, int * pos)
41 char * S;
43 if (! d_opts || ! pos)
44 return 0;
46 S = d_opts->get (*pos);
47 if (EQ (S, "--simple_plugin")) {
48 // Do somethings at stage two.
51 return 0;
54 void simple_plugin_info ()
56 printf ("Simple plugin.\n");
57 printf ("Version: 1.0\n");
58 printf ("options: --simple-plugin\n");
61 DArray * plugin_init (struct env_t *env)
63 DArray * Ret;
64 struct mod_feature * pm;
66 ENV = env;
67 Ret = new DArray (1);
68 pm = CNEW (mod_feature, 1);
69 memset (pm, 0, sizeof (mod_feature));
70 pm->mod.Type = TYPE_FEATURE;
71 pm->mod.Version = strdup ("1.0");
72 pm->mod.info = simple_plugin_info;
73 pm->opt = simple_plugin_opt;
74 pm->opt2 = simple_plugin_opt2;
76 Ret->add (LPCHAR (pm));
77 return Ret;