[gmpi] Re: low level API - Abstract Factory summary

  • From: Jeff McClintock <jeffmcc@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Fri, 11 Feb 2005 10:34:13 +1300

> note that the vtable format is platform dependent. On Mac OS X
> the first member of the vtable is a reserved void*

Thankyou, now looks like..

// GMPI_Plugin INTERFACE
typedef struct _IGMPI_Plugin
{
   struct IGMPI_PluginVtbl *Vtbl;
} IGMPI_Plugin;

struct IGMPI_PluginVtbl
{
    // IUnknown methods
    #ifdef MACOSX // or maybe just MACOS
          void *_reserved; /* part of COM binary standard on Mac */
    #endif

GMPI_RESULT (*QueryInterface) (IGMPI_Plugin *, const GMPI_GUID, void **);
int32_t (*AddRef) (IGMPI_Plugin *);
int32_t (*Release) (IGMPI_Plugin *);


    // IGMPI_Plugin methods
    int32_t   (*Placeholder1)   (IGMPI_Plugin *, int32_t);
    int32_t   (*Placeholder2)   (IGMPI_Plugin *, int32_t *);
};


---------------------------------------------------------------------- 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

Other related posts: