Bochs/bochs-testing/plugin-test/test8-execlass/main.h

44 lines
1.0 KiB
C
Raw Normal View History

#if defined(WIN32) || defined(__CYGWIN__)
# ifdef MAIN_DLL_EXPORT
# ifdef DLL_EXPORT
# warning I will export DLL symbols for MODULE1
# define MAINAPI __declspec(dllexport)
# endif
# else
# warning I will import DLL symbols for MODULE1
# define MAINAPI __declspec(dllimport)
# endif
#endif
#ifndef MAINAPI
# warning No DLL import/export is needed
# define MAINAPI
#endif
typedef void (*modload_func)(void);
MAINAPI extern const char * version_string;
MAINAPI extern int register_module (const char *name);
// really, this should only be included in the modules. It would be
// incorrect to call module_init from main, even if the compiler allowed
// you to.
extern "C" {
// this prevents C++ name mangling
void module_init ();
};
class MAINAPI Widget {
int id;
const char *name;
float weight;
public:
Widget(int id, const char* name, float weight);
int getId ();
const char* getName ();
float getWeight ();
void print (FILE*);
};
#define MAX_WIDGETS 10
MAINAPI extern Widget* widgets[MAX_WIDGETS];