33 myopen (LumieraInterface
self, LumieraInterface interfaces)
35 LUMIERA_PLUGIN_STORE_INTERFACEHANDLE (interfaces);
37 fprintf (stderr,
"opened %p global interfaces %p\n",
self, interfaces);
42 myclose (LumieraInterface
self)
44 fprintf (stderr,
"closed %p\n",
self);
49 printf (
"Hallo Welt!\n");
52 void tschuess (
const char* m)
54 printf (
"Tschuess %s\n", m);
59 printf (
"Hello World!\n");
62 void bye (
const char* m)
64 printf (
"Bye %s\n", m);
71 LUMIERA_INTERFACE_OPEN (lumieraorg_testhello, 0, 0, lumieraorg_hello_german);
74 LUMIERA_INTERFACE_OPEN (lumieraorg_testhello, 0, 0, lumieraorg_hello_english);
77 LUMIERA_INTERFACE_OPEN (lumieraorg_configuration, 0, 0, lumieraorg_configuration);
80 if (config->wordlist_get ("config.path", &path))
81 printf ("config path is: %s\n", path);
82 if (config->wordlist_get ("plugin.path", &path))
83 printf ("plugin path is: %s\n", path);
85 LUMIERA_INTERFACE_CLOSE (config);
89 english->goodbye ("World!");
90 german->goodbye ("Welt!");
92 LUMIERA_INTERFACE_CLOSE (german);
93 LUMIERA_INTERFACE_CLOSE (english);
99 lumieraorg_exampleplugin_descriptor,
101 LUMIERA_INTERFACE_INLINE (
name,
102 const
char*, (LumieraInterface iface),
103 {(void)iface;
return "LumieraTest";}
105 LUMIERA_INTERFACE_INLINE (brief,
106 const char*, (LumieraInterface iface),
107 {(void)iface;
return "Lumiera Test suite examples";}
109 LUMIERA_INTERFACE_INLINE (homepage,
110 const char*, (LumieraInterface iface),
111 {(void)iface;
return "http://www.lumiera.org/develompent.html";}
113 LUMIERA_INTERFACE_INLINE (version,
114 const char*, (LumieraInterface iface),
115 {(void)iface;
return "No Version";}
117 LUMIERA_INTERFACE_INLINE (author,
118 const char*, (LumieraInterface iface),
119 {(void)iface;
return "Christian Thaeter";}
121 LUMIERA_INTERFACE_INLINE (email,
122 const char*, (LumieraInterface iface),
123 {(void)iface;
return "ct@pipapo.org";}
125 LUMIERA_INTERFACE_INLINE (copyright,
126 const char*, (LumieraInterface iface),
131 " 2008, Christian Thaeter <ct@pipapo.org>";
134 LUMIERA_INTERFACE_INLINE (license,
135 const char*, (LumieraInterface iface),
139 "**Lumiera** is free software; you can redistribute it and/or modify it\n" 140 "under the terms of the GNU General Public License as published by the\n" 141 "Free Software Foundation; either version 2 of the License, or (at your\n" 142 "option) any later version. See the file COPYING for further details." 147 LUMIERA_INTERFACE_INLINE (state,
148 int, (LumieraInterface iface),
152 LUMIERA_INTERFACE_INLINE (versioncmp,
153 int, (
const char* a,
const char* b),
154 {(void)a;(void)b;
return 0;}
160 LUMIERA_INTERFACE_DEFINE (lumieraorg_testhello, 0,
161 lumieraorg_hello_german,
165 LUMIERA_INTERFACE_MAP (hello,
167 LUMIERA_INTERFACE_MAP (goodbye,
170 LUMIERA_INTERFACE_DEFINE (lumieraorg_testhello, 0,
171 lumieraorg_hello_english,
175 LUMIERA_INTERFACE_MAP (hello,
177 LUMIERA_INTERFACE_MAP (goodbye,
180 LUMIERA_INTERFACE_DEFINE (lumieraorg_testtest, 0,
181 lumieraorg_test_both,
185 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.