home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1999 / MacHack 1999.toast / Papers / aSEPiA example source / plugin / Plugin 2 / CInterfaceProvider2.cpp next >
Encoding:
C/C++ Source or Header  |  1999-06-25  |  805 b   |  41 lines  |  [TEXT/CWIE]

  1. /*---------------------------------------------------------------
  2.  
  3.     CInterfaceProvider.cpp
  4.     
  5.     Provides the function of returning interface pointers based on
  6.     passed in IDs.
  7.  
  8. ---------------------------------------------------------------*/
  9.  
  10. #include "IInterfaceProvider.h"
  11. #include "CInterfaceProvider.h"
  12.  
  13. #include "CPluginInfo.h"
  14. #include "CPluginDrawing.h"
  15.  
  16.  
  17. OSErr    CInterfaceProvider::GetInterfacePointer( unsigned long inID, void** outInterfacePtr )
  18. {
  19.     OSErr    returnValue = noErr;
  20.     
  21.     // create an object based on the passed in ID
  22.     switch( inID ){
  23.         case IPluginInfo_ID:
  24.         {
  25.             *outInterfacePtr = new CPluginInfo();
  26.         } break;
  27.         
  28.         case IPluginDraw_ID:
  29.         {
  30.             *outInterfacePtr = new CPluginDrawing();
  31.         } break;
  32.         
  33.         default:
  34.         {
  35.             returnValue = 1; // an error occured
  36.         };
  37.     
  38.     }
  39.     
  40.     return returnValue;
  41. }