home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / WPFSYS.IDL < prev    next >
Text File  |  1995-12-04  |  8KB  |  288 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. #ifdef __SOMIDL__
  98.   implementation {
  99.  
  100.     releaseorder: wpSetRealName,withdrawn_wpQueryRealName,wpSetType,
  101.           wpQueryType,wpSetAttr,wpQueryAttr,wpQueryFilename,
  102.           wpAddFile1Page,wpAddFile2Page,wpAddFile3Page,wpAddFileMenuPage,
  103.           wpQueryCreation,wpQueryLastAccess,wpQueryLastWrite,
  104.           wpQueryFileSize,wpQueryEASize,wpSetDateInfo,wpSetFileSizeInfo,
  105.           wpRefresh,wpPrintPlainTextFile,wpSetRefreshFlags,
  106.           wpQueryRefreshFlags,wpQueryDriveData,wpSetTitleAndRenameFile,
  107.           wpConfirmRenameFileWithExt,wpConfirmKeepAssoc,wpAddUserMenuItem,
  108.           wpQueryDisk,wpQueryDateInfo,wpSetNewRealName,wpAdoptNewRealName,
  109.           wpQueryRealName,wpVerifyUpdateAccess,wpAddUserItemsToPopupMenu,
  110.           wpRemoveFileAttrs,wpIsDiskSwapped,wpRefreshFSInfo,
  111.           wpQueryEASupport, wpSetEASupport,
  112.           wpResetHandle;                     
  113.  
  114.     externalstem = wpfs;
  115.     local;
  116.     externalprefix = fs_;
  117.     majorversion = 1;
  118.     minorversion = 2;
  119.     filestem = wpfsys;
  120.     metaclass = M_WPFileSystem;
  121.     callstyle = oidl;
  122.     dllname = "pmwp.dll";               
  123.  
  124.     passthru C_h_after =  "      /* Structure used to read + write the .CLASSINFO ea */"
  125. ""
  126. "      typedef struct _INFOCLASS"
  127. "      {"
  128. "         ULONG    flags;"
  129. "         PSZ      pszClass;"
  130. "         ULONG    cbObjData;"
  131. "         POBJDATA pObjData;"
  132. "      } INFOCLASS;"
  133. "      typedef INFOCLASS * PINFOCLASS;"
  134. ""
  135. "      /* FILEDETAILS structure used for details view */"
  136. ""
  137. "    typedef struct _FILEDETAILS"
  138. "    {"
  139. "       PSZ      pszRealName;     /* Real name */"
  140. "       ULONG    ulSize;          /* Size of the file */"
  141. "       CDATE    cdateLastMod;    /* Last modification date */"
  142. "       CTIME    ctimeLastMod;    /* Last modification time */"
  143. "       CDATE    cdateLastAccess; /* Last access date */"
  144. "       CTIME    ctimeLastAccess; /* Last access time */"
  145. "       CDATE    cdateCreation;   /* Date of creation */"
  146. "       CTIME    ctimeCreation;   /* Time of creation */"
  147. "       ULONG    ulFlags;         /* File flags */"
  148. "       PSZ      ReadOnly;"
  149. "       PSZ      Hidden;"
  150. "       PSZ      System;"
  151. "       PSZ      Directory;"
  152. "       PSZ      Archived;"
  153. "       PSZ      Subject;"
  154. "       PSZ      Comments;"
  155. "       PSZ      KeyPhrases;"
  156. "       PSZ      History;"
  157. "       ULONG    ExtAttr;"
  158. "    }  FILEDETAILS;"
  159. ""
  160. "    typedef FILEDETAILS * PFILEDETAILS;"
  161. ""
  162. "    #define NUM_FILEDETAILS_FIELDS    19     /* Count of fields in FILEDETAILS */"
  163. ""
  164. "      /* format of the extended search criteria for this class */"
  165. "      typedef struct _FILESYS_SEARCH_INFO {"
  166. "         USHORT Exclude;"
  167. "         USHORT MustHave;"
  168. ""
  169. "         BOOL   fIncludeLMD;"
  170. "         USHORT LMDyear;"
  171. "         USHORT LMDmonth;"
  172. "         USHORT LMDday;"
  173. "          SHORT LMDcriteria;"
  174. ""
  175. "         BOOL   fIncludeLMT;"
  176. "         USHORT LMThours;"
  177. "         USHORT LMTminutes;"
  178. "         USHORT LMTseconds;"
  179. "          SHORT LMTcriteria;"
  180. ""
  181. "         BOOL   fIncludeFDS;"
  182. "         ULONG  FDSsize;"
  183. "         SHORT  FDScriteria;"
  184. ""
  185. "         BOOL   fIncludeFEAS;"
  186. "         ULONG  FEASsize;"
  187. "         SHORT  FEAScriteria;"
  188. ""
  189. "         BOOL   fMustHaveNeedEA;"
  190. "         BOOL   fMustNotHaveNeedEA;"
  191. "         } FILESYS_SEARCH_INFO;"
  192. "         typedef FILESYS_SEARCH_INFO *PFILESYS_SEARCH_INFO;"
  193. ""
  194. ""
  195. "      /* Alignment macro: ensure alignment on 4byte boundary */"
  196. ""
  197. "      #define ALIGN4(p) (PVOID)( ( ((ULONG)p) + 3 ) & 0xFFFFFFFC )"
  198. ""
  199. "      /* return values for wpConfirmRenameFileWithExt */"
  200. "      #define KEEP_RENAMEFILESWITHEXT     1"
  201. "      #define DISCARD_RENAMEFILESWITHEXT  2"
  202. "      #define CANCEL_RENAMEFILESWITHEXT   3"
  203. ""
  204. ""
  205. "";
  206.  
  207.  
  208.     wpUnInitData: override;
  209.     wpQueryHandle: override;
  210.     wpSaveImmediate: override;
  211.     wpFilterPopupMenu: override;
  212.     wpSetTitle: override;
  213.     wpViewObject: override;
  214.     wpSwitchTo: override;
  215.     wpAddSettingsPages: override;
  216.     wpCopyObject: override;
  217.     wpCreateFromTemplate: override;
  218.     wpMoveObject: override;
  219.     wpQueryIcon: override;
  220.     wpQueryIconData: override;
  221.     wpSetIconData: override;
  222.     wpQueryDetailsData: override;
  223.     wpModifyPopupMenu: override;
  224.     wpSaveState: override;
  225.     wpRestoreState: override;
  226.     wpMenuItemSelected: override;
  227.     wpOpen: override;
  228.     wpDraggedOverObject: override;
  229.     wpDroppedOnObject: override;
  230.     wpFormatDragItem: override;
  231.     wpQueryNameClashOptions: override;
  232.     wpAppendObject: override;
  233.     wpReplaceObject: override;
  234.     wpQueryStyle: override;
  235.     wpSetStyle: override;
  236.     wpDoesObjectMatch: override;
  237.     somDefaultInit: override;           
  238.     somDestruct: override;           
  239.  
  240.  
  241.   };
  242. #endif /* __SOMIDL__ */
  243. };
  244.  
  245. interface M_WPFileSystem : M_WPObject
  246. {
  247.  
  248.   WPObject wpclsQueryAwakeObject( in PSZ pszInputPath );
  249.  
  250.   WPObject wpclsFileSysExists( in SOMAny Folder,
  251.                 in PSZ pszFilename,
  252.                 in ULONG attrFile );
  253.  
  254.   WPObject wpclsQueryObjectFromPath(in PSZ pszFQPath);
  255.  
  256.   PSZ wpclsQueryInstanceType();
  257.  
  258.   PSZ wpclsQueryInstanceFilter();
  259.  
  260. #ifdef __SOMIDL__
  261.   implementation {
  262.  
  263.     releaseorder: wpclsQueryInstanceType,wpclsQueryInstanceFilter,wpclsQueryObjectFromPath,
  264.           wpclsQueryAwakeObject,wpclsFileSysExists;
  265.  
  266.     externalstem = wpfs;
  267.     local;
  268.     externalprefix = fsM_;
  269.     majorversion = 1;
  270.     minorversion = 2;
  271.     filestem = wpfsys;
  272.     callstyle = oidl;
  273.     dllname = "pmwp.dll";               
  274.  
  275.     wpclsInitData: override;
  276.     wpclsQueryTitle: override;
  277.     wpclsQueryDetailsInfo: override;
  278.     wpclsQuerySearchInfo: override;
  279.     wpclsQueryExtendedCriteria: override;
  280.     wpclsNew: override;
  281.  
  282.  
  283.   };
  284. #endif /* __SOMIDL__ */
  285. };
  286.  
  287. #endif    /* wpfsys_idl */
  288.