home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wpentk.zip / WBPENTK4.DSK / IDRRECO.H < prev    next >
C/C++ Source or Header  |  1994-10-07  |  30KB  |  827 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ..\..\pentkt\h\idrreco.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.7
  7.  *     SOM Emitter emith: 2.22
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    CLASS: IDRReco
  13.  * 
  14.  *    CLASS HIERARCHY:
  15.  * 
  16.  *      SOMObject
  17.  *        └── IDRReco
  18.  * 
  19.  *    DESCRIPTION:
  20.  * 
  21.  *      Generic input data recognition class.
  22.  */
  23.  
  24.  
  25. #ifndef SOM_IDRReco_h
  26. #define SOM_IDRReco_h
  27.  
  28.  
  29. /*
  30.  * Passthru lines: File: "C.h", "before"
  31.  */
  32.  
  33.  
  34.  
  35. #pragma pack(2)
  36.  
  37. /*
  38. ** Input Data Recognition (IDR) error codes.
  39. ** Certain OS/2 error codes are also used directly. (for ex. NO_ERROR)
  40. */
  41. #include "idrerror.h"
  42.  
  43. /*
  44. **  Defines for symbol types.
  45. */
  46.  
  47. #define IDR_TYPE_ASCII          (USHORT)(0x0002)
  48. #define IDR_TYPE_CTRL           (USHORT)(0xffff)
  49. #define IDR_TYPE_SYSGESTURE     (USHORT)(0x8001)
  50. #define IDR_TYPE_LETTERGESTURE  (USHORT)(0x8002)
  51.  
  52.  
  53. typedef struct _IDR_SYM         /* Basic symbol */
  54. {
  55.   USHORT    usSymType;          /* Symbol, e.g. ASCII, etc. */
  56.   USHORT    usSymVal;           /* Symbol value, For IDR_TYPE_ASCII and 
  57.                                    IDR_TYPE_LETTERGESTURE, this is the
  58.                                    "code point" on the current code page.
  59.                                    For IDR_TYPE_SYSGESTURE this is the
  60.                                    gesture's virtual id. */ 
  61. }   IDR_SYM,
  62.    *PIDR_SYM,
  63.   **PPIDR_SYM;
  64.  
  65. /*
  66. **  Defines for text and gesture symbol subsets.
  67. */
  68.  
  69. #define IDR_SYMSET_FULL        (0x10000000)    /* full symbol set; this is the default */
  70.  
  71. /*
  72. **  Defines for text symbol subsets. These are valid in text mode only.
  73. */
  74.  
  75. #define IDR_SYMSET_ALPHALO     (0x00000001)   /* lower-alphabetic text symbols */
  76. #define IDR_SYMSET_ALPHAHI     (0x00000002)   /* upper-alphabetic text symbols */
  77. #define IDR_SYMSET_DIGIT       (0x00000004)   /* digits; 0 through 9 */
  78. #define IDR_SYMSET_MONETARY    (0x00000008)   /* monetary symbols */
  79. #define IDR_SYMSET_MATH        (0x00000010)   /* mathematical symbols */
  80. #define IDR_SYMSET_PUNCTUATION (0x00000020)   /* punctuation symbols */
  81. #define IDR_SYMSET_SPECIAL     (0x00000040)   /* special symbols */
  82.  
  83.  
  84. typedef struct _IDR_SYMSET /* Symbol set */
  85. {
  86.   ULONG ulSymSets;              /* Symbol subset mask */
  87.   ULONG ulSymCnt;               /* Count of symbols in the symbol list. */
  88.   IDR_SYM SymList[1];           /* Contiguous array of symbols. */
  89. }  IDR_SYMSET,
  90.   *PIDR_SYMSET,
  91.  **PPIDR_SYMSET;
  92.  
  93.  
  94. /*
  95. **  Defines used for setting the metrics.
  96. **  Space disabling is only used if all strokes are known to belong to one word.
  97. **  Direction is defaulted by the object.
  98. */
  99.  
  100. #define IDR_INKFORM_SINGLE_SYM      (0x00000002)
  101. #define IDR_INKFORM_BOXED           (0x00000004)
  102. #define IDR_INKFORM_LINED           (0x00000008)
  103. #define IDR_INKFORM_UNLINED         (0x00000010)
  104.  
  105. #define IDR_INKSPACE_DISABLE_OFF    (0x00000000)
  106. #define IDR_INKSPACE_DISABLE_ON     (0x00000001)
  107.  
  108. #define IDR_INKDIRECT_RIGHT_DOWN    (0x00000001) /* Left->right, top->bottom */ 
  109.  
  110.  
  111. typedef struct _IDR_INKMETRICS
  112. {
  113.   ULONG           ulSSize;          /* IDR_INKMETRICS size                 */
  114.   ULONG           ulRecoForm;       /* Type of segmentation                */
  115.   ULONG           ulSpaceDisable;   /* Don't return any whitespace         */
  116.   ULONG           ulDirection;      /* Direction of "normal" writing     */
  117.   POINTL          ptlOrigin;        /* Origin                              */
  118.   POINTL          ptlOffset;        /* Offset of "gray" area from Origin */
  119.   POINTL          ptlBox;           /* Box extents (width & height)        */
  120.   POINTL          ptlGray;          /* "Gray" area between boxes         */
  121.   LONG            lOffsetBline;     /* Baseline offset from bottom of Box  */
  122.   ULONG           ulRowCount;       /* Row count, 0 == indeterminate       */
  123.   ULONG           ulColCount;       /* Column count, 0 == indeterminate    */
  124. }  IDR_INKMETRICS,
  125.   *PIDR_INKMETRICS,
  126.  **PPIDR_INKMETRICS;
  127.  
  128. #pragma pack()
  129.  
  130.  
  131.  
  132. #include <som.h>
  133.  
  134. /*
  135.  * -- This emitter treats Method Tokens as Thunks by default
  136.  * -- Use the sc modifier "nothunks" to change this default
  137.  */
  138. #undef somresolve_
  139. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  140.  
  141. /*
  142.  * Define the class name as an object type
  143.  */
  144. #ifndef IDRReco
  145. #define IDRReco SOMObject
  146. #endif
  147. #include <somobj.h>
  148.  
  149. /*
  150.  * Start of user-defined types:
  151.  */
  152. #ifndef SOMClass
  153.     #define SOMClass SOMObject
  154. #endif /* SOMClass */
  155. #ifndef SOMObject
  156.     #define SOMObject SOMObject
  157. #endif /* SOMObject */
  158. #ifndef M_IDRReco
  159.     #define M_IDRReco SOMObject
  160. #endif /* M_IDRReco */
  161. #ifndef IDOStroke
  162.     #define IDOStroke SOMObject
  163. #endif /* IDOStroke */
  164. #define ex_IDRReco_IDR_PROB "::IDRReco::IDR_PROB"
  165. typedef
  166. struct IDRReco_IDR_PROB {
  167. ULONG ulErrorCode;
  168. } IDRReco_IDR_PROB;
  169.  
  170. #ifndef SOM_DONT_USE_SHORT_NAMES
  171. #ifndef SOMTGD_ex_IDR_PROB
  172.     #ifdef ex_IDR_PROB
  173.         #undef ex_IDR_PROB
  174.         #define SOMTGD_ex_IDR_PROB 1
  175.     #else
  176.         #define ex_IDR_PROB ex_IDRReco_IDR_PROB
  177.     #endif /* ex_IDR_PROB */
  178. #endif /* SOMTGD_ex_IDR_PROB */
  179. #ifndef SOMTGD_IDR_PROB
  180.     #ifdef IDR_PROB
  181.         #undef IDR_PROB
  182.         #define SOMTGD_IDR_PROB 1
  183.     #else
  184.         #define IDR_PROB IDRReco_IDR_PROB
  185.     #endif /* IDR_PROB */
  186. #endif /* SOMTGD_IDR_PROB */
  187. #endif /* SOM_DONT_USE_SHORT_NAMES */
  188.  
  189. /*
  190.  * End of user-defined types.
  191.  */
  192.  
  193. /*
  194.  * Passthru lines: File: "C.h", "after"
  195.  */
  196.  
  197.  
  198.  
  199. #define IDRReco_MajorVersion 0
  200. #define IDRReco_MinorVersion 1
  201.  
  202. /*
  203.  * External name shortening if required
  204.  */
  205. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  206. #define IDRRecoNewClass c
  207. #pragma linkage(c, system)
  208. #define IDRRecoClassData d
  209. #define IDRRecoCClassData x
  210. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  211.  
  212. /*
  213.  * Include the meta class file
  214.  */
  215. #include <idrreco.h>
  216. /*--------------Migration------------*/
  217. #define IDRReco_classObj IDRRecoClassData.classObject
  218. #define _IDRReco IDRReco_classObj
  219.  
  220. /*
  221.  * Declare the class creation procedure
  222.  */
  223. SOMEXTERN SOMClass * SOMLINK IDRRecoNewClass(integer4 somtmajorVersion,
  224.         integer4 somtminorVersion);
  225. #pragma linkage(IDRRecoNewClass, system)
  226.  
  227. /*
  228.  * Declare the class data structure
  229.  */
  230. SOMEXTERN struct IDRRecoClassDataStructure {
  231.     SOMAny *classObject;
  232.     somMToken idrSetSymSet;
  233.     somMToken idrGetSymSet;
  234.     somMToken idrSetSymbolSubset;
  235.     somMToken idrGetSymbolSubset;
  236.     somMToken idrGetSymbolSubsetInfo;
  237.     somMToken idrSetMetrics;
  238.     somMToken idrGetMetrics;
  239.     somMToken idrAddStroke;
  240.     somMToken idrAddStrokefromStrokeObject;
  241.     somMToken idrClearStrokes;
  242.     somMToken idrSetEngEntryPts;
  243.     somMToken idrSetInstHdls;
  244.     somMToken idrSetCfgValues;
  245.     somMToken idrSetDefaults;
  246.     somMToken idrResetToDefaults;
  247.     somMToken idrSetSymSubsets;
  248.     somMToken idrSetLngMdlUsage;
  249.     somMToken idrSetTrainData;
  250.     somMToken idrGetDefaults;
  251.     somMToken idrGetInstHdls;
  252.     somMToken idrGetEngEntryPts;
  253.     somMToken idrGetCfgValues;
  254.     somMToken idrGetSymSubsets;
  255.     somMToken idrGetLngMdlUsage;
  256.     somMToken idrGetCompCfgCaps;
  257.     somMToken idrGetDataCfgCaps;
  258.     somMToken idrGetTrainData;
  259.     somMToken idrAddRawData;
  260.     somMToken idrDelData;
  261.     somMToken idrDelRawData;
  262.     somMToken idrDataComplete;
  263.     somMToken idrDataClear;
  264.     somMToken idrGetGrf;
  265.     somMToken idrCopyGrf;
  266.     somMToken idrGetGrfChildAltCnt;
  267.     somMToken idrGetGrfChildHndls;
  268.     somMToken idrGetGrfInfoAltCnt;
  269.     somMToken idrGetGrfInfo;
  270.     somMToken idrSetXlateInfo;
  271.     somMToken idrGetXlateInfo;
  272.     somMToken idrXlateSym;
  273.     somMToken idrSetMetricsDefaults;
  274.     somMToken idrGetMetricsDefaults;
  275.     somMToken idrSetState;
  276.     somMToken idrGetState;
  277.     somMToken idrSaveCfg;
  278.     somMToken idrRestoreCfg;
  279.     somMToken idrGetDescriptionFromFile;
  280.     somMToken idrCopyEnviron;
  281.     somMToken idrIGetTrainStatus;
  282. } IDRRecoClassData;
  283.  
  284. /*
  285.  * Declare the C specific class data structure
  286.  */
  287. SOMEXTERN struct IDRRecoCClassDataStructure {
  288.     somMethodTabs parentMtab;
  289.     somDToken instanceDataToken;
  290. } IDRRecoCClassData;
  291.  
  292. /*
  293.  * New and Renew macros for IDRReco
  294.  */
  295. #define IDRRecoNew() \
  296.     ( IDRRecoClassData.classObject \
  297.         ? (_somNew(IDRRecoClassData.classObject)) \
  298.         : ( IDRRecoNewClass(IDRReco_MajorVersion, IDRReco_MinorVersion), (_somNew(IDRRecoClassData.classObject)) ) )
  299. #define IDRRecoRenew(buf) \
  300.     ( _somRenew(IDRRecoClassData.classObject, buf) )
  301.  
  302. /*
  303.  * Override method: somInit
  304.  */
  305. #define IDRReco_somInit(somSelf) \
  306.     SOMObject_somInit(somSelf)
  307.  
  308. /*
  309.  * Override method: somUninit
  310.  */
  311. #define IDRReco_somUninit(somSelf) \
  312.     SOMObject_somUninit(somSelf)
  313.  
  314. /*
  315.  * New Method: idrGetDescriptionFromFile
  316.  */
  317. typedef APIRET   SOMLINK somTP_IDRReco_idrGetDescriptionFromFile(IDRReco *somSelf, Environment *ev,
  318.         PSZ pszFileName,
  319.         PSZ pszDescription);
  320. #pragma linkage(somTP_IDRReco_idrGetDescriptionFromFile, system)
  321. typedef somTP_IDRReco_idrGetDescriptionFromFile *somTD_IDRReco_idrGetDescriptionFromFile;
  322. #define somMD_IDRReco_idrGetDescriptionFromFile "::IDRReco::idrGetDescriptionFromFile"
  323. #define IDRReco_idrGetDescriptionFromFile(somSelf,ev,pszFileName,pszDescription) \
  324.     (SOM_Resolve(somSelf, IDRReco, idrGetDescriptionFromFile) \
  325.     (somSelf,ev,pszFileName,pszDescription))
  326. #ifndef SOMGD_idrGetDescriptionFromFile
  327.     #if (defined(_idrGetDescriptionFromFile) || defined(__idrGetDescriptionFromFile))
  328.         #undef _idrGetDescriptionFromFile
  329.         #undef __idrGetDescriptionFromFile
  330.         #define SOMGD_idrGetDescriptionFromFile 1
  331.     #else
  332.         #define _idrGetDescriptionFromFile IDRReco_idrGetDescriptionFromFile
  333.     #endif /* _idrGetDescriptionFromFile */
  334. #endif /* SOMGD_idrGetDescriptionFromFile */
  335.  
  336. /*
  337.  * New Method: idrSetSymbolSubset
  338.  */
  339. typedef void   SOMLINK somTP_IDRReco_idrSetSymbolSubset(IDRReco *somSelf, Environment *ev,
  340.         PIDR_SYMSET pSymSet);
  341. #pragma linkage(somTP_IDRReco_idrSetSymbolSubset, system)
  342. typedef somTP_IDRReco_idrSetSymbolSubset *somTD_IDRReco_idrSetSymbolSubset;
  343. #define somMD_IDRReco_idrSetSymbolSubset "::IDRReco::idrSetSymbolSubset"
  344. #define IDRReco_idrSetSymbolSubset(somSelf,ev,pSymSet) \
  345.     (SOM_Resolve(somSelf, IDRReco, idrSetSymbolSubset) \
  346.     (somSelf,ev,pSymSet))
  347. #ifndef SOMGD_idrSetSymbolSubset
  348.     #if (defined(_idrSetSymbolSubset) || defined(__idrSetSymbolSubset))
  349.         #undef _idrSetSymbolSubset
  350.         #undef __idrSetSymbolSubset
  351.         #define SOMGD_idrSetSymbolSubset 1
  352.     #else
  353.         #define _idrSetSymbolSubset IDRReco_idrSetSymbolSubset
  354.     #endif /* _idrSetSymbolSubset */
  355. #endif /* SOMGD_idrSetSymbolSubset */
  356.  
  357. /*
  358.  * New Method: idrGetSymbolSubset
  359.  */
  360. typedef void   SOMLINK somTP_IDRReco_idrGetSymbolSubset(IDRReco *somSelf, Environment *ev,
  361.         PIDR_SYMSET pSymSet,
  362.         PULONG pulSize);
  363. #pragma linkage(somTP_IDRReco_idrGetSymbolSubset, system)
  364. typedef somTP_IDRReco_idrGetSymbolSubset *somTD_IDRReco_idrGetSymbolSubset;
  365. #define somMD_IDRReco_idrGetSymbolSubset "::IDRReco::idrGetSymbolSubset"
  366. #define IDRReco_idrGetSymbolSubset(somSelf,ev,pSymSet,pulSize) \
  367.     (SOM_Resolve(somSelf, IDRReco, idrGetSymbolSubset) \
  368.     (somSelf,ev,pSymSet,pulSize))
  369. #ifndef SOMGD_idrGetSymbolSubset
  370.     #if (defined(_idrGetSymbolSubset) || defined(__idrGetSymbolSubset))
  371.         #undef _idrGetSymbolSubset
  372.         #undef __idrGetSymbolSubset
  373.         #define SOMGD_idrGetSymbolSubset 1
  374.     #else
  375.         #define _idrGetSymbolSubset IDRReco_idrGetSymbolSubset
  376.     #endif /* _idrGetSymbolSubset */
  377. #endif /* SOMGD_idrGetSymbolSubset */
  378.  
  379. /*
  380.  * New Method: idrGetSymbolSubsetInfo
  381.  */
  382. typedef void   SOMLINK somTP_IDRReco_idrGetSymbolSubsetInfo(IDRReco *somSelf, Environment *ev,
  383.         ULONG ulSymSets,
  384.         PULONG pulSymCnt,
  385.         PIDR_SYM pSyms);
  386. #pragma linkage(somTP_IDRReco_idrGetSymbolSubsetInfo, system)
  387. typedef somTP_IDRReco_idrGetSymbolSubsetInfo *somTD_IDRReco_idrGetSymbolSubsetInfo;
  388. #define somMD_IDRReco_idrGetSymbolSubsetInfo "::IDRReco::idrGetSymbolSubsetInfo"
  389. #define IDRReco_idrGetSymbolSubsetInfo(somSelf,ev,ulSymSets,pulSymCnt,pSyms) \
  390.     (SOM_Resolve(somSelf, IDRReco, idrGetSymbolSubsetInfo) \
  391.     (somSelf,ev,ulSymSets,pulSymCnt,pSyms))
  392. #ifndef SOMGD_idrGetSymbolSubsetInfo
  393.     #if (defined(_idrGetSymbolSubsetInfo) || defined(__idrGetSymbolSubsetInfo))
  394.         #undef _idrGetSymbolSubsetInfo
  395.         #undef __idrGetSymbolSubsetInfo
  396.         #define SOMGD_idrGetSymbolSubsetInfo 1
  397.     #else
  398.         #define _idrGetSymbolSubsetInfo IDRReco_idrGetSymbolSubsetInfo
  399.     #endif /* _idrGetSymbolSubsetInfo */
  400. #endif /* SOMGD_idrGetSymbolSubsetInfo */
  401.  
  402. /*
  403.  * New Method: idrSetMetrics
  404.  */
  405. typedef void   SOMLINK somTP_IDRReco_idrSetMetrics(IDRReco *somSelf, Environment *ev,
  406.         PIDR_INKMETRICS pMetrics);
  407. #pragma linkage(somTP_IDRReco_idrSetMetrics, system)
  408. typedef somTP_IDRReco_idrSetMetrics *somTD_IDRReco_idrSetMetrics;
  409. #define somMD_IDRReco_idrSetMetrics "::IDRReco::idrSetMetrics"
  410. #define IDRReco_idrSetMetrics(somSelf,ev,pMetrics) \
  411.     (SOM_Resolve(somSelf, IDRReco, idrSetMetrics) \
  412.     (somSelf,ev,pMetrics))
  413. #ifndef SOMGD_idrSetMetrics
  414.     #if (defined(_idrSetMetrics) || defined(__idrSetMetrics))
  415.         #undef _idrSetMetrics
  416.         #undef __idrSetMetrics
  417.         #define SOMGD_idrSetMetrics 1
  418.     #else
  419.         #define _idrSetMetrics IDRReco_idrSetMetrics
  420.     #endif /* _idrSetMetrics */
  421. #endif /* SOMGD_idrSetMetrics */
  422.  
  423. /*
  424.  * New Method: idrGetMetrics
  425.  */
  426. typedef void   SOMLINK somTP_IDRReco_idrGetMetrics(IDRReco *somSelf, Environment *ev,
  427.         PIDR_INKMETRICS pMetrics);
  428. #pragma linkage(somTP_IDRReco_idrGetMetrics, system)
  429. typedef somTP_IDRReco_idrGetMetrics *somTD_IDRReco_idrGetMetrics;
  430. #define somMD_IDRReco_idrGetMetrics "::IDRReco::idrGetMetrics"
  431. #define IDRReco_idrGetMetrics(somSelf,ev,pMetrics) \
  432.     (SOM_Resolve(somSelf, IDRReco, idrGetMetrics) \
  433.     (somSelf,ev,pMetrics))
  434. #ifndef SOMGD_idrGetMetrics
  435.     #if (defined(_idrGetMetrics) || defined(__idrGetMetrics))
  436.         #undef _idrGetMetrics
  437.         #undef __idrGetMetrics
  438.         #define SOMGD_idrGetMetrics 1
  439.     #else
  440.         #define _idrGetMetrics IDRReco_idrGetMetrics
  441.     #endif /* _idrGetMetrics */
  442. #endif /* SOMGD_idrGetMetrics */
  443.  
  444. /*
  445.  * New Method: idrAddStroke
  446.  */
  447. typedef void   SOMLINK somTP_IDRReco_idrAddStroke(IDRReco *somSelf, Environment *ev,
  448.         PSTROKEDATA pData,
  449.         HWND hRelative);
  450. #pragma linkage(somTP_IDRReco_idrAddStroke, system)
  451. typedef somTP_IDRReco_idrAddStroke *somTD_IDRReco_idrAddStroke;
  452. #define somMD_IDRReco_idrAddStroke "::IDRReco::idrAddStroke"
  453. #define IDRReco_idrAddStroke(somSelf,ev,pData,hRelative) \
  454.     (SOM_Resolve(somSelf, IDRReco, idrAddStroke) \
  455.     (somSelf,ev,pData,hRelative))
  456. #ifndef SOMGD_idrAddStroke
  457.     #if (defined(_idrAddStroke) || defined(__idrAddStroke))
  458.         #undef _idrAddStroke
  459.         #undef __idrAddStroke
  460.         #define SOMGD_idrAddStroke 1
  461.     #else
  462.         #define _idrAddStroke IDRReco_idrAddStroke
  463.     #endif /* _idrAddStroke */
  464. #endif /* SOMGD_idrAddStroke */
  465.  
  466. /*
  467.  * New Method: idrAddStrokefromStrokeObject
  468.  */
  469. typedef void   SOMLINK somTP_IDRReco_idrAddStrokefromStrokeObject(IDRReco *somSelf, Environment *ev,
  470.         IDOStroke* pStrokeObj);
  471. #pragma linkage(somTP_IDRReco_idrAddStrokefromStrokeObject, system)
  472. typedef somTP_IDRReco_idrAddStrokefromStrokeObject *somTD_IDRReco_idrAddStrokefromStrokeObject;
  473. #define somMD_IDRReco_idrAddStrokefromStrokeObject "::IDRReco::idrAddStrokefromStrokeObject"
  474. #define IDRReco_idrAddStrokefromStrokeObject(somSelf,ev,pStrokeObj) \
  475.     (SOM_Resolve(somSelf, IDRReco, idrAddStrokefromStrokeObject) \
  476.     (somSelf,ev,pStrokeObj))
  477. #ifndef SOMGD_idrAddStrokefromStrokeObject
  478.     #if (defined(_idrAddStrokefromStrokeObject) || defined(__idrAddStrokefromStrokeObject))
  479.         #undef _idrAddStrokefromStrokeObject
  480.         #undef __idrAddStrokefromStrokeObject
  481.         #define SOMGD_idrAddStrokefromStrokeObject 1
  482.     #else
  483.         #define _idrAddStrokefromStrokeObject IDRReco_idrAddStrokefromStrokeObject
  484.     #endif /* _idrAddStrokefromStrokeObject */
  485. #endif /* SOMGD_idrAddStrokefromStrokeObject */
  486.  
  487. /*
  488.  * New Method: idrClearStrokes
  489.  */
  490. typedef void   SOMLINK somTP_IDRReco_idrClearStrokes(IDRReco *somSelf, Environment *ev);
  491. #pragma linkage(somTP_IDRReco_idrClearStrokes, system)
  492. typedef somTP_IDRReco_idrClearStrokes *somTD_IDRReco_idrClearStrokes;
  493. #define somMD_IDRReco_idrClearStrokes "::IDRReco::idrClearStrokes"
  494. #define IDRReco_idrClearStrokes(somSelf,ev) \
  495.     (SOM_Resolve(somSelf, IDRReco, idrClearStrokes) \
  496.     (somSelf,ev))
  497. #ifndef SOMGD_idrClearStrokes
  498.     #if (defined(_idrClearStrokes) || defined(__idrClearStrokes))
  499.         #undef _idrClearStrokes
  500.         #undef __idrClearStrokes
  501.         #define SOMGD_idrClearStrokes 1
  502.     #else
  503.         #define _idrClearStrokes IDRReco_idrClearStrokes
  504.     #endif /* _idrClearStrokes */
  505. #endif /* SOMGD_idrClearStrokes */
  506. #ifndef SOM_DONT_USE_INHERITED_MACROS
  507. #define IDRReco_somFree SOMObject_somFree
  508. #define IDRReco_somDefaultInit SOMObject_somDefaultInit
  509. #define IDRReco_somDefaultCopyInit SOMObject_somDefaultCopyInit
  510. #define IDRReco_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  511. #define IDRReco_somDestruct SOMObject_somDestruct
  512. #define IDRReco_somDefaultAssign SOMObject_somDefaultAssign
  513. #define IDRReco_somDefaultConstAssign SOMObject_somDefaultConstAssign
  514. #define IDRReco_somGetClass SOMObject_somGetClass
  515. #define IDRReco_somGetClassName SOMObject_somGetClassName
  516. #define IDRReco_somGetSize SOMObject_somGetSize
  517. #define IDRReco_somIsA SOMObject_somIsA
  518. #define IDRReco_somIsInstanceOf SOMObject_somIsInstanceOf
  519. #define IDRReco_somRespondsTo SOMObject_somRespondsTo
  520. #define IDRReco_somDispatchV SOMObject_somDispatchV
  521. #define IDRReco_somDispatchL SOMObject_somDispatchL
  522. #define IDRReco_somDispatchA SOMObject_somDispatchA
  523. #define IDRReco_somDispatchD SOMObject_somDispatchD
  524. #define IDRReco_somDispatch SOMObject_somDispatch
  525. #define IDRReco_somClassDispatch SOMObject_somClassDispatch
  526. #define IDRReco_somCastObj SOMObject_somCastObj
  527. #define IDRReco_somResetObj SOMObject_somResetObj
  528. #define IDRReco_somPrintSelf SOMObject_somPrintSelf
  529. #define IDRReco_somDumpSelf SOMObject_somDumpSelf
  530. #define IDRReco_somDumpSelfInt SOMObject_somDumpSelfInt
  531. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  532.  
  533. #endif       /* SOM_IDRReco_h */
  534.  
  535. #ifndef SOM_M_IDRReco_h
  536. #define SOM_M_IDRReco_h
  537.  
  538.  
  539. #include <som.h>
  540.  
  541. /*
  542.  * -- This emitter treats Method Tokens as Thunks by default
  543.  * -- Use the sc modifier "nothunks" to change this default
  544.  */
  545. #undef somresolve_
  546. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  547.  
  548. /*
  549.  * Define the class name as an object type
  550.  */
  551. #ifndef M_IDRReco
  552. #define M_IDRReco SOMObject
  553. #endif
  554. #include <somcls.h>
  555.  
  556. /*
  557.  * Start of user-defined types:
  558.  */
  559.  
  560. /*
  561.  * End of user-defined types.
  562.  */
  563.  
  564. #define M_IDRReco_MajorVersion 0
  565. #define M_IDRReco_MinorVersion 1
  566.  
  567. /*
  568.  * External name shortening if required
  569.  */
  570. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  571. #define M_IDRRecoNewClass c
  572. #pragma linkage(c, system)
  573. #define M_IDRRecoClassData d
  574. #define M_IDRRecoCClassData x
  575. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  576. /*--------------Migration------------*/
  577. #define M_IDRReco_classObj M_IDRRecoClassData.classObject
  578. #define _M_IDRReco M_IDRReco_classObj
  579.  
  580. /*
  581.  * Declare the class creation procedure
  582.  */
  583. SOMEXTERN SOMClass * SOMLINK M_IDRRecoNewClass(integer4 somtmajorVersion,
  584.         integer4 somtminorVersion);
  585. #pragma linkage(M_IDRRecoNewClass, system)
  586.  
  587. /*
  588.  * Declare the class data structure
  589.  */
  590. SOMEXTERN struct M_IDRRecoClassDataStructure {
  591.     SOMAny *classObject;
  592.     somMToken idrclsGetEngineDescription;
  593.     somMToken idrclsNewIDRReco;
  594.     somMToken idrclsFreeIDR;
  595.     somMToken idrclsSetCfgType;
  596.     somMToken idrclsGetCfgType;
  597.     somMToken idrclsSetCfgTypes;
  598.     somMToken idrclsSetCfgDescs;
  599.     somMToken idrclsSetCfg;
  600.     somMToken idrclsAddCfgDesc;
  601.     somMToken idrclsDelCfgDesc;
  602.     somMToken idrclsAddCfg;
  603.     somMToken idrclsReplaceCfg;
  604.     somMToken idrclsDelCfg;
  605.     somMToken idrclsSetDefaultCfg;
  606.     somMToken idrclsGetCfgTypes;
  607.     somMToken idrclsGetCfgDescs;
  608.     somMToken idrclsGetCfg;
  609.     somMToken idrclsNewCfgFromBase;
  610.     somMToken idrclsNewDirFromBase;
  611.     somMToken idrclsDelPath;
  612.     somMToken idrclsGetDefaultCfg;
  613.     somMToken idrclsGetCtlrHandle;
  614.     somMToken idrclsEngCtlrResolve;
  615.     somMToken idrclsCopyCfg;
  616.     somMToken idrclsFreeCfg;
  617.     somMToken idrclsCfgToInstance;
  618.     somMToken idrclsCfgToInUse;
  619.     somMToken idrclsCfgCompDataMatch;
  620.     somMToken idrclsCfgCompMatch;
  621.     somMToken idrclsCfgIniToCfg;
  622.     somMToken idrclsCfgToCfgIni;
  623.     somMToken idrclsInUseListAdd;
  624.     somMToken idrclsInUseListRemove;
  625.     somMToken idrclsInUseListLock;
  626.     somMToken idrclsInUseListUnlock;
  627.     somMToken idrclsInstListAdd;
  628.     somMToken idrclsInstListRemove;
  629.     somMToken idrclsInstListLock;
  630.     somMToken idrclsInstListUnlock;
  631.     somMToken idrclsGlobalLock;
  632.     somMToken idrclsGlobalUnlock;
  633. } M_IDRRecoClassData;
  634.  
  635. /*
  636.  * Declare the C specific class data structure
  637.  */
  638. SOMEXTERN struct M_IDRRecoCClassDataStructure {
  639.     somMethodTabs parentMtab;
  640.     somDToken instanceDataToken;
  641. } M_IDRRecoCClassData;
  642.  
  643. /*
  644.  * New and Renew macros for M_IDRReco
  645.  */
  646. #define M_IDRRecoNew() \
  647.     ( M_IDRRecoClassData.classObject \
  648.         ? (_somNew(M_IDRRecoClassData.classObject)) \
  649.         : ( M_IDRRecoNewClass(M_IDRReco_MajorVersion, M_IDRReco_MinorVersion), (_somNew(M_IDRRecoClassData.classObject)) ) )
  650. #define M_IDRRecoRenew(buf) \
  651.     ( _somRenew(M_IDRRecoClassData.classObject, buf) )
  652.  
  653. /*
  654.  * Override method: somInit
  655.  */
  656. #define M_IDRReco_somInit(somSelf) \
  657.     SOMObject_somInit(somSelf)
  658.  
  659. /*
  660.  * Override method: somUninit
  661.  */
  662. #define M_IDRReco_somUninit(somSelf) \
  663.     SOMObject_somUninit(somSelf)
  664.  
  665. /*
  666.  * New Method: idrclsGetEngineDescription
  667.  */
  668. typedef void   SOMLINK somTP_M_IDRReco_idrclsGetEngineDescription(M_IDRReco *somSelf, Environment *ev,
  669.         PULONG pulSize,
  670.         PSZ pszDescription);
  671. #pragma linkage(somTP_M_IDRReco_idrclsGetEngineDescription, system)
  672. typedef somTP_M_IDRReco_idrclsGetEngineDescription *somTD_M_IDRReco_idrclsGetEngineDescription;
  673. #define somMD_M_IDRReco_idrclsGetEngineDescription "::M_IDRReco::idrclsGetEngineDescription"
  674. #define M_IDRReco_idrclsGetEngineDescription(somSelf,ev,pulSize,pszDescription) \
  675.     (SOM_Resolve(somSelf, M_IDRReco, idrclsGetEngineDescription) \
  676.     (somSelf,ev,pulSize,pszDescription))
  677. #ifndef SOMGD_idrclsGetEngineDescription
  678.     #if (defined(_idrclsGetEngineDescription) || defined(__idrclsGetEngineDescription))
  679.         #undef _idrclsGetEngineDescription
  680.         #undef __idrclsGetEngineDescription
  681.         #define SOMGD_idrclsGetEngineDescription 1
  682.     #else
  683.         #define _idrclsGetEngineDescription M_IDRReco_idrclsGetEngineDescription
  684.     #endif /* _idrclsGetEngineDescription */
  685. #endif /* SOMGD_idrclsGetEngineDescription */
  686.  
  687. /*
  688.  * New Method: idrclsNewIDRReco
  689.  */
  690. typedef IDRReco*   SOMLINK somTP_M_IDRReco_idrclsNewIDRReco(M_IDRReco *somSelf, Environment *ev,
  691.         PVOID pCfg);
  692. #pragma linkage(somTP_M_IDRReco_idrclsNewIDRReco, system)
  693. typedef somTP_M_IDRReco_idrclsNewIDRReco *somTD_M_IDRReco_idrclsNewIDRReco;
  694. #define somMD_M_IDRReco_idrclsNewIDRReco "::M_IDRReco::idrclsNewIDRReco"
  695. #define M_IDRReco_idrclsNewIDRReco(somSelf,ev,pCfg) \
  696.     (SOM_Resolve(somSelf, M_IDRReco, idrclsNewIDRReco) \
  697.     (somSelf,ev,pCfg))
  698. #ifndef SOMGD_idrclsNewIDRReco
  699.     #if (defined(_idrclsNewIDRReco) || defined(__idrclsNewIDRReco))
  700.         #undef _idrclsNewIDRReco
  701.         #undef __idrclsNewIDRReco
  702.         #define SOMGD_idrclsNewIDRReco 1
  703.     #else
  704.         #define _idrclsNewIDRReco M_IDRReco_idrclsNewIDRReco
  705.     #endif /* _idrclsNewIDRReco */
  706. #endif /* SOMGD_idrclsNewIDRReco */
  707.  
  708. /*
  709.  * New Method: idrclsFreeIDR
  710.  */
  711. typedef void   SOMLINK somTP_M_IDRReco_idrclsFreeIDR(M_IDRReco *somSelf, Environment *ev,
  712.         IDRReco* pObject);
  713. #pragma linkage(somTP_M_IDRReco_idrclsFreeIDR, system)
  714. typedef somTP_M_IDRReco_idrclsFreeIDR *somTD_M_IDRReco_idrclsFreeIDR;
  715. #define somMD_M_IDRReco_idrclsFreeIDR "::M_IDRReco::idrclsFreeIDR"
  716. #define M_IDRReco_idrclsFreeIDR(somSelf,ev,pObject) \
  717.     (SOM_Resolve(somSelf, M_IDRReco, idrclsFreeIDR) \
  718.     (somSelf,ev,pObject))
  719. #ifndef SOMGD_idrclsFreeIDR
  720.     #if (defined(_idrclsFreeIDR) || defined(__idrclsFreeIDR))
  721.         #undef _idrclsFreeIDR
  722.         #undef __idrclsFreeIDR
  723.         #define SOMGD_idrclsFreeIDR 1
  724.     #else
  725.         #define _idrclsFreeIDR M_IDRReco_idrclsFreeIDR
  726.     #endif /* _idrclsFreeIDR */
  727. #endif /* SOMGD_idrclsFreeIDR */
  728. #ifndef SOM_DONT_USE_INHERITED_MACROS
  729. #define M_IDRReco__get_somDirectInitClasses SOMClass__get_somDirectInitClasses
  730. #define M_IDRReco__set_somDirectInitClasses SOMClass__set_somDirectInitClasses
  731. #define M_IDRReco_somGetInstanceInitMask SOMClass_somGetInstanceInitMask
  732. #define M_IDRReco_somGetInstanceDestructionMask SOMClass_somGetInstanceDestructionMask
  733. #define M_IDRReco_somGetInstanceAssignmentMask SOMClass_somGetInstanceAssignmentMask
  734. #define M_IDRReco_somGetInitMaskOffset SOMClass_somGetInitMaskOffset
  735. #define M_IDRReco_somGetDestructionMaskOffset SOMClass_somGetDestructionMaskOffset
  736. #define M_IDRReco_somAllocate SOMClass_somAllocate
  737. #define M_IDRReco_somDeallocate SOMClass_somDeallocate
  738. #define M_IDRReco_somNew SOMClass_somNew
  739. #define M_IDRReco_somNewNoInit SOMClass_somNewNoInit
  740. #define M_IDRReco_somRenew SOMClass_somRenew
  741. #define M_IDRReco_somRenewNoInit SOMClass_somRenewNoInit
  742. #define M_IDRReco_somRenewNoZero SOMClass_somRenewNoZero
  743. #define M_IDRReco_somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
  744. #define M_IDRReco_somInitClass SOMClass_somInitClass
  745. #define M_IDRReco_somInitMIClass SOMClass_somInitMIClass
  746. #define M_IDRReco_somAddStaticMethod SOMClass_somAddStaticMethod
  747. #define M_IDRReco_somAddDynamicMethod SOMClass_somAddDynamicMethod
  748. #define M_IDRReco_somClassReady SOMClass_somClassReady
  749. #define M_IDRReco_somOverrideSMethod SOMClass_somOverrideSMethod
  750. #define M_IDRReco_somGetApplyStub SOMClass_somGetApplyStub
  751. #define M_IDRReco_somGetClassData SOMClass_somGetClassData
  752. #define M_IDRReco_somSetClassData SOMClass_somSetClassData
  753. #define M_IDRReco__get_somCClassData SOMClass__get_somCClassData
  754. #define M_IDRReco__set_somCClassData SOMClass__set_somCClassData
  755. #define M_IDRReco_somGetClassMtab SOMClass_somGetClassMtab
  756. #define M_IDRReco_somGetInstanceOffset SOMClass_somGetInstanceOffset
  757. #define M_IDRReco_somGetInstancePartSize SOMClass_somGetInstancePartSize
  758. #define M_IDRReco_somGetInstanceSize SOMClass_somGetInstanceSize
  759. #define M_IDRReco__get_somDataAlignment SOMClass__get_somDataAlignment
  760. #define M_IDRReco_somGetInstanceToken SOMClass_somGetInstanceToken
  761. #define M_IDRReco_somGetMemberToken SOMClass_somGetMemberToken
  762. #define M_IDRReco_somGetMethodData SOMClass_somGetMethodData
  763. #define M_IDRReco_somGetRdStub SOMClass_somGetRdStub
  764. #define M_IDRReco_somGetMethodDescriptor SOMClass_somGetMethodDescriptor
  765. #define M_IDRReco_somGetMethodIndex SOMClass_somGetMethodIndex
  766. #define M_IDRReco_somGetMethodOffset SOMClass_somGetMethodOffset
  767. #define M_IDRReco_somGetMethodToken SOMClass_somGetMethodToken
  768. #define M_IDRReco_somGetName SOMClass_somGetName
  769. #define M_IDRReco_somGetNthMethodData SOMClass_somGetNthMethodData
  770. #define M_IDRReco_somGetNthMethodInfo SOMClass_somGetNthMethodInfo
  771. #define M_IDRReco_somGetNumMethods SOMClass_somGetNumMethods
  772. #define M_IDRReco_somGetNumStaticMethods SOMClass_somGetNumStaticMethods
  773. #define M_IDRReco_somGetParent SOMClass_somGetParent
  774. #define M_IDRReco_somGetParents SOMClass_somGetParents
  775. #define M_IDRReco_somGetPClsMtab SOMClass_somGetPClsMtab
  776. #define M_IDRReco_somGetPClsMtabs SOMClass_somGetPClsMtabs
  777. #define M_IDRReco_somGetVersionNumbers SOMClass_somGetVersionNumbers
  778. #define M_IDRReco_somSetMethodDescriptor SOMClass_somSetMethodDescriptor
  779. #define M_IDRReco_somCheckVersion SOMClass_somCheckVersion
  780. #define M_IDRReco_somDescendedFrom SOMClass_somDescendedFrom
  781. #define M_IDRReco_somSupportsMethod SOMClass_somSupportsMethod
  782. #define M_IDRReco_somGetClassDataEntry SOMClass_somGetClassDataEntry
  783. #define M_IDRReco_somSetClassDataEntry SOMClass_somSetClassDataEntry
  784. #define M_IDRReco_somDefinedMethod SOMClass_somDefinedMethod
  785. #define M_IDRReco_somCastObjCls SOMClass_somCastObjCls
  786. #define M_IDRReco_somResetObjCls SOMClass_somResetObjCls
  787. #define M_IDRReco__get_somTrueClass SOMClass__get_somTrueClass
  788. #define M_IDRReco__get_somCastedClass SOMClass__get_somCastedClass
  789. #define M_IDRReco_somCloneClass SOMClass_somCloneClass
  790. #define M_IDRReco_somFindMethod SOMClass_somFindMethod
  791. #define M_IDRReco_somFindMethodOk SOMClass_somFindMethodOk
  792. #define M_IDRReco_somFindSMethod SOMClass_somFindSMethod
  793. #define M_IDRReco_somFindSMethodOk SOMClass_somFindSMethodOk
  794. #define M_IDRReco_somLookupMethod SOMClass_somLookupMethod
  795. #define M_IDRReco_somOverrideMtab SOMClass_somOverrideMtab
  796. #define M_IDRReco__get_somInstanceDataOffsets SOMClass__get_somInstanceDataOffsets
  797. #define M_IDRReco__get_somMethodOffsets SOMClass__get_somMethodOffsets
  798. #define M_IDRReco_somDumpSelfInt SOMObject_somDumpSelfInt
  799. #define M_IDRReco_somPrintSelf SOMObject_somPrintSelf
  800. #define M_IDRReco_somFree SOMObject_somFree
  801. #define M_IDRReco_somDefaultInit SOMObject_somDefaultInit
  802. #define M_IDRReco_somDefaultCopyInit SOMObject_somDefaultCopyInit
  803. #define M_IDRReco_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  804. #define M_IDRReco_somDestruct SOMObject_somDestruct
  805. #define M_IDRReco_somDefaultAssign SOMObject_somDefaultAssign
  806. #define M_IDRReco_somDefaultConstAssign SOMObject_somDefaultConstAssign
  807. #define M_IDRReco_somGetClass SOMObject_somGetClass
  808. #define M_IDRReco_somGetClassName SOMObject_somGetClassName
  809. #define M_IDRReco_somGetSize SOMObject_somGetSize
  810. #define M_IDRReco_somIsA SOMObject_somIsA
  811. #define M_IDRReco_somIsInstanceOf SOMObject_somIsInstanceOf
  812. #define M_IDRReco_somRespondsTo SOMObject_somRespondsTo
  813. #define M_IDRReco_somDispatchV SOMObject_somDispatchV
  814. #define M_IDRReco_somDispatchL SOMObject_somDispatchL
  815. #define M_IDRReco_somDispatchA SOMObject_somDispatchA
  816. #define M_IDRReco_somDispatchD SOMObject_somDispatchD
  817. #define M_IDRReco_somDispatch SOMObject_somDispatch
  818. #define M_IDRReco_somClassDispatch SOMObject_somClassDispatch
  819. #define M_IDRReco_somCastObj SOMObject_somCastObj
  820. #define M_IDRReco_somResetObj SOMObject_somResetObj
  821. #define M_IDRReco_somPrintSelf SOMObject_somPrintSelf
  822. #define M_IDRReco_somDumpSelf SOMObject_somDumpSelf
  823. #define M_IDRReco_somDumpSelfInt SOMObject_somDumpSelfInt
  824. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  825.  
  826. #endif       /* SOM_M_IDRReco_h */
  827.