/* Copyright (c) 1992 Colin Jensen.  All Rights Reserved. */


/*
 * This file was generated by the SOM Compiler.
 * FileName: ..\..\ibmh\wppgm.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

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


#ifndef wppgm_h
#define wppgm_h


#include <som.h>

/*
 * Define the class name as an object type
 */
#ifndef WPProgram
#define WPProgram SOMAny
#endif
#include "wpabs.h"

#define WPProgram_MajorVersion 1
#define WPProgram_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define WPProgramNewClass wppgmrefc
#pragma linkage(wppgmrefc, system)
#define WPProgramClassData wppgmrefd
#define WPProgramCClassData wppgmrefx
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define WPProgram_classObj WPProgramClassData.classObject
#define _WPProgram WPProgram_classObj

/*
 * New and Renew macros for WPProgram
 */
#define _WPProgramNew() (_somNew(WPProgramClassData.classObject))
#define WPProgramNew() \
	( WPProgramClassData.classObject \
		? _WPProgramNew() \
		: ( WPProgramNewClass(WPProgram_MajorVersion, WPProgram_MinorVersion), _WPProgramNew() ) )
#define WPProgramRenew(buf) \
	( _somRenew(WPProgramClassData.classObject, buf) )

/*
 * Override method: wpQueryDefaultHelp
 */
#define WPProgram_wpQueryDefaultHelp(somSelf,pHelpPanelId,HelpLibrary) \
	WPObject_wpQueryDefaultHelp(somSelf,pHelpPanelId,HelpLibrary)

/*
 * Override method: wpSetup
 */
#define WPProgram_wpSetup(somSelf,pszSetupString) \
	WPObject_wpSetup(somSelf,pszSetupString)

/*
 * Override method: wpUnInitData
 */
#define WPProgram_wpUnInitData(somSelf) \
	WPObject_wpUnInitData(somSelf)

/*
 * Override method: wpSaveState
 */
#define WPProgram_wpSaveState(somSelf) \
	WPObject_wpSaveState(somSelf)

/*
 * Override method: wpRestoreState
 */
#define WPProgram_wpRestoreState(somSelf,ulReserved) \
	WPObject_wpRestoreState(somSelf,ulReserved)

/*
 * Override method: wpAddSettingsPages
 */
#define WPProgram_wpAddSettingsPages(somSelf,hwndNotebook) \
	WPObject_wpAddSettingsPages(somSelf,hwndNotebook)

/*
 * Override method: wpOpen
 */
#define WPProgram_wpOpen(somSelf,hwndCnr,ulView,param) \
	WPObject_wpOpen(somSelf,hwndCnr,ulView,param)

/*
 * Override method: wpModifyPopupMenu
 */
#define WPProgram_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
	WPObject_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition)

/*
 * Override method: wpMenuItemSelected
 */
#define WPProgram_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
	WPObject_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId)

/*
 * Override method: wpMenuItemHelpSelected
 */
#define WPProgram_wpMenuItemHelpSelected(somSelf,MenuId) \
	WPObject_wpMenuItemHelpSelected(somSelf,MenuId)

/*
 * Override method: wpCreateFromTemplate
 */
#define WPProgram_wpCreateFromTemplate(somSelf,folder,fLock) \
	WPObject_wpCreateFromTemplate(somSelf,folder,fLock)

/*
 * Override method: wpCreateAnother
 */
#define WPProgram_wpCreateAnother(somSelf,pszTitle,pszSetupEnv,Folder) \
	WPObject_wpCreateAnother(somSelf,pszTitle,pszSetupEnv,Folder)

/*
 * Override method: wpQueryIconData
 */
#define WPProgram_wpQueryIconData(somSelf,pIconInfo) \
	WPObject_wpQueryIconData(somSelf,pIconInfo)

/*
 * Override method: wpSetIconData
 */
#define WPProgram_wpSetIconData(somSelf,pIconInfo) \
	WPObject_wpSetIconData(somSelf,pIconInfo)

/*
 * Override method: wpQueryIcon
 */
#define WPProgram_wpQueryIcon(somSelf) \
	WPObject_wpQueryIcon(somSelf)

/*
 * Override method: wpMoveObject
 */
#define WPProgram_wpMoveObject(somSelf,Folder) \
	WPObject_wpMoveObject(somSelf,Folder)

/*
 * Override method: wpCopyObject
 */
#define WPProgram_wpCopyObject(somSelf,Folder,fLock) \
	WPObject_wpCopyObject(somSelf,Folder,fLock)

/*
 * Override method: wpDragOver
 */
#define WPProgram_wpDragOver(somSelf,hwndCnr,pdrgInfo) \
	WPObject_wpDragOver(somSelf,hwndCnr,pdrgInfo)

/*
 * Override method: wpDrop
 */
#define WPProgram_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
	WPObject_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem)

/*
 * Override method: wpSetTitle
 */
#define WPProgram_wpSetTitle(somSelf,pszNewTitle) \
	WPObject_wpSetTitle(somSelf,pszNewTitle)

/*
 * New Name Lookup Method: wpAddProgramAssociationPage
 */
typedef ULONG    SOMLINK somTP_WPProgram_wpAddProgramAssociationPage(WPProgram *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPProgram_wpAddProgramAssociationPage, system)
typedef somTP_WPProgram_wpAddProgramAssociationPage *somTD_WPProgram_wpAddProgramAssociationPage;
#define somMD_WPProgram_wpAddProgramAssociationPage "----"
#define WPProgram_wpAddProgramAssociationPage(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPProgram, wpAddProgramAssociationPage) \
	(somSelf,hwndNotebook))

#ifndef lookup_wpAddProgramAssociationPage
static char *somLMN_wpAddProgramAssociationPage = "wpAddProgramAssociationPage";
static somId somLId_wpAddProgramAssociationPage = &somLMN_wpAddProgramAssociationPage;
#define lookup_wpAddProgramAssociationPage(somSelf,hwndNotebook) \
    ((( somTD_WPProgram_wpAddProgramAssociationPage ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpAddProgramAssociationPage)) \
	    (somSelf,hwndNotebook))
#define _wpAddProgramAssociationPage lookup_wpAddProgramAssociationPage
#endif     /* _wpAddProgramAssociationPage */

/*
 * New Name Lookup Method: wpQueryProgDetails
 */
typedef BOOL    SOMLINK somTP_WPProgram_wpQueryProgDetails(WPProgram *somSelf,
		PPROGDETAILS pProgDetails,
		PULONG pulSize);
#pragma linkage(somTP_WPProgram_wpQueryProgDetails, system)
typedef somTP_WPProgram_wpQueryProgDetails *somTD_WPProgram_wpQueryProgDetails;
#define somMD_WPProgram_wpQueryProgDetails "----"
#define WPProgram_wpQueryProgDetails(somSelf,pProgDetails,pulSize) \
    (SOM_Resolve(somSelf, WPProgram, wpQueryProgDetails) \
	(somSelf,pProgDetails,pulSize))

#ifndef lookup_wpQueryProgDetails
static char *somLMN_wpQueryProgDetails = "wpQueryProgDetails";
static somId somLId_wpQueryProgDetails = &somLMN_wpQueryProgDetails;
#define lookup_wpQueryProgDetails(somSelf,pProgDetails,pulSize) \
    ((( somTD_WPProgram_wpQueryProgDetails ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpQueryProgDetails)) \
	    (somSelf,pProgDetails,pulSize))
#define _wpQueryProgDetails lookup_wpQueryProgDetails
#endif     /* _wpQueryProgDetails */

/*
 * New Name Lookup Method: wpSetProgDetails
 */
typedef BOOL    SOMLINK somTP_WPProgram_wpSetProgDetails(WPProgram *somSelf,
		PPROGDETAILS pProgDetails);
#pragma linkage(somTP_WPProgram_wpSetProgDetails, system)
typedef somTP_WPProgram_wpSetProgDetails *somTD_WPProgram_wpSetProgDetails;
#define somMD_WPProgram_wpSetProgDetails "----"
#define WPProgram_wpSetProgDetails(somSelf,pProgDetails) \
    (SOM_Resolve(somSelf, WPProgram, wpSetProgDetails) \
	(somSelf,pProgDetails))

#ifndef lookup_wpSetProgDetails
static char *somLMN_wpSetProgDetails = "wpSetProgDetails";
static somId somLId_wpSetProgDetails = &somLMN_wpSetProgDetails;
#define lookup_wpSetProgDetails(somSelf,pProgDetails) \
    ((( somTD_WPProgram_wpSetProgDetails ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpSetProgDetails)) \
	    (somSelf,pProgDetails))
#define _wpSetProgDetails lookup_wpSetProgDetails
#endif     /* _wpSetProgDetails */

/*
 * New Name Lookup Method: wpAddProgramPage
 */
typedef ULONG    SOMLINK somTP_WPProgram_wpAddProgramPage(WPProgram *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPProgram_wpAddProgramPage, system)
typedef somTP_WPProgram_wpAddProgramPage *somTD_WPProgram_wpAddProgramPage;
#define somMD_WPProgram_wpAddProgramPage "----"
#define WPProgram_wpAddProgramPage(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPProgram, wpAddProgramPage) \
	(somSelf,hwndNotebook))

#ifndef lookup_wpAddProgramPage
static char *somLMN_wpAddProgramPage = "wpAddProgramPage";
static somId somLId_wpAddProgramPage = &somLMN_wpAddProgramPage;
#define lookup_wpAddProgramPage(somSelf,hwndNotebook) \
    ((( somTD_WPProgram_wpAddProgramPage ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpAddProgramPage)) \
	    (somSelf,hwndNotebook))
#define _wpAddProgramPage lookup_wpAddProgramPage
#endif     /* _wpAddProgramPage */

/*
 * New Name Lookup Method: wpAddProgramSessionPage
 */
typedef ULONG    SOMLINK somTP_WPProgram_wpAddProgramSessionPage(WPProgram *somSelf,
		HWND hwndNotebook);
#pragma linkage(somTP_WPProgram_wpAddProgramSessionPage, system)
typedef somTP_WPProgram_wpAddProgramSessionPage *somTD_WPProgram_wpAddProgramSessionPage;
#define somMD_WPProgram_wpAddProgramSessionPage "----"
#define WPProgram_wpAddProgramSessionPage(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPProgram, wpAddProgramSessionPage) \
	(somSelf,hwndNotebook))

#ifndef lookup_wpAddProgramSessionPage
static char *somLMN_wpAddProgramSessionPage = "wpAddProgramSessionPage";
static somId somLId_wpAddProgramSessionPage = &somLMN_wpAddProgramSessionPage;
#define lookup_wpAddProgramSessionPage(somSelf,hwndNotebook) \
    ((( somTD_WPProgram_wpAddProgramSessionPage ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpAddProgramSessionPage)) \
	    (somSelf,hwndNotebook))
#define _wpAddProgramSessionPage lookup_wpAddProgramSessionPage
#endif     /* _wpAddProgramSessionPage */

/*
 * New Name Lookup Method: wpQueryAssociationFilter
 */
typedef PSZ    SOMLINK somTP_WPProgram_wpQueryAssociationFilter(WPProgram *somSelf);
#pragma linkage(somTP_WPProgram_wpQueryAssociationFilter, system)
typedef somTP_WPProgram_wpQueryAssociationFilter *somTD_WPProgram_wpQueryAssociationFilter;
#define somMD_WPProgram_wpQueryAssociationFilter "----"
#define WPProgram_wpQueryAssociationFilter(somSelf) \
    (SOM_Resolve(somSelf, WPProgram, wpQueryAssociationFilter) \
	(somSelf))

#ifndef lookup_wpQueryAssociationFilter
static char *somLMN_wpQueryAssociationFilter = "wpQueryAssociationFilter";
static somId somLId_wpQueryAssociationFilter = &somLMN_wpQueryAssociationFilter;
#define lookup_wpQueryAssociationFilter(somSelf) \
    ((( somTD_WPProgram_wpQueryAssociationFilter ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpQueryAssociationFilter)) \
	    (somSelf))
#define _wpQueryAssociationFilter lookup_wpQueryAssociationFilter
#endif     /* _wpQueryAssociationFilter */

/*
 * New Name Lookup Method: wpQueryAssociationType
 */
typedef PSZ    SOMLINK somTP_WPProgram_wpQueryAssociationType(WPProgram *somSelf);
#pragma linkage(somTP_WPProgram_wpQueryAssociationType, system)
typedef somTP_WPProgram_wpQueryAssociationType *somTD_WPProgram_wpQueryAssociationType;
#define somMD_WPProgram_wpQueryAssociationType "----"
#define WPProgram_wpQueryAssociationType(somSelf) \
    (SOM_Resolve(somSelf, WPProgram, wpQueryAssociationType) \
	(somSelf))

#ifndef lookup_wpQueryAssociationType
static char *somLMN_wpQueryAssociationType = "wpQueryAssociationType";
static somId somLId_wpQueryAssociationType = &somLMN_wpQueryAssociationType;
#define lookup_wpQueryAssociationType(somSelf) \
    ((( somTD_WPProgram_wpQueryAssociationType ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpQueryAssociationType)) \
	    (somSelf))
#define _wpQueryAssociationType lookup_wpQueryAssociationType
#endif     /* _wpQueryAssociationType */

/*
 * New Name Lookup Method: wpSetAssociationFilter
 */
typedef BOOL    SOMLINK somTP_WPProgram_wpSetAssociationFilter(WPProgram *somSelf,
		PSZ pszFilter);
#pragma linkage(somTP_WPProgram_wpSetAssociationFilter, system)
typedef somTP_WPProgram_wpSetAssociationFilter *somTD_WPProgram_wpSetAssociationFilter;
#define somMD_WPProgram_wpSetAssociationFilter "----"
#define WPProgram_wpSetAssociationFilter(somSelf,pszFilter) \
    (SOM_Resolve(somSelf, WPProgram, wpSetAssociationFilter) \
	(somSelf,pszFilter))

#ifndef lookup_wpSetAssociationFilter
static char *somLMN_wpSetAssociationFilter = "wpSetAssociationFilter";
static somId somLId_wpSetAssociationFilter = &somLMN_wpSetAssociationFilter;
#define lookup_wpSetAssociationFilter(somSelf,pszFilter) \
    ((( somTD_WPProgram_wpSetAssociationFilter ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpSetAssociationFilter)) \
	    (somSelf,pszFilter))
#define _wpSetAssociationFilter lookup_wpSetAssociationFilter
#endif     /* _wpSetAssociationFilter */

/*
 * New Name Lookup Method: wpSetAssociationType
 */
typedef BOOL    SOMLINK somTP_WPProgram_wpSetAssociationType(WPProgram *somSelf,
		PSZ pszType);
#pragma linkage(somTP_WPProgram_wpSetAssociationType, system)
typedef somTP_WPProgram_wpSetAssociationType *somTD_WPProgram_wpSetAssociationType;
#define somMD_WPProgram_wpSetAssociationType "----"
#define WPProgram_wpSetAssociationType(somSelf,pszType) \
    (SOM_Resolve(somSelf, WPProgram, wpSetAssociationType) \
	(somSelf,pszType))

#ifndef lookup_wpSetAssociationType
static char *somLMN_wpSetAssociationType = "wpSetAssociationType";
static somId somLId_wpSetAssociationType = &somLMN_wpSetAssociationType;
#define lookup_wpSetAssociationType(somSelf,pszType) \
    ((( somTD_WPProgram_wpSetAssociationType ) \
	_somFindSMethodOk(SOM_GetClass(somSelf), somLId_wpSetAssociationType)) \
	    (somSelf,pszType))
#define _wpSetAssociationType lookup_wpSetAssociationType
#endif     /* _wpSetAssociationType */

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK WPProgramNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(WPProgramNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct WPProgramClassDataStructure {
	SOMAny *classObject;
	somMToken wpAddProgramPage;
	somMToken wpAddProgramSessionPage;
	somMToken wpQueryProgDetails;
	somMToken wpSetProgDetails;
	somMToken wpSetHPROGRAM;
	somMToken wpQueryHPROGRAM;
	somMToken wpAddProgramAssociationPage;
	somMToken wpSetProgIcon;
	somMToken wpQueryAssociationFilter;
	somMToken wpQueryAssociationType;
	somMToken wpSetAssociationFilter;
	somMToken wpSetAssociationType;
} WPProgramClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct WPProgramCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} WPProgramCClassData;

#endif       /* wppgm_h */

/*
 * This file was generated by the SOM Compiler.
 * FileName: ..\..\ibmh\wppgm.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

#ifndef wppgm_mh
#define wppgm_mh


/*
 * Define the class name as an object type
 */
#ifndef M_WPProgram
#define M_WPProgram SOMAny
#endif

#define M_WPProgram_MajorVersion 1
#define M_WPProgram_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define M_WPProgramNewClass wppgmrefc
#pragma linkage(wppgmrefc, system)
#define M_WPProgramClassData wppgmrefd
#define M_WPProgramCClassData wppgmrefx
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define M_WPProgram_classObj M_WPProgramClassData.classObject
#define _M_WPProgram M_WPProgram_classObj

/*
 * New and Renew macros for M_WPProgram
 */
#define _M_WPProgramNew() (_somNew(M_WPProgramClassData.classObject))
#define M_WPProgramNew() \
	( M_WPProgramClassData.classObject \
		? _M_WPProgramNew() \
		: ( M_WPProgramNewClass(M_WPProgram_MajorVersion, M_WPProgram_MinorVersion), _M_WPProgramNew() ) )
#define M_WPProgramRenew(buf) \
	( _somRenew(M_WPProgramClassData.classObject, buf) )

/*
 * Override method: wpclsQueryTitle
 */
#define M_WPProgram_wpclsQueryTitle(somSelf) \
	M_WPObject_wpclsQueryTitle(somSelf)

/*
 * Override method: wpclsQueryIconData
 */
#define M_WPProgram_wpclsQueryIconData(somSelf,pIconInfo) \
	M_WPObject_wpclsQueryIconData(somSelf,pIconInfo)

/*
 * Override method: wpclsQueryStyle
 */
#define M_WPProgram_wpclsQueryStyle(somSelf) \
	M_WPObject_wpclsQueryStyle(somSelf)

/*
 * Override method: wpclsQueryDefaultHelp
 */
#define M_WPProgram_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary) \
	M_WPObject_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary)

/*
 * Override method: wpclsQueryDefaultView
 */
#define M_WPProgram_wpclsQueryDefaultView(somSelf) \
	M_WPObject_wpclsQueryDefaultView(somSelf)

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK M_WPProgramNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(M_WPProgramNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct M_WPProgramClassDataStructure {
	SOMAny *classObject;
} M_WPProgramClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct M_WPProgramCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} M_WPProgramCClassData;

#endif       /* wppgm_h */
