42 myopen (LumieraInterface
self, LumieraInterface interfaces)
44 LUMIERA_PLUGIN_STORE_INTERFACEHANDLE (interfaces);
46 fprintf (stderr,
"opened %p global interfaces %p\n",
self, interfaces);
51 myclose (LumieraInterface
self)
53 fprintf (stderr,
"closed %p\n",
self);
58 printf (
"Hallo Welt!\n");
61 void tschuess (
const char* m)
63 printf (
"Tschuess %s\n", m);
68 printf (
"Hello World!\n");
71 void bye (
const char* m)
73 printf (
"Bye %s\n", m);
80 LUMIERA_INTERFACE_OPEN (lumieraorg_testhello, 0, 0, lumieraorg_hello_german);
83 LUMIERA_INTERFACE_OPEN (lumieraorg_testhello, 0, 0, lumieraorg_hello_english);
86 LUMIERA_INTERFACE_OPEN (lumieraorg_configuration, 0, 0, lumieraorg_configuration);
89 if (config->wordlist_get ("config.path", &path))
90 printf ("config path is: %s\n", path);
91 if (config->wordlist_get ("plugin.path", &path))
92 printf ("plugin path is: %s\n", path);
94 LUMIERA_INTERFACE_CLOSE (config);
98 english->goodbye ("World!");
99 german->goodbye ("Welt!");
101 LUMIERA_INTERFACE_CLOSE (german);
102 LUMIERA_INTERFACE_CLOSE (english);
108 lumieraorg_exampleplugin_descriptor,
110 LUMIERA_INTERFACE_INLINE (
name,
111 const
char*, (LumieraInterface iface),
112 {(void)iface;
return "LumieraTest";}
114 LUMIERA_INTERFACE_INLINE (brief,
115 const char*, (LumieraInterface iface),
116 {(void)iface;
return "Lumiera Test suite examples";}
118 LUMIERA_INTERFACE_INLINE (homepage,
119 const char*, (LumieraInterface iface),
120 {(void)iface;
return "http://www.lumiera.org/develompent.html";}
122 LUMIERA_INTERFACE_INLINE (version,
123 const char*, (LumieraInterface iface),
124 {(void)iface;
return "No Version";}
126 LUMIERA_INTERFACE_INLINE (author,
127 const char*, (LumieraInterface iface),
128 {(void)iface;
return "Christian Thaeter";}
130 LUMIERA_INTERFACE_INLINE (email,
131 const char*, (LumieraInterface iface),
132 {(void)iface;
return "ct@pipapo.org";}
134 LUMIERA_INTERFACE_INLINE (copyright,
135 const char*, (LumieraInterface iface),
139 "Copyright (C) Lumiera.org\n" 140 " 2008 Christian Thaeter <ct@pipapo.org>";
143 LUMIERA_INTERFACE_INLINE (license,
144 const char*, (LumieraInterface iface),
148 "This program is free software; you can redistribute it and/or modify\n" 149 "it under the terms of the GNU General Public License as published by\n" 150 "the Free Software Foundation; either version 2 of the License, or\n" 151 "(at your option) any later version.\n" 153 "This program is distributed in the hope that it will be useful,\n" 154 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" 155 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" 156 "GNU General Public License for more details.\n" 158 "You should have received a copy of the GNU General Public License\n" 159 "along with this program; if not, write to the Free Software\n" 160 "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA";
164 LUMIERA_INTERFACE_INLINE (state,
165 int, (LumieraInterface iface),
169 LUMIERA_INTERFACE_INLINE (versioncmp,
170 int, (
const char* a,
const char* b),
171 {(void)a;(void)b;
return 0;}
177 LUMIERA_INTERFACE_DEFINE (lumieraorg_testhello, 0,
178 lumieraorg_hello_german,
182 LUMIERA_INTERFACE_MAP (hello,
184 LUMIERA_INTERFACE_MAP (goodbye,
187 LUMIERA_INTERFACE_DEFINE (lumieraorg_testhello, 0,
188 lumieraorg_hello_english,
192 LUMIERA_INTERFACE_MAP (hello,
194 LUMIERA_INTERFACE_MAP (goodbye,
197 LUMIERA_INTERFACE_DEFINE (lumieraorg_testtest, 0,
198 lumieraorg_test_both,
202 LUMIERA_INTERFACE_MAP (testit,
LUMIERA_EXPORT(LUMIERA_INTERFACE_DEFINE(lumieraorg_interface, 0, lumieraorg_interface, NULL, NULL, NULL, LUMIERA_INTERFACE_MAP(open, lumiera_interface_open), LUMIERA_INTERFACE_MAP(close, lumiera_interface_close), LUMIERA_INTERFACE_MAP(version, lumiera_interface_version),))
Definition of 'the mother of all interfaces' since this interface is singleton and required for any c...
Not finished development code.
#define LUMIERA_INTERFACE_INSTANCE(iname, version, name, descriptor, acquire, release,...)
Define an interface instance.
A mock interface to support testing of the interface system.
#define LUMIERA_INTERFACE_REF(iname, version, dname)
Return a reference (pointer) to an interface implementation.
A data record to describe interface, interface instances and plug-in instances.
External interface to the lumiera configuration system.
#define LUMIERA_INTERFACE_HANDLE(interface, version)
create a handle for a interface (WIP)
#define LUMIERA_PLUGIN_INTERFACEHANDLE
Create a plugin interface when being compiled as plugin.