//  Module Header
//
//  Module Name: WPPGM
//
//  OS/2 Presentation Manager Workplace class definitions
//
//  Copyright (c) International Business Machines Corporation 1991, 1992
//
#ifndef wppgm_idl
#define wppgm_idl
#include "wpabs.idl"
#include <somcls.idl>
interface M_WPProgram;
interface WPProgram : WPAbstract
{
  ULONG wpAddProgramAssociationPage(in HWND hwndNotebook);
  BOOL wpQueryProgDetails(in PPROGDETAILS pProgDetails,
                          in PULONG pulSize);
  BOOL wpSetProgDetails(in PPROGDETAILS pProgDetails);
  ULONG wpAddProgramPage(in HWND hwndNotebook);
  ULONG wpAddProgramSessionPage(in HWND hwndNotebook);
  PSZ wpQueryAssociationFilter();
  PSZ wpQueryAssociationType();
  BOOL wpSetAssociationFilter(in PSZ pszFilter);
  BOOL wpSetAssociationType(in PSZ pszType);
  PSZ wpQueryProgramAssociations( in    PBYTE ptr,
                                  in    PSZ pszAssoc,
                                  in    BOOL fFilter );
  BOOL wpSetProgramAssociations( in PSZ pszAssoc,
                                 in BOOL fFilter );
  BOOL wpSetProgIcon(in PFEA2LIST pfeal);
#ifdef __SOMIDL__
  implementation {
    releaseorder: wpAddProgramPage,wpAddProgramSessionPage,wpQueryProgDetails,
                  wpSetProgDetails,wpSetHPROGRAM,wpQueryHPROGRAM,wpAddProgramAssociationPage,
                  wpSetProgIcon,wpQueryAssociationFilter,wpQueryAssociationType,
                  wpSetAssociationFilter,wpSetAssociationType,
                  wpQueryProgramAssociations, wpSetProgramAssociations;
    externalstem = wppgmref;
    local;
    externalprefix = ref_;
    majorversion = 1;
    minorversion = 2;
    filestem = wppgm;
    metaclass = M_WPProgram;
    callstyle = oidl;
    dllname = "pmwp.dll";                   wpAddProgramAssociationPage: namelookup;
    wpQueryProgDetails: namelookup;
    wpSetProgDetails: namelookup;
    wpAddProgramPage: namelookup;
    wpAddProgramSessionPage: namelookup;
    wpQueryAssociationFilter: namelookup;
    wpQueryAssociationType: namelookup;
    wpSetAssociationFilter: namelookup;
    wpSetAssociationType: namelookup;
    wpQueryProgramAssociations: namelookup;
    wpSetProgramAssociations: namelookup;
    wpQueryDefaultHelp: override;
    wpInitData: override;
    wpSetup: override;
    wpUnInitData: override;
    wpSaveState: override;
    wpRestoreState: override;
    wpAddSettingsPages: override;
    wpOpen: override;
    wpModifyPopupMenu: override;
    wpMenuItemSelected: override;
    wpMenuItemHelpSelected: override;
    wpCreateFromTemplate: override;
    wpCreateAnother: override;
    wpQueryIconData: override;
    wpSetIconData: override;
    wpQueryIcon: override;
    wpMoveObject: override;
    wpCopyObject: override;
    wpDragOver: override;
    wpDrop: override;
    wpSetTitle: override;
    somDefaultInit: override;              somDestruct: override;               };
#endif /* __SOMIDL__ */
};
interface M_WPProgram : M_WPAbstract
{
#ifdef __SOMIDL__
  implementation {
    externalstem = wppgmref;
    local;
    externalprefix = refM_;
    majorversion = 1;
    minorversion = 2;
    filestem = wppgm;
    callstyle = oidl;
    dllname = "pmwp.dll";                   wpclsQueryTitle: override;
    wpclsQueryIconData: override;
    wpclsQueryStyle: override;
    wpclsQueryDefaultHelp: override;
    wpclsQueryDefaultView: override;
  };
#endif /* __SOMIDL__ */
};
#endif  /* wppgm_idl */
