
/*
 * This file was generated by the SOM Compiler.
 * FileName: wpfilter.xh.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emitxh: 1.11
 */

/*
 * 
 *  Module Header
 * 
 *  Module Name: WPFILTER
 * 
 *  OS/2 Presentation Manager Workplace class definitions
 * 
 *  Copyright (c) International Business Machines Corporation 1991, 1992
 * 
 */

#ifndef wpfilter_xh
#define wpfilter_xh
class WPFilter;

#define WPFilter_MajorVersion 1
#define WPFilter_MinorVersion 2

/* C++ som defs */
#include <somcls.xh>

/* C++ parent def */
#ifndef wptrans_xh
#include "wptrans.xh"
#endif

#ifndef WPFilter_API
#define WPFilter_API
/*
 * The Class API
 */

/* A procedure to create the WPFilter Class */
SOMEXTERN SOMClass * SOMLINK WPFilterNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* A macro to return the WPFilter class object */
class M_WPFilter;
#define _WPFilter ((M_WPFilter*)WPFilterClassData.classObject)

/* The static interface to WPFilter and its instances */
SOMEXTERN struct WPFilterClassDataStructure {
	SOMClass *classObject;
	somMToken wpMatchesFilter;
	somMToken wpAddFilterSettingsPage;
	somMToken wpSetClassList;
	somMToken wpQueryClassList;
	somMToken wpSetNameFilter;
	somMToken wpQueryNameFilter;
	somMToken wpSetFolderToFilter;
	somMToken wpQueryFolderToFilter;
	somMToken wpFilterFolderView;
	somMToken wpConvertDataToCriteria;
	somMToken wpConvertCriteriaToData;
	somMToken wpOnlyHasDefaultCriteria;
	somMToken wpAddFilterCriteriaPage;
} WPFilterClassData;

/*
 * -- Typedefs for Procedures that support WPFilter Methods
 */
extern "C" {
typedef BOOL    (SOMLINK *somTD_WPFilter_wpSetClassList)(WPFilter *somSelf,PCLASS pClassList);
typedef PCLASS    (SOMLINK *somTD_WPFilter_wpQueryClassList)(WPFilter *somSelf);
typedef BOOL    (SOMLINK *somTD_WPFilter_wpSetNameFilter)(WPFilter *somSelf,PSZ pszNameFilter);
typedef PSZ    (SOMLINK *somTD_WPFilter_wpQueryNameFilter)(WPFilter *somSelf);
typedef BOOL    (SOMLINK *somTD_WPFilter_wpSetFolderToFilter)(WPFilter *somSelf,WPFolder *Folder);
typedef WPFolder *   (SOMLINK *somTD_WPFilter_wpQueryFolderToFilter)(WPFilter *somSelf);
typedef BOOL    (SOMLINK *somTD_WPFilter_wpFilterFolderView)(WPFilter *somSelf,HWND hwndCnr,BOOL fInvalidate);
typedef BOOL    (SOMLINK *somTD_WPFilter_wpMatchesFilter)(WPFilter *somSelf,WPObject *Object);
typedef ULONG    (SOMLINK *somTD_WPFilter_wpAddFilterSettingsPage)(WPFilter *somSelf,HWND hwndNotebook,BOOL fActionDialog);
typedef ULONG    (SOMLINK *somTD_WPFilter_wpAddFilterCriteriaPage)(WPFilter *somSelf,HWND hwndNotebook,BOOL fActionDialog,PCLASSCRITERIA pClassCriteria);
typedef BOOL    (SOMLINK *somTD_WPFilter_wpConvertDataToCriteria)(WPFilter *somSelf,PVOID pCriteriaData,ULONG cbCriteriaData);
typedef BOOL    (SOMLINK *somTD_WPFilter_wpConvertCriteriaToData)(WPFilter *somSelf,PVOID pCriteriaData,PULONG pcbCriteriaData);
typedef BOOL    (SOMLINK *somTD_WPFilter_wpOnlyHasDefaultCriteria)(WPFilter *somSelf);
}


#endif /* WPFilter_API */


/*
 * -- The C++ Wrapper Class for WPFilter
 */
class WPFilter : public WPTransient
{
public:

void *operator new(size_t size)
{
   (void) size;
   if (!WPFilterClassData.classObject) 
      WPFilterNewClass(WPFilter_MajorVersion,WPFilter_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(WPFilterClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(WPFilterClassData.classObject));
}

void operator delete(void * obj)
{
   ((SOMObject *)obj)->somFree();
}

/* public method: wpSetClassList */
BOOL    wpSetClassList(PCLASS pClassList)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpSetClassList)
	(this,pClassList);
}


/* public method: wpQueryClassList */
PCLASS    wpQueryClassList()
{
   return (PCLASS) SOM_Resolve((SOMAny *)this,WPFilter,wpQueryClassList)
	(this);
}


/* public method: wpSetNameFilter */
BOOL    wpSetNameFilter(PSZ pszNameFilter)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpSetNameFilter)
	(this,pszNameFilter);
}


/* public method: wpQueryNameFilter */
PSZ    wpQueryNameFilter()
{
   return (PSZ) SOM_Resolve((SOMAny *)this,WPFilter,wpQueryNameFilter)
	(this);
}


/* public method: wpSetFolderToFilter */
BOOL    wpSetFolderToFilter(WPFolder *Folder)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpSetFolderToFilter)
	(this,Folder);
}


/* public method: wpQueryFolderToFilter */
WPFolder *   wpQueryFolderToFilter()
{
   return (WPFolder*) SOM_Resolve((SOMAny *)this,WPFilter,wpQueryFolderToFilter)
	(this);
}


/* public method: wpFilterFolderView */
BOOL    wpFilterFolderView(HWND hwndCnr,
		BOOL fInvalidate)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpFilterFolderView)
	(this,hwndCnr,fInvalidate);
}


/* public method: wpMatchesFilter */
BOOL    wpMatchesFilter(WPObject *Object)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpMatchesFilter)
	(this,Object);
}


/* public method: wpAddFilterSettingsPage */
ULONG    wpAddFilterSettingsPage(HWND hwndNotebook,
		BOOL fActionDialog)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPFilter,wpAddFilterSettingsPage)
	(this,hwndNotebook,fActionDialog);
}


/* public method: wpAddFilterCriteriaPage */
ULONG    wpAddFilterCriteriaPage(HWND hwndNotebook,
		BOOL fActionDialog,
		PCLASSCRITERIA pClassCriteria)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPFilter,wpAddFilterCriteriaPage)
	(this,hwndNotebook,fActionDialog,pClassCriteria);
}


/* public method: wpConvertDataToCriteria */
BOOL    wpConvertDataToCriteria(PVOID pCriteriaData,
		ULONG cbCriteriaData)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpConvertDataToCriteria)
	(this,pCriteriaData,cbCriteriaData);
}


/* public method: wpConvertCriteriaToData */
BOOL    wpConvertCriteriaToData(PVOID pCriteriaData,
		PULONG pcbCriteriaData)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpConvertCriteriaToData)
	(this,pCriteriaData,pcbCriteriaData);
}


/* public method: wpOnlyHasDefaultCriteria */
BOOL    wpOnlyHasDefaultCriteria()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPFilter,wpOnlyHasDefaultCriteria)
	(this);
}



};   /* WPFilter */



#endif       /* wpfilter_xh */

/*
 * This file was generated by the SOM Compiler.
 * FileName: wpfilter.xh.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emitxh: 1.11
 */
#ifndef wpfilter_mxh
#define wpfilter_mxh
class M_WPFilter;

#define M_WPFilter_MajorVersion 1
#define M_WPFilter_MinorVersion 2

/* C++ som defs */
#include <somcls.xh>

/* C++ parent def */
#ifndef wptrans_xh
#include "wptrans.xh"
#endif

#ifndef M_WPFilter_API
#define M_WPFilter_API
/*
 * The Class API
 */

/* A procedure to create the M_WPFilter Class */
SOMEXTERN SOMClass * SOMLINK M_WPFilterNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* A macro to return the M_WPFilter class object */
#define _M_WPFilter ((SOMClass*)M_WPFilterClassData.classObject)

/* The static interface to M_WPFilter and its instances */
SOMEXTERN struct M_WPFilterClassDataStructure {
	SOMClass *classObject;
} M_WPFilterClassData;

/*
 * -- Typedefs for Procedures that support M_WPFilter Methods
 */
extern "C" {
}


#endif /* M_WPFilter_API */


/*
 * -- The C++ Wrapper Class for M_WPFilter
 */
class M_WPFilter : public M_WPTransient
{
public:

void *operator new(size_t size)
{
   (void) size;
   if (!M_WPFilterClassData.classObject) 
      M_WPFilterNewClass(M_WPFilter_MajorVersion,M_WPFilter_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(M_WPFilterClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(M_WPFilterClassData.classObject));
}

void operator delete(void * obj)
{
   ((SOMObject *)obj)->somFree();
}


};   /* M_WPFilter */



#endif       /* wpfilter_mxh */
