home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 September / CHIP_CD_2004-09.iso / software / custombar / CustomBar_trial_100_setup.exe / CBPluginInfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-06-08  |  2.4 KB  |  72 lines

  1. /*   
  2.  ----------------------------------------------------------------------
  3. | CUSTOMBAR PLUGIN SDK
  4. | PLUGIN API DEFINITIONS
  5. |
  6. | This library is distributed in the hope that it will be useful,
  7. | but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. |
  10. | Copyright (C) 2002-2004 Lizardsoft. All Rights Reserved.
  11.  ---------------------------------------------------------------------- */
  12.  
  13. #if !defined(PLUGININFOH_HHH_H_H_HHH___INCLUDED_)
  14. #define PLUGININFOH_HHH_H_H_HHH___INCLUDED_
  15.  
  16. #if _MSC_VER > 1000
  17. #pragma once
  18. #endif // _MSC_VER > 1000
  19.  
  20. #include "datalib.h"
  21.  
  22. typedef UNIVAR P_UNIVAL;
  23.  
  24. #define PL_MAXSTRINGSIZE 5012
  25. #define PL_MAXFUNCNAME     30
  26. #define PL_MAXPLUGNAME     30
  27. #define PL_MAXARRAYNAME    30
  28.  
  29. struct PLUGIN_CALLINFO
  30. {
  31.     int Error;
  32. };
  33.  
  34. struct PLUGIN_FUNC
  35. {
  36.     char *Name;                    // exact function name (case sensitive)
  37.     char *ParamTypes;              // string defining parameter types (eg. "fiisi"). ParamAmt characters are parameter types, last character is return type.
  38.     int ParamAmt;                  // amount of parameters function takes
  39.     int ParamAmtOpt;               // amount of parameters that are optional (ie not specifying them won't crash anything)
  40.  
  41.     // easy way to set function information
  42.     void SetInfo( char *FuncName, char *FuncParamTypes, int FuncParamAmount, int FuncParamAmountOpt = 0 )
  43.     {
  44.         Name        = FuncName;
  45.         ParamTypes  = FuncParamTypes;
  46.         ParamAmt    = FuncParamAmount;
  47.         ParamAmtOpt = FuncParamAmountOpt;
  48.     }
  49. };
  50.  
  51.  
  52. struct PLUGIN_INFO
  53. {
  54.     char *Name;                    // plugin name
  55.     char *ObjectName;              // identifier used to reference plugin in settings files, no spaces allowed (eg. audioplayer)
  56.     char *Author;                  // plugin author
  57.     char *Copyright;               // copyright string (set to NULL if none)
  58.     char *Website;                 // plugin website (set to NULL if none)
  59.     char *Email;                   // plugin author's e-mail (set to NULL if none)
  60.     char *Version;                 // plugin version string (eg. "v1.2a")
  61.  
  62.     HMODULE hModule;               // plugin handle, filled in by program
  63.  
  64.     PLUGIN_FUNC *FuncInfo;         // function manifest (1D array)
  65.     int FuncAmt;                   // amount of entries in FuncInfo array
  66.  
  67.     char *Reserved1;
  68.     char *Reserved2;
  69. };
  70.  
  71.  
  72. #endif // !defined(PLUGININFOH_HHH_H_H_HHH___INCLUDED_)