home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / xwplascr.zip / XWPL0208.ZIP / idl / wps / wpfsys.idl < prev    next >
Text File  |  2002-07-28  |  9KB  |  303 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.  
  17. //# methods originally published with Warp 3 Toolkit IDL file
  18.  
  19.     BOOL wpSetRealName(in PSZ pszName);
  20.  
  21.     BOOL wpSetType(in PSZ pszTypes,
  22.                    in PFEA2LIST pfeal);
  23.  
  24.     PSZ wpQueryType();
  25.  
  26.     BOOL wpSetAttr(in ULONG attrFile);
  27.  
  28.     ULONG wpQueryAttr();
  29.  
  30.     ULONG wpAddFile1Page(in HWND hwndNotebook);
  31.  
  32.     ULONG wpAddFile2Page(in HWND hwndNotebook);
  33.  
  34.     ULONG wpAddFile3Page(in HWND hwndNotebook);
  35.  
  36.     ULONG wpAddFileMenuPage(in HWND hwndNotebook);
  37.  
  38.     ULONG wpQueryCreation(inout FDATE fdate,
  39.                           inout FTIME ftime);
  40.  
  41.     ULONG wpQueryLastAccess(inout FDATE fdate,
  42.                             inout FTIME ftime);
  43.  
  44.     ULONG wpQueryLastWrite(inout FDATE fdate,
  45.                            inout FTIME ftime);
  46.  
  47.     ULONG wpQueryFileSize();
  48.  
  49.     ULONG wpQueryEASize();
  50.  
  51.     ULONG wpSetDateInfo(inout FILEFINDBUF4 pstFileFindBuf);
  52.  
  53.     ULONG wpSetFileSizeInfo(in ULONG cbFileSize,
  54.                             in ULONG cbEASize);
  55.  
  56.     BOOL wpRefresh(in ULONG ulView,
  57.                    in PVOID pReserved);
  58.  
  59.     ULONG wpQueryRefreshFlags();
  60.  
  61.     BOOL wpSetRefreshFlags(in ULONG ulRefreshFlags);
  62.  
  63.     BOOL wpPrintPlainTextFile(in PPRINTDEST pPrintDest);
  64.  
  65.     BOOL wpSetTitleAndRenameFile(in PSZ pszNewTitle,
  66.                                  in ULONG fConfirmations);
  67.  
  68.     ULONG wpConfirmRenameFileWithExt();
  69.  
  70.     ULONG wpVerifyUpdateAccess();
  71.  
  72.     BOOL wpAddUserItemsToPopupMenu(in HWND hwndMenu,
  73.                                    in HWND hwndCnr,
  74.                                    in ULONG iPosition);
  75.  
  76.     BOOL wpIsDiskSwapped();
  77.  
  78.     BOOL wpQueryRealName(in PSZ pszFilename,
  79.                          in PULONG pcb,
  80.                          in BOOL fQualified);
  81.  
  82.     PSZ wpQueryFilename(in PSZ pszFilename,
  83.                         in BOOL fQualified);
  84.  
  85.     WPFileSystem wpQueryDisk();
  86.  
  87.     ULONG wpQueryDateInfo(inout FILEFINDBUF4 pstFileFindBuf);
  88.  
  89.     ULONG wpConfirmKeepAssoc();
  90.  
  91. //# new non-public methods hacked in for XWorkplace
  92.  
  93.     BOOL wpRefreshFSInfo(in ULONG ulView,
  94.                          in PVOID pReserved,
  95.                          in ULONG ulUnknown);
  96.  
  97.     PVOID wpQueryDriveData();
  98.  
  99.     BOOL wpSetNewRealName(in PSZ pszNewRealName);
  100.  
  101.     BOOL wpAdoptNewRealName(in BOOL fRecurse);
  102.  
  103. #ifdef __SOMIDL__
  104.   implementation {
  105.     releaseorder: wpSetRealName,
  106.                   withdrawn_wpQueryRealName,
  107.                   wpSetType,
  108.                   wpQueryType,
  109.                   wpSetAttr,
  110.                   wpQueryAttr,
  111.                   wpQueryFilename,
  112.                   wpAddFile1Page,
  113.                   wpAddFile2Page,
  114.                   wpAddFile3Page,
  115.                   wpAddFileMenuPage,
  116.                   wpQueryCreation,
  117.                   wpQueryLastAccess,
  118.                   wpQueryLastWrite,
  119.                   wpQueryFileSize,
  120.                   wpQueryEASize,
  121.                   wpSetDateInfo,
  122.                   wpSetFileSizeInfo,
  123.                   wpRefresh,
  124.                   wpPrintPlainTextFile,
  125.                   wpSetRefreshFlags,
  126.                   wpQueryRefreshFlags,
  127.                   wpQueryDriveData,
  128.                   wpSetTitleAndRenameFile,
  129.                   wpConfirmRenameFileWithExt,
  130.                   wpConfirmKeepAssoc,
  131.                   wpAddUserMenuItem,
  132.                   wpQueryDisk,
  133.                   wpQueryDateInfo,
  134.                   wpSetNewRealName,
  135.                   wpAdoptNewRealName,
  136.                   wpQueryRealName,
  137.                   wpVerifyUpdateAccess,
  138.                   wpAddUserItemsToPopupMenu,
  139.                   wpRemoveFileAttrs,
  140.                   wpIsDiskSwapped,
  141.                   wpRefreshFSInfo;
  142.  
  143.     externalstem = wpfs;
  144.     local;
  145.     externalprefix = fs_;
  146.     majorversion = 1;
  147.     minorversion = 2;
  148.     filestem = wpfsys;
  149.     metaclass = M_WPFileSystem;
  150.     callstyle = oidl;
  151.     dllname = "pmwp.dll";
  152.     passthru C_h_after =  "      /* Structure used to read + write the .CLASSINFO ea */"
  153. ""
  154. "      typedef struct _INFOCLASS"
  155. "      {"
  156. "         ULONG    flags;"
  157. "         PSZ      pszClass;"
  158. "         ULONG    cbObjData;"
  159. "         POBJDATA pObjData;"
  160. "      } INFOCLASS;"
  161. "      typedef INFOCLASS * PINFOCLASS;"
  162. ""
  163. "      /* FILEDETAILS structure used for details view */"
  164. ""
  165. "    typedef struct _FILEDETAILS"
  166. "    {"
  167. "       PSZ      pszRealName;     /* Real name */"
  168. "       ULONG    ulSize;          /* Size of the file */"
  169. "       CDATE    cdateLastMod;    /* Last modification date */"
  170. "       CTIME    ctimeLastMod;    /* Last modification time */"
  171. "       CDATE    cdateLastAccess; /* Last access date */"
  172. "       CTIME    ctimeLastAccess; /* Last access time */"
  173. "       CDATE    cdateCreation;   /* Date of creation */"
  174. "       CTIME    ctimeCreation;   /* Time of creation */"
  175. "       ULONG    ulFlags;         /* File flags */"
  176. "       PSZ      ReadOnly;"
  177. "       PSZ      Hidden;"
  178. "       PSZ      System;"
  179. "       PSZ      Directory;"
  180. "       PSZ      Archived;"
  181. "       PSZ      Subject;"
  182. "       PSZ      Comments;"
  183. "       PSZ      KeyPhrases;"
  184. "       PSZ      History;"
  185. "       ULONG    ExtAttr;"
  186. "    }  FILEDETAILS;"
  187. ""
  188. "    typedef FILEDETAILS * PFILEDETAILS;"
  189. ""
  190. "    #define NUM_FILEDETAILS_FIELDS    19     /* Count of fields in FILEDETAILS */"
  191. ""
  192. "      /* format of the extended search criteria for this class */"
  193. "      typedef struct _FILESYS_SEARCH_INFO {"
  194. "         USHORT Exclude;"
  195. "         USHORT MustHave;"
  196. ""
  197. "         BOOL   fIncludeLMD;"
  198. "         USHORT LMDyear;"
  199. "         USHORT LMDmonth;"
  200. "         USHORT LMDday;"
  201. "          SHORT LMDcriteria;"
  202. ""
  203. "         BOOL   fIncludeLMT;"
  204. "         USHORT LMThours;"
  205. "         USHORT LMTminutes;"
  206. "         USHORT LMTseconds;"
  207. "          SHORT LMTcriteria;"
  208. ""
  209. "         BOOL   fIncludeFDS;"
  210. "         ULONG  FDSsize;"
  211. "         SHORT  FDScriteria;"
  212. ""
  213. "         BOOL   fIncludeFEAS;"
  214. "         ULONG  FEASsize;"
  215. "         SHORT  FEAScriteria;"
  216. ""
  217. "         BOOL   fMustHaveNeedEA;"
  218. "         BOOL   fMustNotHaveNeedEA;"
  219. "         } FILESYS_SEARCH_INFO;"
  220. "         typedef FILESYS_SEARCH_INFO *PFILESYS_SEARCH_INFO;"
  221. ""
  222. ""
  223. "      /* Alignment macro: ensure alignment on 4byte boundary */"
  224. ""
  225. "      #define ALIGN4(p) (PVOID)( ( ((ULONG)p) + 3 ) & 0xFFFFFFFC )"
  226. ""
  227. "      /* return values for wpConfirmRenameFileWithExt */"
  228. "      #define KEEP_RENAMEFILESWITHEXT     1"
  229. "      #define DISCARD_RENAMEFILESWITHEXT  2"
  230. "      #define CANCEL_RENAMEFILESWITHEXT   3"
  231. ""
  232. ""
  233. "";
  234.     wpUnInitData: override;
  235.     wpQueryHandle: override;
  236.     wpSaveImmediate: override;
  237.     wpFilterPopupMenu: override;
  238.     wpSetTitle: override;
  239.     wpViewObject: override;
  240.     wpSwitchTo: override;
  241.     wpAddSettingsPages: override;
  242.     wpCopyObject: override;
  243.     wpCreateFromTemplate: override;
  244.     wpMoveObject: override;
  245.     wpQueryIcon: override;
  246.     wpQueryIconData: override;
  247.     wpSetIconData: override;
  248.     wpQueryDetailsData: override;
  249.     wpModifyPopupMenu: override;
  250.     wpSaveState: override;
  251.     wpRestoreState: override;
  252.     wpMenuItemSelected: override;
  253.     wpOpen: override;
  254.     wpDraggedOverObject: override;
  255.     wpDroppedOnObject: override;
  256.     wpFormatDragItem: override;
  257.     wpQueryNameClashOptions: override;
  258.     wpAppendObject: override;
  259.     wpReplaceObject: override;
  260.     wpQueryStyle: override;
  261.     wpSetStyle: override;
  262.     wpDoesObjectMatch: override;
  263.     somDefaultInit: override;
  264.     somDestruct: override;
  265.  };
  266. #endif /* __SOMIDL__ */
  267. };
  268. interface M_WPFileSystem : M_WPObject
  269. {
  270.   WPObject wpclsQueryAwakeObject( in PSZ pszInputPath );
  271.   WPObject wpclsFileSysExists( in WPFolder Folder,
  272.                                 in PSZ pszFilename,
  273.                                 in ULONG attrFile );
  274.   WPObject wpclsQueryObjectFromPath(in PSZ pszFQPath);
  275.   PSZ wpclsQueryInstanceType();
  276.   PSZ wpclsQueryInstanceFilter();
  277. #ifdef __SOMIDL__
  278.   implementation {
  279.     releaseorder: wpclsQueryInstanceType,
  280.                   wpclsQueryInstanceFilter,
  281.                   wpclsQueryObjectFromPath,
  282.                   wpclsQueryAwakeObject,
  283.                   wpclsFileSysExists;
  284.     externalstem = wpfs;
  285.     local;
  286.     externalprefix = fsM_;
  287.     majorversion = 1;
  288.     minorversion = 2;
  289.     filestem = wpfsys;
  290.     callstyle = oidl;
  291.     dllname = "pmwp.dll";
  292.  
  293.     wpclsInitData: override;
  294.     wpclsQueryTitle: override;
  295.     wpclsQueryDetailsInfo: override;
  296.     wpclsQuerySearchInfo: override;
  297.     wpclsQueryExtendedCriteria: override;
  298.     wpclsNew: override;
  299.   };
  300. #endif /* __SOMIDL__ */
  301. };
  302. #endif  /* wpfsys_idl */
  303.