2 * (c) Oleg Puchinin 2007
3 * graycardinalster@gmail.com
11 #include <gclib/gclib.h>
12 #include <gclib/gclib_c.h>
17 extern "C" DArray
* plugin_init (struct env_t
*env
);
20 char simple_plugin_opt (DArray
* d_opts
, int * pos
)
25 if (! d_opts
|| ! pos
)
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".
39 char simple_plugin_opt2 (DArray
* d_opts
, int * pos
)
43 if (! d_opts
|| ! pos
)
46 S
= d_opts
->get (*pos
);
47 if (EQ (S
, "--simple_plugin")) {
48 // Do somethings at stage two.
54 void simple_plugin_short_info ()
56 printf ("Simple plugin.");
59 void simple_plugin_long_info ()
61 printf ("Simple plugin.\n");
62 printf ("Version: 1.0\n");
63 printf ("options: --simple-plugin\n");
66 DArray
* plugin_init (struct env_t
*env
)
69 struct mod_feature
* pm
;
73 pm
= CNEW (mod_feature
, 1);
74 memset (pm
, 0, sizeof (mod_feature
));
75 pm
->mod
.Type
= TYPE_FEATURE
;
76 pm
->mod
.Version
= strdup ("1.0");
77 pm
->mod
.short_info
= simple_plugin_short_info
;
78 pm
->mod
.long_info
= simple_plugin_long_info
;
79 pm
->opt
= simple_plugin_opt
;
80 pm
->opt2
= simple_plugin_opt2
;
82 Ret
->add (LPCHAR (pm
));