home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dtswps.zip / DTSFILES.ZIP / WPFSYS.IDL < prev    next >
Text File  |  1996-04-18  |  8KB  |  223 lines

  1. //  Module Header
  2. //
  3. //  Module Name: WPFSYS
  4. //
  5. //  OS/2 Presentation Manager Workplace class definitions
  6. //
  7. //  Copyright (c) International Business Machines Corporation 1991, 1994
  8. //
  9. #ifndef wpfsys_idl
  10. #define wpfsys_idl
  11. #include "wpobject.idl"
  12. #include <somcls.idl>
  13. interface M_WPFileSystem;
  14. interface WPFileSystem : WPObject
  15. {
  16.   BOOL wpSetRealName(in PSZ pszName);
  17.   BOOL wpSetType(in PSZ pszTypes,
  18.                  in PFEA2LIST pfeal);
  19.   PSZ wpQueryType();
  20.   BOOL wpSetAttr(in ULONG attrFile);
  21.   ULONG wpQueryAttr();
  22.   ULONG wpAddFile1Page(in HWND hwndNotebook);
  23.   ULONG wpAddFile2Page(in HWND hwndNotebook);
  24.   ULONG wpAddFile3Page(in HWND hwndNotebook);
  25.   ULONG wpAddFileMenuPage(in HWND hwndNotebook);
  26.   ULONG wpQueryCreation(inout FDATE fdate,
  27.                         inout FTIME ftime);
  28.   ULONG wpQueryLastAccess(inout FDATE fdate,
  29.                           inout FTIME ftime);
  30.   ULONG wpQueryLastWrite(inout FDATE fdate,
  31.                          inout FTIME ftime);
  32.   ULONG wpQueryFileSize();
  33.   ULONG wpQueryEASize();
  34.   ULONG wpSetDateInfo(inout FILEFINDBUF4 pstFileFindBuf);
  35.   ULONG wpSetFileSizeInfo(in ULONG cbFileSize,
  36.                           in ULONG cbEASize);
  37.   BOOL wpRefresh(in ULONG ulView,
  38.                  in PVOID pReserved);
  39.   ULONG wpQueryRefreshFlags();
  40.   BOOL wpSetRefreshFlags(in ULONG ulRefreshFlags);
  41.   BOOL wpPrintPlainTextFile(in PPRINTDEST pPrintDest);
  42.   BOOL wpSetTitleAndRenameFile(in PSZ pszNewTitle,
  43.                                in ULONG fConfirmations);
  44.   ULONG wpConfirmRenameFileWithExt();
  45.   ULONG wpVerifyUpdateAccess();
  46.   BOOL wpAddUserItemsToPopupMenu(in HWND hwndMenu,
  47.                                  in HWND hwndCnr,
  48.                                  in ULONG iPosition);
  49.   BOOL wpIsDiskSwapped();
  50.   BOOL wpQueryRealName(in PSZ pszFilename,
  51.                        in PULONG pcb,
  52.                        in BOOL fQualified);
  53.   PSZ wpQueryFilename(in PSZ pszFilename,
  54.                       in BOOL fQualified);
  55.   WPFileSystem wpQueryDisk();
  56.   ULONG wpQueryDateInfo(inout FILEFINDBUF4 pstFileFindBuf);
  57.   ULONG wpConfirmKeepAssoc();
  58. #ifdef __SOMIDL__
  59.   implementation {
  60.     releaseorder: wpSetRealName,withdrawn_wpQueryRealName,wpSetType,
  61.                   wpQueryType,wpSetAttr,wpQueryAttr,wpQueryFilename,
  62.                   wpAddFile1Page,wpAddFile2Page,wpAddFile3Page,wpAddFileMenuPage,
  63.                   wpQueryCreation,wpQueryLastAccess,wpQueryLastWrite,
  64.                   wpQueryFileSize,wpQueryEASize,wpSetDateInfo,wpSetFileSizeInfo,
  65.                   wpRefresh,wpPrintPlainTextFile,wpSetRefreshFlags,
  66.                   wpQueryRefreshFlags,wpQueryDriveData,wpSetTitleAndRenameFile,
  67.                   wpConfirmRenameFileWithExt,wpConfirmKeepAssoc,wpAddUserMenuItem,
  68.                   wpQueryDisk,wpQueryDateInfo,wpSetNewRealName,wpAdoptNewRealName,
  69.                   wpQueryRealName,wpVerifyUpdateAccess,wpAddUserItemsToPopupMenu,
  70.                   wpRemoveFileAttrs,wpIsDiskSwapped,wpRefreshFSInfo;
  71.     externalstem = wpfs;
  72.     local;
  73.     externalprefix = fs_;
  74.     majorversion = 1;
  75.     minorversion = 2;
  76.     filestem = wpfsys;
  77.     metaclass = M_WPFileSystem;
  78.     callstyle = oidl;
  79.     dllname = "pmwp.dll";                   passthru C_h_after =  "      /* Structure used to read + write the .CLASSINFO ea */"
  80. ""
  81. "      typedef struct _INFOCLASS"
  82. "      {"
  83. "         ULONG    flags;"
  84. "         PSZ      pszClass;"
  85. "         ULONG    cbObjData;"
  86. "         POBJDATA pObjData;"
  87. "      } INFOCLASS;"
  88. "      typedef INFOCLASS * PINFOCLASS;"
  89. ""
  90. "      /* FILEDETAILS structure used for details view */"
  91. ""
  92. "    typedef struct _FILEDETAILS"
  93. "    {"
  94. "       PSZ      pszRealName;     /* Real name */"
  95. "       ULONG    ulSize;          /* Size of the file */"
  96. "       CDATE    cdateLastMod;    /* Last modification date */"
  97. "       CTIME    ctimeLastMod;    /* Last modification time */"
  98. "       CDATE    cdateLastAccess; /* Last access date */"
  99. "       CTIME    ctimeLastAccess; /* Last access time */"
  100. "       CDATE    cdateCreation;   /* Date of creation */"
  101. "       CTIME    ctimeCreation;   /* Time of creation */"
  102. "       ULONG    ulFlags;         /* File flags */"
  103. "       PSZ      ReadOnly;"
  104. "       PSZ      Hidden;"
  105. "       PSZ      System;"
  106. "       PSZ      Directory;"
  107. "       PSZ      Archived;"
  108. "       PSZ      Subject;"
  109. "       PSZ      Comments;"
  110. "       PSZ      KeyPhrases;"
  111. "       PSZ      History;"
  112. "       ULONG    ExtAttr;"
  113. "    }  FILEDETAILS;"
  114. ""
  115. "    typedef FILEDETAILS * PFILEDETAILS;"
  116. ""
  117. "    #define NUM_FILEDETAILS_FIELDS    19     /* Count of fields in FILEDETAILS */"
  118. ""
  119. "      /* format of the extended search criteria for this class */"
  120. "      typedef struct _FILESYS_SEARCH_INFO {"
  121. "         USHORT Exclude;"
  122. "         USHORT MustHave;"
  123. ""
  124. "         BOOL   fIncludeLMD;"
  125. "         USHORT LMDyear;"
  126. "         USHORT LMDmonth;"
  127. "         USHORT LMDday;"
  128. "          SHORT LMDcriteria;"
  129. ""
  130. "         BOOL   fIncludeLMT;"
  131. "         USHORT LMThours;"
  132. "         USHORT LMTminutes;"
  133. "         USHORT LMTseconds;"
  134. "          SHORT LMTcriteria;"
  135. ""
  136. "         BOOL   fIncludeFDS;"
  137. "         ULONG  FDSsize;"
  138. "         SHORT  FDScriteria;"
  139. ""
  140. "         BOOL   fIncludeFEAS;"
  141. "         ULONG  FEASsize;"
  142. "         SHORT  FEAScriteria;"
  143. ""
  144. "         BOOL   fMustHaveNeedEA;"
  145. "         BOOL   fMustNotHaveNeedEA;"
  146. "         } FILESYS_SEARCH_INFO;"
  147. "         typedef FILESYS_SEARCH_INFO *PFILESYS_SEARCH_INFO;"
  148. ""
  149. ""
  150. "      /* Alignment macro: ensure alignment on 4byte boundary */"
  151. ""
  152. "      #define ALIGN4(p) (PVOID)( ( ((ULONG)p) + 3 ) & 0xFFFFFFFC )"
  153. ""
  154. "      /* return values for wpConfirmRenameFileWithExt */"
  155. "      #define KEEP_RENAMEFILESWITHEXT     1"
  156. "      #define DISCARD_RENAMEFILESWITHEXT  2"
  157. "      #define CANCEL_RENAMEFILESWITHEXT   3"
  158. ""
  159. ""
  160. "";
  161.     wpUnInitData: override;
  162.     wpQueryHandle: override;
  163.     wpSaveImmediate: override;
  164.     wpFilterPopupMenu: override;
  165.     wpSetTitle: override;
  166.     wpViewObject: override;
  167.     wpSwitchTo: override;
  168.     wpAddSettingsPages: override;
  169.     wpCopyObject: override;
  170.     wpCreateFromTemplate: override;
  171.     wpMoveObject: override;
  172.     wpQueryIcon: override;
  173.     wpQueryIconData: override;
  174.     wpSetIconData: override;
  175.     wpQueryDetailsData: override;
  176.     wpModifyPopupMenu: override;
  177.     wpSaveState: override;
  178.     wpRestoreState: override;
  179.     wpMenuItemSelected: override;
  180.     wpOpen: override;
  181.     wpDraggedOverObject: override;
  182.     wpDroppedOnObject: override;
  183.     wpFormatDragItem: override;
  184.     wpQueryNameClashOptions: override;
  185.     wpAppendObject: override;
  186.     wpReplaceObject: override;
  187.     wpQueryStyle: override;
  188.     wpSetStyle: override;
  189.     wpDoesObjectMatch: override;
  190.     somDefaultInit: override;              somDestruct: override;               };
  191. #endif /* __SOMIDL__ */
  192. };
  193. interface M_WPFileSystem : M_WPObject
  194. {
  195.   WPObject wpclsQueryAwakeObject( in PSZ pszInputPath );
  196.   WPObject wpclsFileSysExists( in WPFolder Folder,
  197.                                 in PSZ pszFilename,
  198.                                 in ULONG attrFile );
  199.   WPObject wpclsQueryObjectFromPath(in PSZ pszFQPath);
  200.   PSZ wpclsQueryInstanceType();
  201.   PSZ wpclsQueryInstanceFilter();
  202. #ifdef __SOMIDL__
  203.   implementation {
  204.     releaseorder: wpclsQueryInstanceType,wpclsQueryInstanceFilter,wpclsQueryObjectFromPath,
  205.                   wpclsQueryAwakeObject,wpclsFileSysExists;
  206.     externalstem = wpfs;
  207.     local;
  208.     externalprefix = fsM_;
  209.     majorversion = 1;
  210.     minorversion = 2;
  211.     filestem = wpfsys;
  212.     callstyle = oidl;
  213.     dllname = "pmwp.dll";                   wpclsInitData: override;
  214.     wpclsQueryTitle: override;
  215.     wpclsQueryDetailsInfo: override;
  216.     wpclsQuerySearchInfo: override;
  217.     wpclsQueryExtendedCriteria: override;
  218.     wpclsNew: override;
  219.   };
  220. #endif /* __SOMIDL__ */
  221. };
  222. #endif  /* wpfsys_idl */
  223.