home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v5.zip / TOOLKT21 / CPLUS / OS2H / WPFOLDER.XH < prev    next >
Text File  |  1993-05-03  |  19KB  |  644 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpfolder.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitxh: 1.11
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Module Header
  13.  * 
  14.  *  Module Name: WPFOLDER
  15.  * 
  16.  *  OS/2 Presentation Manager Workplace class definitions
  17.  * 
  18.  *  Copyright (c) International Business Machines Corporation 1991, 1992
  19.  * 
  20.  */
  21.  
  22. #ifndef wpfolder_xh
  23. #define wpfolder_xh
  24. class WPFolder;
  25.  
  26. #define WPFolder_MajorVersion 1
  27. #define WPFolder_MinorVersion 2
  28.  
  29.  
  30. /*
  31.  * Passthru lines: File: "C.xh", "before"
  32.  */
  33. #ifdef WPFolder
  34.         #undef WPFolder
  35.         class  WPFolder;
  36.     #endif
  37. /* C++ som defs */
  38. #include <somcls.xh>
  39.  
  40. /* C++ parent def */
  41. #ifndef wpfsys_xh
  42. #include "wpfsys.xh"
  43. #endif
  44.  
  45. /*
  46.  * Passthru lines: File: "C.xh", "after"
  47.  */
  48.  
  49.       /* Folder flags */
  50.  
  51.       #define FOI_POPULATEDWITHALL      0x0001
  52.       #define FOI_POPULATEDWITHFOLDERS  0x0002
  53.       #define FOI_WORKAREA              0x0004
  54.       #define FOI_CHANGEFONT            0x0008        /* anti-recursion flag */
  55.       #define FOI_WAMINIMIZED           0x0020
  56.       #define FOI_WASTARTONRESTORE      0x0040
  57.       #define FOI_NOREFRESHVIEWS        0x0080
  58.       #define FOI_ASYNCREFRESHONOPEN    0x0100
  59.       #define FOI_TREEPOPULATED         0x0200
  60.       #define FOI_POPULATEINPROGRESS    0x0400                          /*DORM*/
  61.       #define FOI_REFRESHINPROGRESS     0x0800
  62.       #define FOI_FIRSTPOPULATE         0x1000  /* folder has no iconposdata */ //LD62414
  63.       #define FOI_WAMCRINPROGRESS       0x2000  /* Minimize, close, restore in progress //ihs67096
  64.  
  65.       /* Open views for the wpOpen() method */
  66.  
  67.       #define OPEN_TREE          101
  68.       #define OPEN_DETAILS       102
  69.  
  70.       /* Folder save-restore keys */
  71.  
  72.       #define IDKEY_FDRCONTENTATTR     2900
  73.       #define IDKEY_FDRTREEATTR        2901
  74.       #define IDKEY_FDRCVLFONT         2902
  75.       #define IDKEY_FDRCVNFONT         2903
  76.       #define IDKEY_FDRCVIFONT         2904
  77.       #define IDKEY_FDRTVLFONT         2905
  78.       #define IDKEY_FDRTVNFONT         2906
  79.       #define IDKEY_FDRDETAILSATTR     2907
  80.       #define IDKEY_FDRDVFONT          2908
  81.       #define IDKEY_FDRDETAILSCLASS    2909
  82.       #define IDKEY_FDRICONPOS         2910
  83.       #define IDKEY_FDRINVISCOLUMNS    2914
  84.       #define IDKEY_FDRINCCLASS        2920
  85.       #define IDKEY_FDRINCNAME         2921
  86.       #define IDKEY_FDRFSYSSEARCHINFO  2922
  87.       #define IDKEY_FILTERCONTENT      2923
  88.       #define IDKEY_CNRBACKGROUND      2924
  89.       #define IDKEY_FDRINCCRITERIA     2925
  90.       #define IDKEY_FDRICONVIEWPOS     2926
  91.       #define IDKEY_FDRSORTCLASS       2927
  92.       #define IDKEY_FDRSORTATTRIBS     2928
  93.       #define IDKEY_FDRSORTINFO        2929
  94.       #define IDKEY_FDRSNEAKYCOUNT     2930                              /*SNK*/
  95.       #define IDKEY_FDRLONGARRAY       2931
  96.       #define IDKEY_FDRSTRARRAY        2932
  97.  
  98.       /* Miscellaneous */
  99.  
  100.       #define PPFONTSTRSIZE 20
  101.  
  102.       #define ICONPOSSIZE(pI) ( sizeof(ICONPOS) + strlen(pI->szIdentity) )
  103.       #define PARTIAL_FILLFOLDER_SEM_TIMEOUT 5   /* avoid wasteful       */     //LD62414
  104.                                                  /* SEM_INDEFEINTE_WAIT  */     //LD62414
  105.       #define GETATTR(View) (View == OPEN_CONTENTS ? _ContentAttr : \
  106.                              (View == OPEN_TREE ? _TreeAttr : _DetailsAttr))
  107.       #define FOLDER_DEFATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND     |  \
  108.                                CA_MIXEDTARGETEMPH | CA_OWNERDRAW)
  109.       #define FOLDER_DEFTREEATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND |  \
  110.                                    CV_TREE | CA_TREELINE | CA_OWNERDRAW)
  111.       #define FOLDER_DEFDETAILS (CV_DETAIL | CA_OWNERPAINTBACKGROUND |  \
  112.                        CV_MINI | CA_DETAILSVIEWTITLES | CA_MIXEDTARGETEMPH)
  113.       #define FOLDER_DEFSORT NULL
  114.  
  115.       /* wpSearchFolder structures */
  116.        typedef struct _SEARCH_INFO {
  117.           M_WPObject *ClassToBeFound;
  118.           BOOL   fSkipExtendedSearchCriteria;
  119.           PVOID  pvoidExtendedCriteria;
  120.        } SEARCH_INFO;
  121.        typedef SEARCH_INFO *PSEARCH_INFO;
  122.  
  123. #ifndef WPFolder_API
  124. #define WPFolder_API
  125. /*
  126.  * The Class API
  127.  */
  128.  
  129. /* A procedure to create the WPFolder Class */
  130. SOMEXTERN SOMClass * SOMLINK WPFolderNewClass(
  131.         integer4 majorVersion,
  132.         integer4 minorVersion);
  133.  
  134. /* A macro to return the WPFolder class object */
  135. class M_WPFolder;
  136. #define _WPFolder ((M_WPFolder*)WPFolderClassData.classObject)
  137.  
  138. /* The static interface to WPFolder and its instances */
  139. SOMEXTERN struct WPFolderClassDataStructure {
  140.     SOMClass *classObject;
  141.     somMToken wpSetFldrFlags;
  142.     somMToken wpQueryFldrFlags;
  143.     somMToken wpSetFldrFont;
  144.     somMToken wpQueryFldrFont;
  145.     somMToken wpSetNextIconPos;
  146.     somMToken wpQueryNextIconPos;
  147.     somMToken wpPopulate;
  148.     somMToken wpAddToContent;
  149.     somMToken wpQueryContent;
  150.     somMToken wpAddFolderView1Page;
  151.     somMToken wpAddFolderView2Page;
  152.     somMToken wpAddFolderView3Page;
  153.     somMToken wpAddFolderIncludePage;
  154.     somMToken wpAddFolderSortPage;
  155.     somMToken wpAddFolderBackgroundPage;
  156.     somMToken wpInitIconPosData;
  157.     somMToken wpFreeIconPosData;
  158.     somMToken wpQueryIconPosition;
  159.     somMToken wpStoreIconPosData;
  160.     somMToken wpDeleteFromContent;
  161.     somMToken wpSetFldrAttr;
  162.     somMToken wpQueryFldrAttr;
  163.     somMToken wpSetFldrSort;
  164.     somMToken wpQueryFldrSort;
  165.     somMToken wpRestoreFldrRunObjs;
  166.     somMToken wpStoreFldrRunObjs;
  167.     somMToken withdrawn30;
  168.     somMToken withdrawn31;
  169.     somMToken wpDeleteContents;
  170.     somMToken wpQueryOpenFolders;
  171.     somMToken wpSetNextOpenFldr;
  172.     somMToken wpSearchFolder;
  173.     somMToken wpSetFldrDetailsClass;
  174.     somMToken wpQueryFldrDetailsClass;
  175.     somMToken wpRefresh;
  176.     somMToken wpSetDetailsColumnVisibility;
  177.     somMToken wpIsDetailsColumnVisible;
  178.     somMToken wpQuerySortArray;
  179.     somMToken wpSetSortArray;
  180.     somMToken wpQuerySortInfo;
  181.     somMToken wpSetSortInfo;
  182.     somMToken wpSetFldrSortClass;
  183.     somMToken wpQueryFldrSortClass;
  184.     somMToken wpSetSortAttribAvailable;
  185.     somMToken wpIsSortAttribAvailable;
  186.     somMToken wpQueryFldrFilter;
  187.     somMToken wpContainsFolders;
  188.     somMToken wpQueryBkgnd;
  189.     somMToken wpQueryIconViewPos;
  190.     somMToken wpQueryDefaultView;
  191.     somMToken wpAddFirstChild;
  192.     somDToken FirstObj;
  193.     somMToken wpHideFldrRunObjs;
  194.     somMToken wpFSNotifyFolder;
  195.     somMToken wpAddNotification;
  196.     somMToken wpDeleteNotification;
  197.     somMToken wpProcessNotification;
  198.     somMToken wpModifySneakyCount;
  199.     somMToken wpSneakySupported;
  200.     somMToken wpAssertFolderMutexSem;
  201.     somMToken wpReleaseFolderMutexSem;
  202.     somMToken wpRequestFolderMutexSem;
  203.     somMToken wpQueryPopThreadID;
  204.     somMToken wpQueryNextOpenFldr;
  205.     somDToken hmtxOneFindAtATime;
  206.     somMToken wpRequestFindMutexSem;
  207.     somMToken wpReleaseFindMutexSem;
  208.     somDToken hevFillFolder;
  209.     somMToken wpModifyFldrFlags;
  210. } WPFolderClassData;
  211.  
  212. /*
  213.  * -- Typedefs for Procedures that support WPFolder Methods
  214.  */
  215. extern "C" {
  216. typedef BOOL    (SOMLINK *somTD_WPFolder_wpSetFldrFlags)(WPFolder *somSelf,ULONG ulFlags);
  217. typedef ULONG    (SOMLINK *somTD_WPFolder_wpQueryFldrFlags)(WPFolder *somSelf);
  218. typedef BOOL    (SOMLINK *somTD_WPFolder_wpSetFldrFont)(WPFolder *somSelf,PSZ pszFont,ULONG ulView);
  219. typedef PSZ    (SOMLINK *somTD_WPFolder_wpQueryFldrFont)(WPFolder *somSelf,ULONG ulView);
  220. typedef BOOL    (SOMLINK *somTD_WPFolder_wpSetFldrAttr)(WPFolder *somSelf,ULONG Attr,ULONG ulView);
  221. typedef ULONG    (SOMLINK *somTD_WPFolder_wpQueryFldrAttr)(WPFolder *somSelf,ULONG ulView);
  222. typedef BOOL    (SOMLINK *somTD_WPFolder_wpSetNextIconPos)(WPFolder *somSelf,PPOINTL pptl);
  223. typedef PPOINTL    (SOMLINK *somTD_WPFolder_wpQueryNextIconPos)(WPFolder *somSelf);
  224. typedef BOOL    (SOMLINK *somTD_WPFolder_wpPopulate)(WPFolder *somSelf,ULONG ulReserved,PSZ pszPath,BOOL fFoldersOnly);
  225. typedef WPObject *   (SOMLINK *somTD_WPFolder_wpQueryContent)(WPFolder *somSelf,WPObject *Object,ULONG ulOption);
  226. typedef ULONG    (SOMLINK *somTD_WPFolder_wpAddFolderView1Page)(WPFolder *somSelf,HWND hwndNotebook);
  227. typedef ULONG    (SOMLINK *somTD_WPFolder_wpAddFolderView2Page)(WPFolder *somSelf,HWND hwndNotebook);
  228. typedef ULONG    (SOMLINK *somTD_WPFolder_wpAddFolderView3Page)(WPFolder *somSelf,HWND hwndNotebook);
  229. typedef ULONG    (SOMLINK *somTD_WPFolder_wpAddFolderIncludePage)(WPFolder *somSelf,HWND hwndNotebook);
  230. typedef ULONG    (SOMLINK *somTD_WPFolder_wpAddFolderSortPage)(WPFolder *somSelf,HWND hwndNotebook);
  231. typedef ULONG    (SOMLINK *somTD_WPFolder_wpAddFolderBackgroundPage)(WPFolder *somSelf,HWND hwndNotebook);
  232. typedef BOOL    (SOMLINK *somTD_WPFolder_wpInitIconPosData)(WPFolder *somSelf);
  233. typedef void    (SOMLINK *somTD_WPFolder_wpFreeIconPosData)(WPFolder *somSelf);
  234. typedef BOOL    (SOMLINK *somTD_WPFolder_wpStoreIconPosData)(WPFolder *somSelf,PICONPOS pIconPos,ULONG cbSize);
  235. typedef BOOL    (SOMLINK *somTD_WPFolder_wpQueryIconPosition)(WPFolder *somSelf,PSZ pszIdentity,PPOINTL pptl,PULONG pIndex);
  236. typedef BOOL    (SOMLINK *somTD_WPFolder_wpSetFldrSort)(WPFolder *somSelf,PVOID pSortRecord,ULONG ulView,ULONG ulType);
  237. typedef PVOID    (SOMLINK *somTD_WPFolder_wpQueryFldrSort)(WPFolder *somSelf,ULONG ulView,ULONG ulType);
  238. typedef BOOL    (SOMLINK *somTD_WPFolder_wpRestoreFldrRunObjs)(WPFolder *somSelf);
  239. typedef BOOL    (SOMLINK *somTD_WPFolder_wpStoreFldrRunObjs)(WPFolder *somSelf,ULONG ulType);
  240. typedef BOOL    (SOMLINK *somTD_WPFolder_wpHideFldrRunObjs)(WPFolder *somSelf,BOOL fHide);
  241. typedef ULONG    (SOMLINK *somTD_WPFolder_wpDeleteContents)(WPFolder *somSelf,ULONG fConfirmations);
  242. typedef BOOL    (SOMLINK *somTD_WPFolder_wpSetFldrDetailsClass)(WPFolder *somSelf,M_WPObject *Class);
  243. typedef M_WPObject *   (SOMLINK *somTD_WPFolder_wpQueryFldrDetailsClass)(WPFolder *somSelf);
  244. typedef BOOL    (SOMLINK *somTD_WPFolder_wpSearchFolder)(WPFolder *somSelf,PSZ pszName,ULONG ulSearchType,ULONG ulLen,PSEARCH_INFO pInfo,WPFolder *ResultFolder);
  245. typedef BOOL    (SOMLINK *somTD_WPFolder_wpContainsFolders)(WPFolder *somSelf,BOOL *pfSubFolders);
  246. typedef WPObject *   (SOMLINK *somTD_WPFolder_wpQueryOpenFolders)(WPFolder *somSelf,ULONG ulOption);
  247. }
  248.  
  249.  
  250. #endif /* WPFolder_API */
  251.  
  252.  
  253. /*
  254.  * -- The C++ Wrapper Class for WPFolder
  255.  */
  256. class WPFolder : public WPFileSystem
  257. {
  258. public:
  259.  
  260. void *operator new(size_t size)
  261. {
  262.    (void) size;
  263.    if (!WPFolderClassData.classObject) 
  264.       WPFolderNewClass(WPFolder_MajorVersion,WPFolder_MinorVersion);
  265.    return (void *)
  266.       ((somTD_SOMClass_somNew)
  267.       somResolve(SOM_TestCls((SOMAny *)(WPFolderClassData.classObject),
  268.                              SOMClassClassData.classObject),
  269.                  SOMClassClassData.somNew))
  270.          ((SOMClass*)(WPFolderClassData.classObject));
  271. }
  272.  
  273. void operator delete(void * obj)
  274. {
  275.    ((SOMObject *)obj)->somFree();
  276. }
  277.  
  278. /* public method: wpSetFldrFlags */
  279. BOOL    wpSetFldrFlags(ULONG ulFlags)
  280. {
  281.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrFlags)
  282.     (this,ulFlags);
  283. }
  284.  
  285.  
  286. /* public method: wpQueryFldrFlags */
  287. ULONG    wpQueryFldrFlags()
  288. {
  289.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrFlags)
  290.     (this);
  291. }
  292.  
  293.  
  294. /* public method: wpSetFldrFont */
  295. BOOL    wpSetFldrFont(PSZ pszFont,
  296.         ULONG ulView)
  297. {
  298.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrFont)
  299.     (this,pszFont,ulView);
  300. }
  301.  
  302.  
  303. /* public method: wpQueryFldrFont */
  304. PSZ    wpQueryFldrFont(ULONG ulView)
  305. {
  306.    return (PSZ) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrFont)
  307.     (this,ulView);
  308. }
  309.  
  310.  
  311. /* public method: wpSetFldrAttr */
  312. BOOL    wpSetFldrAttr(ULONG Attr,
  313.         ULONG ulView)
  314. {
  315.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrAttr)
  316.     (this,Attr,ulView);
  317. }
  318.  
  319.  
  320. /* public method: wpQueryFldrAttr */
  321. ULONG    wpQueryFldrAttr(ULONG ulView)
  322. {
  323.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrAttr)
  324.     (this,ulView);
  325. }
  326.  
  327.  
  328. /* public method: wpSetNextIconPos */
  329. BOOL    wpSetNextIconPos(PPOINTL pptl)
  330. {
  331.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetNextIconPos)
  332.     (this,pptl);
  333. }
  334.  
  335.  
  336. /* public method: wpQueryNextIconPos */
  337. PPOINTL    wpQueryNextIconPos()
  338. {
  339.    return (PPOINTL) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryNextIconPos)
  340.     (this);
  341. }
  342.  
  343.  
  344. /* public method: wpPopulate */
  345. BOOL    wpPopulate(ULONG ulReserved,
  346.         PSZ pszPath,
  347.         BOOL fFoldersOnly)
  348. {
  349.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpPopulate)
  350.     (this,ulReserved,pszPath,fFoldersOnly);
  351. }
  352.  
  353.  
  354. /* public method: wpQueryContent */
  355. WPObject *   wpQueryContent(WPObject *Object,
  356.         ULONG ulOption)
  357. {
  358.    return (WPObject*) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryContent)
  359.     (this,Object,ulOption);
  360. }
  361.  
  362.  
  363. /* public method: wpAddFolderView1Page */
  364. ULONG    wpAddFolderView1Page(HWND hwndNotebook)
  365. {
  366.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderView1Page)
  367.     (this,hwndNotebook);
  368. }
  369.  
  370.  
  371. /* public method: wpAddFolderView2Page */
  372. ULONG    wpAddFolderView2Page(HWND hwndNotebook)
  373. {
  374.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderView2Page)
  375.     (this,hwndNotebook);
  376. }
  377.  
  378.  
  379. /* public method: wpAddFolderView3Page */
  380. ULONG    wpAddFolderView3Page(HWND hwndNotebook)
  381. {
  382.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderView3Page)
  383.     (this,hwndNotebook);
  384. }
  385.  
  386.  
  387. /* public method: wpAddFolderIncludePage */
  388. ULONG    wpAddFolderIncludePage(HWND hwndNotebook)
  389. {
  390.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderIncludePage)
  391.     (this,hwndNotebook);
  392. }
  393.  
  394.  
  395. /* public method: wpAddFolderSortPage */
  396. ULONG    wpAddFolderSortPage(HWND hwndNotebook)
  397. {
  398.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderSortPage)
  399.     (this,hwndNotebook);
  400. }
  401.  
  402.  
  403. /* public method: wpAddFolderBackgroundPage */
  404. ULONG    wpAddFolderBackgroundPage(HWND hwndNotebook)
  405. {
  406.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderBackgroundPage)
  407.     (this,hwndNotebook);
  408. }
  409.  
  410.  
  411. /* public method: wpInitIconPosData */
  412. BOOL    wpInitIconPosData()
  413. {
  414.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpInitIconPosData)
  415.     (this);
  416. }
  417.  
  418.  
  419. /* public method: wpFreeIconPosData */
  420. void    wpFreeIconPosData()
  421. {
  422.    SOM_Resolve((SOMAny *)this,WPFolder,wpFreeIconPosData)
  423.     (this);
  424. }
  425.  
  426.  
  427. /* public method: wpStoreIconPosData */
  428. BOOL    wpStoreIconPosData(PICONPOS pIconPos,
  429.         ULONG cbSize)
  430. {
  431.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpStoreIconPosData)
  432.     (this,pIconPos,cbSize);
  433. }
  434.  
  435.  
  436. /* public method: wpQueryIconPosition */
  437. BOOL    wpQueryIconPosition(PSZ pszIdentity,
  438.         PPOINTL pptl,
  439.         PULONG pIndex)
  440. {
  441.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryIconPosition)
  442.     (this,pszIdentity,pptl,pIndex);
  443. }
  444.  
  445.  
  446. /* public method: wpSetFldrSort */
  447. BOOL    wpSetFldrSort(PVOID pSortRecord,
  448.         ULONG ulView,
  449.         ULONG ulType)
  450. {
  451.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrSort)
  452.     (this,pSortRecord,ulView,ulType);
  453. }
  454.  
  455.  
  456. /* public method: wpQueryFldrSort */
  457. PVOID    wpQueryFldrSort(ULONG ulView,
  458.         ULONG ulType)
  459. {
  460.    return (PVOID) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrSort)
  461.     (this,ulView,ulType);
  462. }
  463.  
  464.  
  465. /* public method: wpRestoreFldrRunObjs */
  466. BOOL    wpRestoreFldrRunObjs()
  467. {
  468.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpRestoreFldrRunObjs)
  469.     (this);
  470. }
  471.  
  472.  
  473. /* public method: wpStoreFldrRunObjs */
  474. BOOL    wpStoreFldrRunObjs(ULONG ulType)
  475. {
  476.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpStoreFldrRunObjs)
  477.     (this,ulType);
  478. }
  479.  
  480.  
  481. /* public method: wpHideFldrRunObjs */
  482. BOOL    wpHideFldrRunObjs(BOOL fHide)
  483. {
  484.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpHideFldrRunObjs)
  485.     (this,fHide);
  486. }
  487.  
  488.  
  489. /* public method: wpDeleteContents */
  490. ULONG    wpDeleteContents(ULONG fConfirmations)
  491. {
  492.    return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpDeleteContents)
  493.     (this,fConfirmations);
  494. }
  495.  
  496.  
  497. /* public method: wpSetFldrDetailsClass */
  498. BOOL    wpSetFldrDetailsClass(M_WPObject *Class)
  499. {
  500.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrDetailsClass)
  501.     (this,Class);
  502. }
  503.  
  504.  
  505. /* public method: wpQueryFldrDetailsClass */
  506. M_WPObject *   wpQueryFldrDetailsClass()
  507. {
  508.    return (M_WPObject*) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrDetailsClass)
  509.     (this);
  510. }
  511.  
  512.  
  513. /* public method: wpSearchFolder */
  514. BOOL    wpSearchFolder(PSZ pszName,
  515.         ULONG ulSearchType,
  516.         ULONG ulLen,
  517.         PSEARCH_INFO pInfo,
  518.         WPFolder *ResultFolder)
  519. {
  520.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSearchFolder)
  521.     (this,pszName,ulSearchType,ulLen,pInfo,ResultFolder);
  522. }
  523.  
  524.  
  525. /* public method: wpContainsFolders */
  526. BOOL    wpContainsFolders(BOOL *pfSubFolders)
  527. {
  528.    return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpContainsFolders)
  529.     (this,pfSubFolders);
  530. }
  531.  
  532.  
  533. /* public method: wpQueryOpenFolders */
  534. WPObject *   wpQueryOpenFolders(ULONG ulOption)
  535. {
  536.    return (WPObject*) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryOpenFolders)
  537.     (this,ulOption);
  538. }
  539.  
  540.  
  541.  
  542. };   /* WPFolder */
  543.  
  544.  
  545.  
  546. #endif       /* wpfolder_xh */
  547.  
  548. /*
  549.  * This file was generated by the SOM Compiler.
  550.  * FileName: wpfolder.xh.
  551.  * Generated using:
  552.  *     SOM Precompiler spc: 1.22
  553.  *     SOM Emitter emitxh: 1.11
  554.  */
  555. #ifndef wpfolder_mxh
  556. #define wpfolder_mxh
  557. class M_WPFolder;
  558.  
  559. #define M_WPFolder_MajorVersion 1
  560. #define M_WPFolder_MinorVersion 2
  561.  
  562. /* C++ som defs */
  563. #include <somcls.xh>
  564.  
  565. /* C++ parent def */
  566. #ifndef wpfsys_xh
  567. #include "wpfsys.xh"
  568. #endif
  569.  
  570. #ifndef M_WPFolder_API
  571. #define M_WPFolder_API
  572. /*
  573.  * The Class API
  574.  */
  575.  
  576. /* A procedure to create the M_WPFolder Class */
  577. SOMEXTERN SOMClass * SOMLINK M_WPFolderNewClass(
  578.         integer4 majorVersion,
  579.         integer4 minorVersion);
  580.  
  581. /* A macro to return the M_WPFolder class object */
  582. #define _M_WPFolder ((SOMClass*)M_WPFolderClassData.classObject)
  583.  
  584. /* The static interface to M_WPFolder and its instances */
  585. SOMEXTERN struct M_WPFolderClassDataStructure {
  586.     SOMClass *classObject;
  587.     somMToken wpclsGetNotifySem;
  588.     somMToken wpclsReleaseNotifySem;
  589.     somMToken wpclsQueryOpenFolders;
  590. } M_WPFolderClassData;
  591.  
  592. /*
  593.  * -- Typedefs for Procedures that support M_WPFolder Methods
  594.  */
  595. extern "C" {
  596. typedef WPFolder *   (SOMLINK *somTD_M_WPFolder_wpclsQueryOpenFolders)(M_WPFolder *somSelf,WPFolder *Folder,ULONG ulOption,BOOL fLock);
  597. }
  598.  
  599.  
  600. #endif /* M_WPFolder_API */
  601.  
  602.  
  603. /*
  604.  * -- The C++ Wrapper Class for M_WPFolder
  605.  */
  606. class M_WPFolder : public M_WPFileSystem
  607. {
  608. public:
  609.  
  610. void *operator new(size_t size)
  611. {
  612.    (void) size;
  613.    if (!M_WPFolderClassData.classObject) 
  614.       M_WPFolderNewClass(M_WPFolder_MajorVersion,M_WPFolder_MinorVersion);
  615.    return (void *)
  616.       ((somTD_SOMClass_somNew)
  617.       somResolve(SOM_TestCls((SOMAny *)(M_WPFolderClassData.classObject),
  618.                              SOMClassClassData.classObject),
  619.                  SOMClassClassData.somNew))
  620.          ((SOMClass*)(M_WPFolderClassData.classObject));
  621. }
  622.  
  623. void operator delete(void * obj)
  624. {
  625.    ((SOMObject *)obj)->somFree();
  626. }
  627.  
  628. /* public method: wpclsQueryOpenFolders */
  629. WPFolder *   wpclsQueryOpenFolders(WPFolder *Folder,
  630.         ULONG ulOption,
  631.         BOOL fLock)
  632. {
  633.    return (WPFolder*) SOM_Resolve((SOMAny *)this,M_WPFolder,wpclsQueryOpenFolders)
  634.     (this,Folder,ulOption,fLock);
  635. }
  636.  
  637.  
  638.  
  639. };   /* M_WPFolder */
  640.  
  641.  
  642.  
  643. #endif       /* wpfolder_mxh */
  644.