home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / toolkt21 / cplus / os2h / wpfilter.xh < prev    next >
Encoding:
Text File  |  1993-05-02  |  8.1 KB  |  317 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpfilter.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitxh: 1.11
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Module Header
  13.  * 
  14.  *  Module Name: WPFILTER
  15.  * 
  16.  *  OS/2 Presentation Manager Workplace class definitions
  17.  * 
  18.  *  Copyright (c) International Business Machines Corporation 1991, 1992
  19.  * 
  20.  */
  21.  
  22. #ifndef wpfilter_xh
  23. #define wpfilter_xh
  24. class WPFilter;
  25.  
  26. #define WPFilter_MajorVersion 1
  27. #define WPFilter_MinorVersion 2
  28.  
  29. /* C++ som defs */
  30. #include <somcls.xh>
  31.  
  32. /* C++ parent def */
  33. #ifndef wptrans_xh
  34. #include "wptrans.xh"
  35. #endif
  36.  
  37. #ifndef WPFilter_API
  38. #define WPFilter_API
  39. /*
  40.  * The Class API
  41.  */
  42.  
  43. /* A procedure to create the WPFilter Class */
  44. SOMEXTERN SOMClass * SOMLINK WPFilterNewClass(
  45.         integer4 majorVersion,
  46.         integer4 minorVersion);
  47.  
  48. /* A macro to return the WPFilter class object */
  49. class M_WPFilter;
  50. #define _WPFilter ((M_WPFilter*)WPFilterClassData.classObject)
  51.  
  52. /* The static interface to WPFilter and its instances */
  53. SOMEXTERN struct WPFilterClassDataStructure {
  54.     SOMClass *classObject;
  55.     somMToken wpMatchesFilter;
  56.     somMToken wpAddFilterSettingsPage;
  57.     somMToken wpSetClassList;
  58.     somMToken wpQueryClassList;
  59.     somMToken wpSetNameFilter;
  60.     somMToken wpQueryNameFilter;
  61.     somMToken wpSetFolderToFilter;
  62.     somMToken wpQueryFolderToFilter;
  63.     somMToken wpFilterFolderView;
  64.     somMToken wpConvertDataToCriteria;
  65.     somMToken wpConvertCriteriaToData;
  66.     somMToken wpOnlyHasDefaultCriteria;
  67.     somMToken wpAddFilterCriteriaPage;
  68. } WPFilterClassData;
  69.  
  70. /*
  71.  * -- Typedefs for Procedures that support WPFilter Methods
  72.  */
  73. extern "C" {
  74. typedef BOOL    (SOMLINK *somTD_WPFilter_wpSetClassList)(WPFilter *somSelf,PCLASS pClassList);
  75. typedef PCLASS    (SOMLINK *somTD_WPFilter_wpQueryClassList)(WPFilter *somSelf);
  76. typedef BOOL    (SOMLINK *somTD_WPFilter_wpSetNameFilter)(WPFilter *somSelf,PSZ pszNameFilter);
  77. typedef PSZ    (SOMLINK *somTD_WPFilter_wpQueryNameFilter)(WPFilter *somSelf);
  78. typedef BOOL    (SOMLINK *somTD_WPFilter_wpSetFolderToFilter)(WPFilter *somSelf,WPFolder *Folder);
  79. typedef WPFolder *   (SOMLINK *somTD_WPFilter_wpQueryFolderToFilter)(WPFilter *somSelf);
  80. typedef BOOL    (SOMLINK *somTD_WPFilter_wpFilterFolderView)(WPFilter *somSelf,HWND hwndCnr,BOOL fInvalidate);
  81. typedef BOOL    (SOMLINK *somTD_WPFilter_wpMatchesFilter)(WPFilter *somSelf,WPObject *Object);
  82. typedef ULONG    (SOMLINK *somTD_WPFilter_wpAddFilterSettingsPage)(WPFilter *somSelf,HWND hwndNotebook,BOOL fActionDialog);
  83. typedef ULONG    (SOMLINK *somTD_WPFilter_wpAddFilterCriteriaPage)(WPFilter *somSelf,HWND hwndNotebook,BOOL fActionDialog,PCLASSCRITERIA pClassCriteria);
  84. typedef BOOL    (SOMLINK *somTD_WPFilter_wpConvertDataToCriteria)(WPFilter *somSelf,PVOID pCriteriaData,ULONG cbCriteriaData);
  85. typedef BOOL    (SOMLINK *somTD_WPFilter_wpConvertCriteriaToData)(WPFilter *somSelf,PVOID pCriteriaData,PULONG pcbCriteriaData);
  86. typedef BOOL    (SOMLINK *somTD_WPFilter_wpOnlyHasDefaultCriteria)(WPFilter *somSelf);
  87. }
  88.  
  89.  
  90. #endif /* WPFilter_API */
  91.  
  92.  
  93. /*
  94.  * -- The C++ Wrapper Class for WPFilter
  95.  */
  96. class WPFilter : public WPTransient
  97. {
  98. public:
  99.  
  100. void *operator new(size_t size)
  101. {
  102.    (void) size;
  103.    if (!WPFilterClassData.classObject) 
  104.       WPFilterNewClass(WPFilter_MajorVersion,WPFilter_MinorVersion);
  105.    return (void *)
  106.       ((somTD_SOMClass_somNew)
  107.       somResolve(SOM_TestCls((SOMAny *)(WPFilterClassData.classObject),
  108.                              SOMClassClassData.classObject),
  109.                  SOMClassClassData.somNew))
  110.          ((SOMClass*)(WPFilterClassData.classObject));
  111. }
  112.  
  113. void operator delete(void * obj)
  114. {
  115.    ((SOMObject *)obj)->somFree();
  116. }
  117.  
  118. /* public method: wpSetClassList */
  119. BOOL    wpSetClassList(PCLASS pClassList)
  120. {
  121.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpSetClassList)
  122.     (this,pClassList);
  123. }
  124.  
  125.  
  126. /* public method: wpQueryClassList */
  127. PCLASS    wpQueryClassList()
  128. {
  129.    return (PCLASS) SOM_Resolve((SOMAny *)this,WPFilter,wpQueryClassList)
  130.     (this);
  131. }
  132.  
  133.  
  134. /* public method: wpSetNameFilter */
  135. BOOL    wpSetNameFilter(PSZ pszNameFilter)
  136. {
  137.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpSetNameFilter)
  138.     (this,pszNameFilter);
  139. }
  140.  
  141.  
  142. /* public method: wpQueryNameFilter */
  143. PSZ    wpQueryNameFilter()
  144. {
  145.    return (PSZ) SOM_Resolve((SOMAny *)this,WPFilter,wpQueryNameFilter)
  146.     (this);
  147. }
  148.  
  149.  
  150. /* public method: wpSetFolderToFilter */
  151. BOOL    wpSetFolderToFilter(WPFolder *Folder)
  152. {
  153.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpSetFolderToFilter)
  154.     (this,Folder);
  155. }
  156.  
  157.  
  158. /* public method: wpQueryFolderToFilter */
  159. WPFolder *   wpQueryFolderToFilter()
  160. {
  161.    return (WPFolder*) SOM_Resolve((SOMAny *)this,WPFilter,wpQueryFolderToFilter)
  162.     (this);
  163. }
  164.  
  165.  
  166. /* public method: wpFilterFolderView */
  167. BOOL    wpFilterFolderView(HWND hwndCnr,
  168.         BOOL fInvalidate)
  169. {
  170.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpFilterFolderView)
  171.     (this,hwndCnr,fInvalidate);
  172. }
  173.  
  174.  
  175. /* public method: wpMatchesFilter */
  176. BOOL    wpMatchesFilter(WPObject *Object)
  177. {
  178.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpMatchesFilter)
  179.     (this,Object);
  180. }
  181.  
  182.  
  183. /* public method: wpAddFilterSettingsPage */
  184. ULONG    wpAddFilterSettingsPage(HWND hwndNotebook,
  185.         BOOL fActionDialog)
  186. {
  187.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFilter,wpAddFilterSettingsPage)
  188.     (this,hwndNotebook,fActionDialog);
  189. }
  190.  
  191.  
  192. /* public method: wpAddFilterCriteriaPage */
  193. ULONG    wpAddFilterCriteriaPage(HWND hwndNotebook,
  194.         BOOL fActionDialog,
  195.         PCLASSCRITERIA pClassCriteria)
  196. {
  197.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFilter,wpAddFilterCriteriaPage)
  198.     (this,hwndNotebook,fActionDialog,pClassCriteria);
  199. }
  200.  
  201.  
  202. /* public method: wpConvertDataToCriteria */
  203. BOOL    wpConvertDataToCriteria(PVOID pCriteriaData,
  204.         ULONG cbCriteriaData)
  205. {
  206.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpConvertDataToCriteria)
  207.     (this,pCriteriaData,cbCriteriaData);
  208. }
  209.  
  210.  
  211. /* public method: wpConvertCriteriaToData */
  212. BOOL    wpConvertCriteriaToData(PVOID pCriteriaData,
  213.         PULONG pcbCriteriaData)
  214. {
  215.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpConvertCriteriaToData)
  216.     (this,pCriteriaData,pcbCriteriaData);
  217. }
  218.  
  219.  
  220. /* public method: wpOnlyHasDefaultCriteria */
  221. BOOL    wpOnlyHasDefaultCriteria()
  222. {
  223.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpOnlyHasDefaultCriteria)
  224.     (this);
  225. }
  226.  
  227.  
  228.  
  229. };   /* WPFilter */
  230.  
  231.  
  232.  
  233. #endif       /* wpfilter_xh */
  234.  
  235. /*
  236.  * This file was generated by the SOM Compiler.
  237.  * FileName: wpfilter.xh.
  238.  * Generated using:
  239.  *     SOM Precompiler spc: 1.22
  240.  *     SOM Emitter emitxh: 1.11
  241.  */
  242. #ifndef wpfilter_mxh
  243. #define wpfilter_mxh
  244. class M_WPFilter;
  245.  
  246. #define M_WPFilter_MajorVersion 1
  247. #define M_WPFilter_MinorVersion 2
  248.  
  249. /* C++ som defs */
  250. #include <somcls.xh>
  251.  
  252. /* C++ parent def */
  253. #ifndef wptrans_xh
  254. #include "wptrans.xh"
  255. #endif
  256.  
  257. #ifndef M_WPFilter_API
  258. #define M_WPFilter_API
  259. /*
  260.  * The Class API
  261.  */
  262.  
  263. /* A procedure to create the M_WPFilter Class */
  264. SOMEXTERN SOMClass * SOMLINK M_WPFilterNewClass(
  265.         integer4 majorVersion,
  266.         integer4 minorVersion);
  267.  
  268. /* A macro to return the M_WPFilter class object */
  269. #define _M_WPFilter ((SOMClass*)M_WPFilterClassData.classObject)
  270.  
  271. /* The static interface to M_WPFilter and its instances */
  272. SOMEXTERN struct M_WPFilterClassDataStructure {
  273.     SOMClass *classObject;
  274. } M_WPFilterClassData;
  275.  
  276. /*
  277.  * -- Typedefs for Procedures that support M_WPFilter Methods
  278.  */
  279. extern "C" {
  280. }
  281.  
  282.  
  283. #endif /* M_WPFilter_API */
  284.  
  285.  
  286. /*
  287.  * -- The C++ Wrapper Class for M_WPFilter
  288.  */
  289. class M_WPFilter : public M_WPTransient
  290. {
  291. public:
  292.  
  293. void *operator new(size_t size)
  294. {
  295.    (void) size;
  296.    if (!M_WPFilterClassData.classObject) 
  297.       M_WPFilterNewClass(M_WPFilter_MajorVersion,M_WPFilter_MinorVersion);
  298.    return (void *)
  299.       ((somTD_SOMClass_somNew)
  300.       somResolve(SOM_TestCls((SOMAny *)(M_WPFilterClassData.classObject),
  301.                              SOMClassClassData.classObject),
  302.                  SOMClassClassData.somNew))
  303.          ((SOMClass*)(M_WPFilterClassData.classObject));
  304. }
  305.  
  306. void operator delete(void * obj)
  307. {
  308.    ((SOMObject *)obj)->somFree();
  309. }
  310.  
  311.  
  312. };   /* M_WPFilter */
  313.  
  314.  
  315.  
  316. #endif       /* wpfilter_mxh */
  317.