There are really 2 SDKs being cleaned up - the host SDK and the plugin SDK. The host and plugin have slightly different views of everything. Examples: In the plugin code, a plugin-specific object is created. That object inherits from the GMPI standard "IGMPI_Plugin". The plugin code can use it as it's own structure, and then pass it to the host. The host, however, can only use the API-specified parts of it. So what I have been playing with is this: In the plugin's point-of-view: We have a native Plugin class which I can subclass. I write real C++ methods. The host will call the C interface. The base class provides the C interface, which is a bunch of stub routines to redirect to the real C++ methods. As a Plugin developer, I never have to worry about that. I write C++. class GMPI_Plugin : public IGMPI_Plugin { /* my plugin stuff here */ } In the host's point-of-view: We have a native Plugin class which I can subclass. I write real C++ methods and call real C++ methods. The plugin expects us to call the C interface. The base class provides real C++ methods which call the C interface. As a Host developer, I never have to worry about that. I write C++. class GMPI_Plugin { IGMPI_Plugin *m_interface; /* my host stuff here */ } Get the model? This allows the C/C++ boundary to be clean and clear. Does this sound right? So here's the question I have. I am immediately uncomfortable having a GMPI_Plugin object defined in the host and defined in the plugin, but different. It might lead to confusion. Is this a justifiable concern? As a temporary solution, I've renamed the host's view to GMPI_PluginInterface. But I hate it. I'd rather have it be GMPI_Plugin. I just want opinions. The headers can be split so that it's clear: <gmpi/host/plugin.h> vs <gmpi/plugin/plugin.h> Or should I stick to PluginInterface or PluginIntf or PluginWrap? Tim ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe