home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / detk45he.zip / WPFSYS.XH < prev    next >
Text File  |  1999-03-15  |  27KB  |  916 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpfsys.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.14
  7.  *     SOM Emitter emitxh: 2.43
  8.  */
  9.  
  10. /*
  11.  *   Module Header
  12.  * 
  13.  *   Module Name: WPFSYS
  14.  * 
  15.  *   OS/2 Presentation Manager Workplace class definitions
  16.  * 
  17.  *   Copyright (c) International Business Machines Corporation 1991, 1994
  18.  * 
  19.  */
  20.  
  21.  
  22. #ifndef SOM_WPFileSystem_xh
  23. #define SOM_WPFileSystem_xh
  24.  
  25. class WPFileSystem;
  26.  
  27. #define WPFileSystem_MajorVersion 1
  28. #define WPFileSystem_MinorVersion 2
  29.  
  30. /* C++ SOM defs */
  31. #include <somcls.xh>
  32. #include <somcm.xh>
  33.  
  34. /* C++ parent defs */
  35. #ifndef SOM_WPObject_xh
  36. #include <wpobject.xh>
  37. #endif
  38.  
  39. #ifndef WPFileSystem_API
  40. #define WPFileSystem_API
  41. /*
  42.  * -- The Class API
  43.  */
  44.  
  45. /*
  46.  * Start of bindings for IDL types
  47.  */
  48.  
  49. class SOMClass;
  50. class SOMObject;
  51. class WPFolder;
  52. class M_WPObject;
  53. class WPObject;
  54. class WPImageFile;
  55. class M_WPFileSystem;
  56.  
  57. /*
  58.  * End of bindings for IDL types.
  59.  */
  60.  
  61. /*
  62.  * Passthru lines: File: "C.h", "after"
  63.  */
  64. /* Structure used to read + write the .CLASSINFO ea */
  65.  
  66.       typedef struct _INFOCLASS
  67.       {
  68.          ULONG    flags;
  69.          PSZ      pszClass;
  70.          ULONG    cbObjData;
  71.          POBJDATA pObjData;
  72.       } INFOCLASS;
  73.       typedef INFOCLASS * PINFOCLASS;
  74.  
  75.       /* FILEDETAILS structure used for details view */
  76.  
  77.     typedef struct _FILEDETAILS
  78.     {
  79.        PSZ      pszRealName;     /* Real name */
  80.        PSZ      pszSize;         /* Asciiz size of the file */
  81.        CDATE    cdateLastMod;    /* Last modification date */
  82.        CTIME    ctimeLastMod;    /* Last modification time */
  83.        CDATE    cdateLastAccess; /* Last access date */
  84.        CTIME    ctimeLastAccess; /* Last access time */
  85.        CDATE    cdateCreation;   /* Date of creation */
  86.        CTIME    ctimeCreation;   /* Time of creation */
  87.        ULONG    ulFlags;         /* File flags */
  88.        PSZ      ReadOnly;
  89.        PSZ      Hidden;
  90.        PSZ      System;
  91.        PSZ      Directory;
  92.        PSZ      Archived;
  93.        PSZ      Subject;
  94.        PSZ      Comments;
  95.        PSZ      KeyPhrases;
  96.        PSZ      History;
  97.        ULONG    ExtAttr;
  98.     }  FILEDETAILS;
  99.  
  100.     typedef FILEDETAILS * PFILEDETAILS;
  101.  
  102.     #define NUM_FILEDETAILS_FIELDS    19     /* Count of fields in FILEDETAILS */
  103.  
  104.       /* format of the extended search criteria for this class */
  105.       typedef struct _FILESYS_SEARCH_INFO {
  106.          USHORT Exclude;
  107.          USHORT MustHave;
  108.  
  109.          BOOL   fIncludeLMD;
  110.          USHORT LMDyear;
  111.          USHORT LMDmonth;
  112.          USHORT LMDday;
  113.           SHORT LMDcriteria;
  114.  
  115.          BOOL   fIncludeLMT;
  116.          USHORT LMThours;
  117.          USHORT LMTminutes;
  118.          USHORT LMTseconds;
  119.           SHORT LMTcriteria;
  120.  
  121.          BOOL   fIncludeFDS;
  122.          ULONG  FDSsize;
  123.          SHORT  FDScriteria;
  124.  
  125.          BOOL   fIncludeFEAS;
  126.          ULONG  FEASsize;
  127.          SHORT  FEAScriteria;
  128.  
  129.          BOOL   fMustHaveNeedEA;
  130.          BOOL   fMustNotHaveNeedEA;
  131.          } FILESYS_SEARCH_INFO;
  132.          typedef FILESYS_SEARCH_INFO *PFILESYS_SEARCH_INFO;
  133.  
  134.  
  135.       /* Alignment macro: ensure alignment on 4byte boundary */
  136.  
  137.       #define ALIGN4(p) (PVOID)( ( ((ULONG)p) + 3 ) & 0xFFFFFFFC )
  138.  
  139.       /* return values for wpConfirmRenameFileWithExt */
  140.       #define KEEP_RENAMEFILESWITHEXT     1
  141.       #define DISCARD_RENAMEFILESWITHEXT  2
  142.       #define CANCEL_RENAMEFILESWITHEXT   3
  143.  
  144.  
  145.  
  146.  
  147. /* A procedure to create the WPFileSystem Class */
  148. class M_WPFileSystem;
  149. SOMEXTERN M_WPFileSystem * SOMLINK WPFileSystemNewClass(
  150.         integer4 majorVersion,
  151.         integer4 minorVersion);
  152.  
  153. /* The API to the WPFileSystem class object, and the methods it introduces. */
  154. SOMEXTERN struct WPFileSystemClassDataStructure {
  155.     M_WPFileSystem *classObject;
  156.     somMToken wpSetRealName;
  157.     somMToken withdrawn_wpQueryRealName;
  158.     somMToken wpSetType;
  159.     somMToken wpQueryType;
  160.     somMToken wpSetAttr;
  161.     somMToken wpQueryAttr;
  162.     somMToken wpQueryFilename;
  163.     somMToken wpAddFile1Page;
  164.     somMToken wpAddFile2Page;
  165.     somMToken wpAddFile3Page;
  166.     somMToken wpAddFileMenuPage;
  167.     somMToken wpQueryCreation;
  168.     somMToken wpQueryLastAccess;
  169.     somMToken wpQueryLastWrite;
  170.     somMToken wpQueryFileSize;
  171.     somMToken wpQueryEASize;
  172.     somMToken wpSetDateInfo;
  173.     somMToken wpSetFileSizeInfo;
  174.     somMToken wpRefresh;
  175.     somMToken wpPrintPlainTextFile;
  176.     somMToken wpSetRefreshFlags;
  177.     somMToken wpQueryRefreshFlags;
  178.     somMToken wpFilesystemPrivate1;
  179.     somMToken wpSetTitleAndRenameFile;
  180.     somMToken wpConfirmRenameFileWithExt;
  181.     somMToken wpConfirmKeepAssoc;
  182.     somMToken wpFilesystemPrivate2;
  183.     somMToken wpQueryDisk;
  184.     somMToken wpQueryDateInfo;
  185.     somMToken wpFileSystemPrivate3;
  186.     somMToken wpFileSystemPrivate4;
  187.     somMToken wpQueryRealName;
  188.     somMToken wpVerifyUpdateAccess;
  189.     somMToken wpAddUserItemsToPopupMenu;
  190.     somMToken wpFilesystemPrivate5;
  191.     somMToken wpIsDiskSwapped;
  192.     somMToken wpFilesystemPrivate6;
  193.     somMToken wpQueryEASupport;
  194.     somMToken wpFilesystemPrivate7;
  195.     somMToken wpFilesystemPrivate8;
  196.     somMToken wpFilesystemPrivate9;
  197.     somMToken wpQueryFileSizeL;
  198.     somMToken wpSetFileSizeL;
  199. } SOMDLINK WPFileSystemClassData;
  200. #define _WPFileSystem WPFileSystemClassData.classObject
  201.  
  202. /* The API to parentMtabs for WPFileSystem, and the instance data it introduces. */
  203. SOMEXTERN struct WPFileSystemCClassDataStructure {
  204.     somMethodTabs parentMtab;
  205.     somDToken              instanceDataToken;
  206. } SOMDLINK WPFileSystemCClassData;
  207.  
  208. /*
  209.  * -- Typedefs for WPFileSystem Method Procedures
  210.  */
  211. SOMEXTERN {
  212. typedef BOOL   SOMLINK somTP_WPFileSystem_wpSetRealName(WPFileSystem *somSelf, 
  213.         PSZ pszName);
  214. typedef somTP_WPFileSystem_wpSetRealName *somTD_WPFileSystem_wpSetRealName;
  215. typedef BOOL   SOMLINK somTP_WPFileSystem_wpSetType(WPFileSystem *somSelf, 
  216.         PSZ pszTypes, 
  217.         PFEA2LIST pfeal);
  218. typedef somTP_WPFileSystem_wpSetType *somTD_WPFileSystem_wpSetType;
  219. typedef PSZ   SOMLINK somTP_WPFileSystem_wpQueryType(WPFileSystem *somSelf);
  220. typedef somTP_WPFileSystem_wpQueryType *somTD_WPFileSystem_wpQueryType;
  221. typedef BOOL   SOMLINK somTP_WPFileSystem_wpSetAttr(WPFileSystem *somSelf, 
  222.         ULONG attrFile);
  223. typedef somTP_WPFileSystem_wpSetAttr *somTD_WPFileSystem_wpSetAttr;
  224. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryAttr(WPFileSystem *somSelf);
  225. typedef somTP_WPFileSystem_wpQueryAttr *somTD_WPFileSystem_wpQueryAttr;
  226. typedef ULONG   SOMLINK somTP_WPFileSystem_wpAddFile1Page(WPFileSystem *somSelf, 
  227.         HWND hwndNotebook);
  228. typedef somTP_WPFileSystem_wpAddFile1Page *somTD_WPFileSystem_wpAddFile1Page;
  229. typedef ULONG   SOMLINK somTP_WPFileSystem_wpAddFile2Page(WPFileSystem *somSelf, 
  230.         HWND hwndNotebook);
  231. typedef somTP_WPFileSystem_wpAddFile2Page *somTD_WPFileSystem_wpAddFile2Page;
  232. typedef ULONG   SOMLINK somTP_WPFileSystem_wpAddFile3Page(WPFileSystem *somSelf, 
  233.         HWND hwndNotebook);
  234. typedef somTP_WPFileSystem_wpAddFile3Page *somTD_WPFileSystem_wpAddFile3Page;
  235. typedef ULONG   SOMLINK somTP_WPFileSystem_wpAddFileMenuPage(WPFileSystem *somSelf, 
  236.         HWND hwndNotebook);
  237. typedef somTP_WPFileSystem_wpAddFileMenuPage *somTD_WPFileSystem_wpAddFileMenuPage;
  238. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryCreation(WPFileSystem *somSelf, 
  239.         FDATE* fdate, 
  240.         FTIME* ftime);
  241. typedef somTP_WPFileSystem_wpQueryCreation *somTD_WPFileSystem_wpQueryCreation;
  242. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryLastAccess(WPFileSystem *somSelf, 
  243.         FDATE* fdate, 
  244.         FTIME* ftime);
  245. typedef somTP_WPFileSystem_wpQueryLastAccess *somTD_WPFileSystem_wpQueryLastAccess;
  246. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryLastWrite(WPFileSystem *somSelf, 
  247.         FDATE* fdate, 
  248.         FTIME* ftime);
  249. typedef somTP_WPFileSystem_wpQueryLastWrite *somTD_WPFileSystem_wpQueryLastWrite;
  250. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryFileSize(WPFileSystem *somSelf);
  251. typedef somTP_WPFileSystem_wpQueryFileSize *somTD_WPFileSystem_wpQueryFileSize;
  252. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryEASize(WPFileSystem *somSelf);
  253. typedef somTP_WPFileSystem_wpQueryEASize *somTD_WPFileSystem_wpQueryEASize;
  254. typedef ULONG   SOMLINK somTP_WPFileSystem_wpSetDateInfo(WPFileSystem *somSelf, 
  255.         FILEFINDBUF4* pstFileFindBuf);
  256. typedef somTP_WPFileSystem_wpSetDateInfo *somTD_WPFileSystem_wpSetDateInfo;
  257. typedef ULONG   SOMLINK somTP_WPFileSystem_wpSetFileSizeInfo(WPFileSystem *somSelf, 
  258.         ULONG cbFileSize, 
  259.         ULONG cbEASize);
  260. typedef somTP_WPFileSystem_wpSetFileSizeInfo *somTD_WPFileSystem_wpSetFileSizeInfo;
  261. typedef BOOL   SOMLINK somTP_WPFileSystem_wpRefresh(WPFileSystem *somSelf, 
  262.         ULONG ulView, 
  263.         PVOID pReserved);
  264. typedef somTP_WPFileSystem_wpRefresh *somTD_WPFileSystem_wpRefresh;
  265. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryRefreshFlags(WPFileSystem *somSelf);
  266. typedef somTP_WPFileSystem_wpQueryRefreshFlags *somTD_WPFileSystem_wpQueryRefreshFlags;
  267. typedef BOOL   SOMLINK somTP_WPFileSystem_wpSetRefreshFlags(WPFileSystem *somSelf, 
  268.         ULONG ulRefreshFlags);
  269. typedef somTP_WPFileSystem_wpSetRefreshFlags *somTD_WPFileSystem_wpSetRefreshFlags;
  270. typedef BOOL   SOMLINK somTP_WPFileSystem_wpPrintPlainTextFile(WPFileSystem *somSelf, 
  271.         PPRINTDEST pPrintDest);
  272. typedef somTP_WPFileSystem_wpPrintPlainTextFile *somTD_WPFileSystem_wpPrintPlainTextFile;
  273. typedef BOOL   SOMLINK somTP_WPFileSystem_wpSetTitleAndRenameFile(WPFileSystem *somSelf, 
  274.         PSZ pszNewTitle, 
  275.         ULONG fConfirmations);
  276. typedef somTP_WPFileSystem_wpSetTitleAndRenameFile *somTD_WPFileSystem_wpSetTitleAndRenameFile;
  277. typedef ULONG   SOMLINK somTP_WPFileSystem_wpConfirmRenameFileWithExt(WPFileSystem *somSelf);
  278. typedef somTP_WPFileSystem_wpConfirmRenameFileWithExt *somTD_WPFileSystem_wpConfirmRenameFileWithExt;
  279. typedef ULONG   SOMLINK somTP_WPFileSystem_wpVerifyUpdateAccess(WPFileSystem *somSelf);
  280. typedef somTP_WPFileSystem_wpVerifyUpdateAccess *somTD_WPFileSystem_wpVerifyUpdateAccess;
  281. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryEASupport(WPFileSystem *somSelf);
  282. typedef somTP_WPFileSystem_wpQueryEASupport *somTD_WPFileSystem_wpQueryEASupport;
  283. typedef BOOL   SOMLINK somTP_WPFileSystem_wpAddUserItemsToPopupMenu(WPFileSystem *somSelf, 
  284.         HWND hwndMenu, 
  285.         HWND hwndCnr, 
  286.         ULONG iPosition);
  287. typedef somTP_WPFileSystem_wpAddUserItemsToPopupMenu *somTD_WPFileSystem_wpAddUserItemsToPopupMenu;
  288. typedef BOOL   SOMLINK somTP_WPFileSystem_wpIsDiskSwapped(WPFileSystem *somSelf);
  289. typedef somTP_WPFileSystem_wpIsDiskSwapped *somTD_WPFileSystem_wpIsDiskSwapped;
  290. typedef BOOL   SOMLINK somTP_WPFileSystem_wpQueryRealName(WPFileSystem *somSelf, 
  291.         PSZ pszFilename, 
  292.         PULONG pcb, 
  293.         BOOL fQualified);
  294. typedef somTP_WPFileSystem_wpQueryRealName *somTD_WPFileSystem_wpQueryRealName;
  295. typedef PSZ   SOMLINK somTP_WPFileSystem_wpQueryFilename(WPFileSystem *somSelf, 
  296.         PSZ pszFilename, 
  297.         BOOL fQualified);
  298. typedef somTP_WPFileSystem_wpQueryFilename *somTD_WPFileSystem_wpQueryFilename;
  299. typedef WPFileSystem*   SOMLINK somTP_WPFileSystem_wpQueryDisk(WPFileSystem *somSelf);
  300. typedef somTP_WPFileSystem_wpQueryDisk *somTD_WPFileSystem_wpQueryDisk;
  301. typedef ULONG   SOMLINK somTP_WPFileSystem_wpQueryDateInfo(WPFileSystem *somSelf, 
  302.         FILEFINDBUF4* pstFileFindBuf);
  303. typedef somTP_WPFileSystem_wpQueryDateInfo *somTD_WPFileSystem_wpQueryDateInfo;
  304. typedef ULONG   SOMLINK somTP_WPFileSystem_wpConfirmKeepAssoc(WPFileSystem *somSelf);
  305. typedef somTP_WPFileSystem_wpConfirmKeepAssoc *somTD_WPFileSystem_wpConfirmKeepAssoc;
  306. typedef void   SOMLINK somTP_WPFileSystem_wpQueryFileSizeL(WPFileSystem *somSelf, 
  307.         PLONGLONG pllFileSize);
  308. typedef somTP_WPFileSystem_wpQueryFileSizeL *somTD_WPFileSystem_wpQueryFileSizeL;
  309. typedef ULONG   SOMLINK somTP_WPFileSystem_wpSetFileSizeL(WPFileSystem *somSelf, 
  310.         PLONGLONG pllFileSize);
  311. typedef somTP_WPFileSystem_wpSetFileSizeL *somTD_WPFileSystem_wpSetFileSizeL;
  312.  
  313. /*
  314.  * -- Typedefs for Reintroduced Wrapper Methods
  315.  */
  316. typedef M_WPFileSystem*   SOMLINK somTP_WPFileSystem_somGetClass(WPFileSystem *somSelf);
  317. typedef somTP_WPFileSystem_somGetClass *somTD_WPFileSystem_somGetClass;
  318. }
  319.  
  320. #endif /* WPFileSystem_API */
  321.  
  322.  
  323. /*
  324.  * -- This emitter treats Method Tokens as Thunks by default.
  325.  * -- Use the sc modifier "nothunks" to change this default
  326.  */
  327. #undef somresolve_
  328. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  329.  
  330. /*
  331.  * -- The C++ Wrapper Class for WPFileSystem
  332.  */
  333. class WPFileSystem : public WPObject
  334. {
  335. public:
  336.  
  337. // WPFileSystem::new creates the class object if necessary, and then uses somNewNoInit
  338. // to allocate memory and create the object. Initialization is in ctors.
  339. void *operator new(size_t)
  340. {
  341.    if (!_WPFileSystem) WPFileSystemNewClass(WPFileSystem_MajorVersion,WPFileSystem_MinorVersion);
  342.    return (void*)
  343.       SOM_Resolve(_WPFileSystem,SOMClass,somNewNoInit)
  344.          ((SOMClass *)((void*)_WPFileSystem));
  345. }
  346.  
  347. // WPFileSystem::delete uses somDestruct.
  348. void operator delete(void * obj)
  349. {
  350.    if (obj && *(void**)obj) {
  351.       SOM_Resolve(obj,SOMObject,somDestruct)
  352.          ((SOMObject*)obj, 1, 0);
  353.    }
  354. }
  355.  
  356. WPFileSystem& operator=(WPFileSystem& fromObj)
  357. {
  358.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  359.    return *this;
  360. }
  361.  
  362. WPFileSystem()
  363. {
  364.    if (*(void**)this != 
  365.        ((somParentMtabStructPtr)
  366.         (WPFileSystemCClassData.parentMtab))->mtab)
  367.       return;
  368.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  369. }
  370.  
  371. WPFileSystem(WPFileSystem* fromObj)
  372. {
  373.    if (*(void**)this != 
  374.        ((somParentMtabStructPtr)
  375.         (WPFileSystemCClassData.parentMtab))->mtab)
  376.       return;
  377.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  378. }
  379.  
  380. WPFileSystem(const WPFileSystem* fromObj)
  381. {
  382.    if (*(void**)this != 
  383.        ((somParentMtabStructPtr)
  384.         (WPFileSystemCClassData.parentMtab))->mtab)
  385.       return;
  386.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  387. }
  388.  
  389.  
  390. /* method: wpSetRealName */
  391. BOOL   wpSetRealName(PSZ pszName)
  392. {
  393.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetRealName)
  394.     (this,pszName);
  395. }
  396.  
  397.  
  398. /* method: wpSetType */
  399. BOOL   wpSetType(PSZ pszTypes, 
  400.         PFEA2LIST pfeal)
  401. {
  402.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetType)
  403.     (this,pszTypes,pfeal);
  404. }
  405.  
  406.  
  407. /* method: wpQueryType */
  408. PSZ   wpQueryType()
  409. {
  410.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryType)
  411.     (this);
  412. }
  413.  
  414.  
  415. /* method: wpSetAttr */
  416. BOOL   wpSetAttr(ULONG attrFile)
  417. {
  418.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetAttr)
  419.     (this,attrFile);
  420. }
  421.  
  422.  
  423. /* method: wpQueryAttr */
  424. ULONG   wpQueryAttr()
  425. {
  426.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryAttr)
  427.     (this);
  428. }
  429.  
  430.  
  431. /* method: wpAddFile1Page */
  432. ULONG   wpAddFile1Page(HWND hwndNotebook)
  433. {
  434.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFile1Page)
  435.     (this,hwndNotebook);
  436. }
  437.  
  438.  
  439. /* method: wpAddFile2Page */
  440. ULONG   wpAddFile2Page(HWND hwndNotebook)
  441. {
  442.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFile2Page)
  443.     (this,hwndNotebook);
  444. }
  445.  
  446.  
  447. /* method: wpAddFile3Page */
  448. ULONG   wpAddFile3Page(HWND hwndNotebook)
  449. {
  450.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFile3Page)
  451.     (this,hwndNotebook);
  452. }
  453.  
  454.  
  455. /* method: wpAddFileMenuPage */
  456. ULONG   wpAddFileMenuPage(HWND hwndNotebook)
  457. {
  458.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddFileMenuPage)
  459.     (this,hwndNotebook);
  460. }
  461.  
  462.  
  463. /* method: wpQueryCreation */
  464. ULONG   wpQueryCreation(FDATE* fdate, 
  465.         FTIME* ftime)
  466. {
  467.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryCreation)
  468.     (this,fdate,ftime);
  469. }
  470.  
  471.  
  472. /* method: wpQueryLastAccess */
  473. ULONG   wpQueryLastAccess(FDATE* fdate, 
  474.         FTIME* ftime)
  475. {
  476.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryLastAccess)
  477.     (this,fdate,ftime);
  478. }
  479.  
  480.  
  481. /* method: wpQueryLastWrite */
  482. ULONG   wpQueryLastWrite(FDATE* fdate, 
  483.         FTIME* ftime)
  484. {
  485.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryLastWrite)
  486.     (this,fdate,ftime);
  487. }
  488.  
  489.  
  490. /* method: wpQueryFileSize */
  491. ULONG   wpQueryFileSize()
  492. {
  493.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryFileSize)
  494.     (this);
  495. }
  496.  
  497.  
  498. /* method: wpQueryEASize */
  499. ULONG   wpQueryEASize()
  500. {
  501.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryEASize)
  502.     (this);
  503. }
  504.  
  505.  
  506. /* method: wpSetDateInfo */
  507. ULONG   wpSetDateInfo(FILEFINDBUF4* pstFileFindBuf)
  508. {
  509.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetDateInfo)
  510.     (this,pstFileFindBuf);
  511. }
  512.  
  513.  
  514. /* method: wpSetFileSizeInfo */
  515. ULONG   wpSetFileSizeInfo(ULONG cbFileSize, 
  516.         ULONG cbEASize)
  517. {
  518.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetFileSizeInfo)
  519.     (this,cbFileSize,cbEASize);
  520. }
  521.  
  522.  
  523. /* method: wpRefresh */
  524. BOOL   wpRefresh(ULONG ulView, 
  525.         PVOID pReserved)
  526. {
  527.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpRefresh)
  528.     (this,ulView,pReserved);
  529. }
  530.  
  531.  
  532. /* method: wpQueryRefreshFlags */
  533. ULONG   wpQueryRefreshFlags()
  534. {
  535.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryRefreshFlags)
  536.     (this);
  537. }
  538.  
  539.  
  540. /* method: wpSetRefreshFlags */
  541. BOOL   wpSetRefreshFlags(ULONG ulRefreshFlags)
  542. {
  543.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetRefreshFlags)
  544.     (this,ulRefreshFlags);
  545. }
  546.  
  547.  
  548. /* method: wpPrintPlainTextFile */
  549. BOOL   wpPrintPlainTextFile(PPRINTDEST pPrintDest)
  550. {
  551.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpPrintPlainTextFile)
  552.     (this,pPrintDest);
  553. }
  554.  
  555.  
  556. /* method: wpSetTitleAndRenameFile */
  557. BOOL   wpSetTitleAndRenameFile(PSZ pszNewTitle, 
  558.         ULONG fConfirmations)
  559. {
  560.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetTitleAndRenameFile)
  561.     (this,pszNewTitle,fConfirmations);
  562. }
  563.  
  564.  
  565. /* method: wpConfirmRenameFileWithExt */
  566. ULONG   wpConfirmRenameFileWithExt()
  567. {
  568.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpConfirmRenameFileWithExt)
  569.     (this);
  570. }
  571.  
  572.  
  573. /* method: wpVerifyUpdateAccess */
  574. ULONG   wpVerifyUpdateAccess()
  575. {
  576.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpVerifyUpdateAccess)
  577.     (this);
  578. }
  579.  
  580.  
  581. /* method: wpQueryEASupport */
  582. ULONG   wpQueryEASupport()
  583. {
  584.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryEASupport)
  585.     (this);
  586. }
  587.  
  588.  
  589. /* method: wpAddUserItemsToPopupMenu */
  590. BOOL   wpAddUserItemsToPopupMenu(HWND hwndMenu, 
  591.         HWND hwndCnr, 
  592.         ULONG iPosition)
  593. {
  594.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpAddUserItemsToPopupMenu)
  595.     (this,hwndMenu,hwndCnr,iPosition);
  596. }
  597.  
  598.  
  599. /* method: wpIsDiskSwapped */
  600. BOOL   wpIsDiskSwapped()
  601. {
  602.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpIsDiskSwapped)
  603.     (this);
  604. }
  605.  
  606.  
  607. /* method: wpQueryRealName */
  608. BOOL   wpQueryRealName(PSZ pszFilename, 
  609.         PULONG pcb, 
  610.         BOOL fQualified)
  611. {
  612.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryRealName)
  613.     (this,pszFilename,pcb,fQualified);
  614. }
  615.  
  616.  
  617. /* method: wpQueryFilename */
  618. PSZ   wpQueryFilename(PSZ pszFilename, 
  619.         BOOL fQualified)
  620. {
  621.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryFilename)
  622.     (this,pszFilename,fQualified);
  623. }
  624.  
  625.  
  626. /* method: wpQueryDisk */
  627. WPFileSystem*   wpQueryDisk()
  628. {
  629.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryDisk)
  630.     (this);
  631. }
  632.  
  633.  
  634. /* method: wpQueryDateInfo */
  635. ULONG   wpQueryDateInfo(FILEFINDBUF4* pstFileFindBuf)
  636. {
  637.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryDateInfo)
  638.     (this,pstFileFindBuf);
  639. }
  640.  
  641.  
  642. /* method: wpConfirmKeepAssoc */
  643. ULONG   wpConfirmKeepAssoc()
  644. {
  645.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpConfirmKeepAssoc)
  646.     (this);
  647. }
  648.  
  649.  
  650. /* method: wpQueryFileSizeL */
  651. void   wpQueryFileSizeL(PLONGLONG pllFileSize)
  652. {
  653.    SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpQueryFileSizeL)
  654.     (this,pllFileSize);
  655. }
  656.  
  657.  
  658. /* method: wpSetFileSizeL */
  659. ULONG   wpSetFileSizeL(PLONGLONG pllFileSize)
  660. {
  661.    return SOM_ResolveD(this,WPFileSystem,WPFileSystem,wpSetFileSizeL)
  662.     (this,pllFileSize);
  663. }
  664.  
  665.  
  666. /*
  667.  * Reintroduce inherited methods
  668.  */
  669.  
  670. /* method: somGetClass */
  671. M_WPFileSystem*  somGetClass()
  672. {
  673. /*
  674.  *  Return the receiver's class.
  675.  */
  676.    return SOM_ResolveD(this,WPFileSystem,SOMObject,somGetClass)
  677.     (this);
  678. }
  679.  
  680.  
  681.  
  682. };   /* WPFileSystem */
  683.  
  684.  
  685.  
  686. #endif       /* SOM_WPFileSystem_xh */
  687.  
  688. #ifndef SOM_M_WPFileSystem_xh
  689. #define SOM_M_WPFileSystem_xh
  690.  
  691. class M_WPFileSystem;
  692.  
  693. #define M_WPFileSystem_MajorVersion 1
  694. #define M_WPFileSystem_MinorVersion 2
  695.  
  696. /* C++ SOM defs */
  697. #include <somcls.xh>
  698. #include <somcm.xh>
  699.  
  700. /* C++ parent defs */
  701. #ifndef SOM_M_WPObject_xh
  702. #include <wpobject.xh>
  703. #endif
  704.  
  705. #ifndef M_WPFileSystem_API
  706. #define M_WPFileSystem_API
  707. /*
  708.  * -- The Class API
  709.  */
  710.  
  711. /*
  712.  * Start of bindings for IDL types
  713.  */
  714.  
  715.  
  716. /*
  717.  * End of bindings for IDL types.
  718.  */
  719.  
  720. /*
  721.  * -- M_WPFileSystem is a metaclass for WPFileSystem. Make sure WPFileSystem is known.
  722.  */
  723. class WPFileSystem;
  724.  
  725.  
  726. /* A procedure to create the M_WPFileSystem Class */
  727. SOMEXTERN SOMClass * SOMLINK M_WPFileSystemNewClass(
  728.         integer4 majorVersion,
  729.         integer4 minorVersion);
  730.  
  731. /* The API to the M_WPFileSystem class object, and the methods it introduces. */
  732. SOMEXTERN struct M_WPFileSystemClassDataStructure {
  733.     SOMClass *classObject;
  734.     somMToken wpclsQueryInstanceType;
  735.     somMToken wpclsQueryInstanceFilter;
  736.     somMToken wpclsQueryObjectFromPath;
  737.     somMToken wpclsQueryAwakeObject;
  738.     somMToken wpclsFileSysExists;
  739.     somMToken wpclsQueryInstanceClass;
  740. } SOMDLINK M_WPFileSystemClassData;
  741. #define _M_WPFileSystem M_WPFileSystemClassData.classObject
  742.  
  743. /* The API to parentMtabs for M_WPFileSystem, and the instance data it introduces. */
  744. SOMEXTERN struct M_WPFileSystemCClassDataStructure {
  745.     somMethodTabs parentMtab;
  746.     somDToken              instanceDataToken;
  747. } SOMDLINK M_WPFileSystemCClassData;
  748.  
  749. /*
  750.  * -- Typedefs for M_WPFileSystem Method Procedures
  751.  */
  752. SOMEXTERN {
  753. typedef WPObject*   SOMLINK somTP_M_WPFileSystem_wpclsQueryAwakeObject(M_WPFileSystem *somSelf, 
  754.         PSZ pszInputPath);
  755. typedef somTP_M_WPFileSystem_wpclsQueryAwakeObject *somTD_M_WPFileSystem_wpclsQueryAwakeObject;
  756. typedef WPObject*   SOMLINK somTP_M_WPFileSystem_wpclsFileSysExists(M_WPFileSystem *somSelf, 
  757.         WPFolder* Folder, 
  758.         PSZ pszFilename, 
  759.         ULONG attrFile);
  760. typedef somTP_M_WPFileSystem_wpclsFileSysExists *somTD_M_WPFileSystem_wpclsFileSysExists;
  761. typedef WPObject*   SOMLINK somTP_M_WPFileSystem_wpclsQueryObjectFromPath(M_WPFileSystem *somSelf, 
  762.         PSZ pszFQPath);
  763. typedef somTP_M_WPFileSystem_wpclsQueryObjectFromPath *somTD_M_WPFileSystem_wpclsQueryObjectFromPath;
  764. typedef PSZ   SOMLINK somTP_M_WPFileSystem_wpclsQueryInstanceType(M_WPFileSystem *somSelf);
  765. typedef somTP_M_WPFileSystem_wpclsQueryInstanceType *somTD_M_WPFileSystem_wpclsQueryInstanceType;
  766. typedef PSZ   SOMLINK somTP_M_WPFileSystem_wpclsQueryInstanceFilter(M_WPFileSystem *somSelf);
  767. typedef somTP_M_WPFileSystem_wpclsQueryInstanceFilter *somTD_M_WPFileSystem_wpclsQueryInstanceFilter;
  768. typedef PSZ   SOMLINK somTP_M_WPFileSystem_wpclsQueryInstanceClass(M_WPFileSystem *somSelf);
  769. typedef somTP_M_WPFileSystem_wpclsQueryInstanceClass *somTD_M_WPFileSystem_wpclsQueryInstanceClass;
  770.  
  771. /*
  772.  * -- Typedefs for Reintroduced Wrapper Methods
  773.  */
  774. typedef WPFileSystem*   SOMLINK somTP_M_WPFileSystem_somNew(M_WPFileSystem *somSelf);
  775. typedef somTP_M_WPFileSystem_somNew *somTD_M_WPFileSystem_somNew;
  776. }
  777.  
  778. #endif /* M_WPFileSystem_API */
  779.  
  780.  
  781. /*
  782.  * -- This emitter treats Method Tokens as Thunks by default.
  783.  * -- Use the sc modifier "nothunks" to change this default
  784.  */
  785. #undef somresolve_
  786. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  787.  
  788. /*
  789.  * -- The C++ Wrapper Class for M_WPFileSystem
  790.  */
  791. class M_WPFileSystem : public M_WPObject
  792. {
  793. public:
  794.  
  795. // M_WPFileSystem::new creates the class object if necessary, and then uses somNewNoInit
  796. // to allocate memory and create the object. Initialization is in ctors.
  797. void *operator new(size_t)
  798. {
  799.    if (!_M_WPFileSystem) M_WPFileSystemNewClass(M_WPFileSystem_MajorVersion,M_WPFileSystem_MinorVersion);
  800.    return (void*)
  801.       SOM_Resolve(_M_WPFileSystem,SOMClass,somNewNoInit)
  802.          ((SOMClass *)((void*)_M_WPFileSystem));
  803. }
  804.  
  805. // M_WPFileSystem::delete uses somDestruct.
  806. void operator delete(void * obj)
  807. {
  808.    if (obj && *(void**)obj) {
  809.       SOM_Resolve(obj,SOMObject,somDestruct)
  810.          ((SOMObject*)obj, 1, 0);
  811.    }
  812. }
  813.  
  814. M_WPFileSystem& operator=(M_WPFileSystem& fromObj)
  815. {
  816.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  817.    return *this;
  818. }
  819.  
  820. M_WPFileSystem()
  821. {
  822.    if (*(void**)this != 
  823.        ((somParentMtabStructPtr)
  824.         (M_WPFileSystemCClassData.parentMtab))->mtab)
  825.       return;
  826.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  827. }
  828.  
  829. M_WPFileSystem(M_WPFileSystem* fromObj)
  830. {
  831.    if (*(void**)this != 
  832.        ((somParentMtabStructPtr)
  833.         (M_WPFileSystemCClassData.parentMtab))->mtab)
  834.       return;
  835.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  836. }
  837.  
  838. M_WPFileSystem(const M_WPFileSystem* fromObj)
  839. {
  840.    if (*(void**)this != 
  841.        ((somParentMtabStructPtr)
  842.         (M_WPFileSystemCClassData.parentMtab))->mtab)
  843.       return;
  844.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  845. }
  846.  
  847.  
  848. /* method: wpclsQueryAwakeObject */
  849. WPObject*   wpclsQueryAwakeObject(PSZ pszInputPath)
  850. {
  851.    return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryAwakeObject)
  852.     (this,pszInputPath);
  853. }
  854.  
  855.  
  856. /* method: wpclsFileSysExists */
  857. WPObject*   wpclsFileSysExists(WPFolder* Folder, 
  858.         PSZ pszFilename, 
  859.         ULONG attrFile)
  860. {
  861.    return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsFileSysExists)
  862.     (this,Folder,pszFilename,attrFile);
  863. }
  864.  
  865.  
  866. /* method: wpclsQueryObjectFromPath */
  867. WPObject*   wpclsQueryObjectFromPath(PSZ pszFQPath)
  868. {
  869.    return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryObjectFromPath)
  870.     (this,pszFQPath);
  871. }
  872.  
  873.  
  874. /* method: wpclsQueryInstanceType */
  875. PSZ   wpclsQueryInstanceType()
  876. {
  877.    return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryInstanceType)
  878.     (this);
  879. }
  880.  
  881.  
  882. /* method: wpclsQueryInstanceFilter */
  883. PSZ   wpclsQueryInstanceFilter()
  884. {
  885.    return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryInstanceFilter)
  886.     (this);
  887. }
  888.  
  889.  
  890. /* method: wpclsQueryInstanceClass */
  891. PSZ   wpclsQueryInstanceClass()
  892. {
  893.    return SOM_ResolveD(this,M_WPFileSystem,M_WPFileSystem,wpclsQueryInstanceClass)
  894.     (this);
  895. }
  896.  
  897.  
  898. /*
  899.  * Reintroduce inherited methods
  900.  */
  901.  
  902. /* method: somNew */
  903. WPFileSystem*  somNew()
  904. {
  905.    return SOM_ResolveD(this,M_WPFileSystem,SOMClass,somNew)
  906.     (this);
  907. }
  908.  
  909.  
  910.  
  911. };   /* M_WPFileSystem */
  912.  
  913.  
  914.  
  915. #endif       /* SOM_M_WPFileSystem_xh */
  916.