home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / idl / wpfsys.idl < prev    next >
Text File  |  1999-03-15  |  9KB  |  310 lines

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