//  Module Header
//
//  Module Name: WPPGMF
//
//  OS/2 Presentation Manager Workplace class definitions
//
//  Copyright (c) International Business Machines Corporation 1991, 1992
//
#ifndef wppgmf_idl
#define wppgmf_idl
#include "wpdataf.idl"
#include <somcls.idl>
interface M_WPProgramFile;
interface WPProgramFile : WPDataFile
{
  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: wpAddProgramAssociationPage,wpAddProgramPage,wpAddProgramSessionPage,
                  wpSetProgDetails,wpQueryProgDetails,wpSetProgIcon,
                  wpQueryAssociationFilter,wpQueryAssociationType,
                  wpSetAssociationFilter,wpSetAssociationType,
                  wpQueryProgramAssociations, wpSetProgramAssociations;
    externalstem = wppgm;
    local;
    externalprefix = pgm_;
    majorversion = 1;
    minorversion = 2;
    filestem = wppgmf;
    metaclass = M_WPProgramFile;
    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;
    wpSetAssociatedFileIcon: override;
    wpQueryIcon: override;
    wpInitData: override;
    wpSaveState: override;
    wpRestoreState: override;
    wpAddSettingsPages: override;
    wpOpen: override;
    wpModifyPopupMenu: override;
    wpMenuItemSelected: override;
    wpMenuItemHelpSelected: override;
    wpMoveObject: override;
    wpDragOver: override;
    wpDrop: override;
    wpCopyObject: override;
    wpConfirmRenameFileWithExt: override;
    wpCreateAnother: override;
    wpFilterPopupMenu: override;
    wpSetup: override;
    wpQueryNameClashOptions: override;
    somDefaultInit: override;              somDestruct: override;               };
#endif /* __SOMIDL__ */
};
interface M_WPProgramFile : M_WPDataFile
{
#ifdef __SOMIDL__
  implementation {
    externalstem = wppgm;
    local;
    externalprefix = pgmM_;
    majorversion = 1;
    minorversion = 2;
    filestem = wppgmf;
    callstyle = oidl;
    dllname = "pmwp.dll";                   wpclsQueryTitle: override;
    wpclsQueryIconData: override;
    wpclsQueryDefaultView: override;
    wpclsQueryStyle: override;
  };
#endif /* __SOMIDL__ */
};
#endif  /* wppgmf_idl */
