home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / xwplascr.zip / XWPL0208.ZIP / idl / xwpfsys.idl < prev    next >
Text File  |  2002-08-09  |  4KB  |  184 lines

  1.  
  2. /*
  3.  * xwpfsys.idl:
  4.  *      SOM interface description file for the following
  5.  *      XWorkplace classes (in this order):
  6.  *          XWPFileSystem
  7.  *      and the respective metaclasses.
  8.  *
  9.  *      See src\classes\xwpfsys.c for details.
  10.  *
  11.  *      Copyright (C) 2000-2002 Ulrich Möller.
  12.  *      This file is part of the XWorkplace source package.
  13.  *      XWorkplace is free software; you can redistribute it and/or modify
  14.  *      it under the terms of the GNU General Public License as published
  15.  *      by the Free Software Foundation, in version 2 as it comes in the
  16.  *      "COPYING" file of the XWorkplace main distribution.
  17.  *      This program is distributed in the hope that it will be useful,
  18.  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  *      GNU General Public License for more details.
  21.  */
  22.  
  23. #include <wpfsys.idl>          // this is SOM for WPFileSystem
  24.             /*
  25.                 NOTE:
  26.                 Starting with V0.9.20, the above line no longer includes the
  27.                 wpfsys.idl from the toolkit directory, but rather the one
  28.                 from our own idl\wps directory, which is put BEFORE the toolkit's
  29.                 idl directory in the SMINCLUDE path. This allows us to override
  30.                 undocumented methods.
  31.             */
  32.  
  33. /*
  34.    CLASS: XWPFileSystem
  35.  
  36.    CLASS HIERARCHY:
  37.  
  38.        SOMObject
  39.          └── WPObject = XFldObject
  40.                └── WPFileSystem
  41.                      └──  XWPFileSystem
  42. */
  43.  
  44. interface M_XWPFileSystem;            // forward reference to metaclass
  45.  
  46. interface XWPFileSystem : WPFileSystem
  47. {
  48.  
  49.     /*
  50.      * New instance methods for XWPFileSystem:
  51.      *
  52.      */
  53.  
  54.     PSZ xwpQueryUpperRealName();
  55.  
  56. #ifdef __SOMIDL__
  57.   implementation {
  58.  
  59.     releaseorder: xwpQueryUpperRealName;
  60.  
  61.     /*
  62.      * Class Modifiers:
  63.      *
  64.      */
  65.  
  66.     externalprefix = xfs_;
  67.     externalstem = xfs;
  68.     majorversion = 1;
  69.     minorversion = 1;
  70.     filestem = xwpfsys;           //# specifies the filestem for sc-generated files
  71.     metaclass = M_XWPFileSystem;
  72.     dllname = "xfldr.dll";
  73.     callstyle = oidl;           //# forget CORBA stuff (*ev and such)
  74.  
  75.     /*
  76.      * Internal instance variables for XWPFileSystem:
  77.      *
  78.      */
  79.  
  80.     ULONG       ulHandle;
  81.  
  82.     PSZ         pWszUpperRealName;      // upper-case short real name for
  83.                                         // folder content tree;
  84.                                         // WARNING: allocated using wpAllocMem
  85.  
  86.     ULONG       ulCnrRefresh;
  87.  
  88.     /*
  89.      * The following is forced into the .H file:
  90.      *
  91.      */
  92.  
  93.     /*
  94.      * WPFileSystem methods overridden by XWPFileSystem:
  95.      *
  96.      */
  97.  
  98.     //# 1)  init/uninit methods
  99.  
  100.     wpInitData: override;
  101.     wpUnInitData: override;
  102.  
  103.     //# 2)  WPObject query/set methods
  104.  
  105.     wpQueryHandle: override;
  106.  
  107.     //# 3)  icon methods
  108.  
  109.     wpQueryIcon: override;
  110.  
  111.     wpSetIconData: override;
  112.  
  113.     //# 4)  class-specific query/set methods
  114.  
  115.     //# 5)  menu methods
  116.  
  117.     //# 6)  open view methods
  118.  
  119.     wpOpen: override;
  120.  
  121.     //# 7)  file operation methods
  122.  
  123.     wpSetTitleAndRenameFile: override;
  124.  
  125.     wpSetRealName: override;
  126.  
  127.     wpRefreshFSInfo: override;
  128.  
  129. #ifdef __PRIVATE__
  130.  
  131. #endif
  132.  
  133.   }; // implementation
  134. #endif /* __SOMIDL__ */
  135. };
  136.  
  137. //#
  138. //#
  139. //# Now define Metaclass.
  140. //# ---------------------
  141. //#
  142.  
  143. interface M_XWPFileSystem : M_WPFileSystem
  144. {
  145.  
  146. #ifdef __SOMIDL__
  147.   implementation {
  148.  
  149.     /*
  150.      * Class Modifiers:
  151.      *
  152.      */
  153.  
  154.     externalprefix = xfsM_;
  155.     externalstem = xfM;
  156.     functionprefix = xfM_;
  157.     majorversion = 1;
  158.     minorversion = 1;
  159.     filestem = xwpfsys;           //# specifies the filestem for sc-generated files
  160.     dllname = "xfldr.dll";
  161.     callstyle = oidl;
  162.  
  163.     /*
  164.      * Internal class variables for M_XWPFileSystem:
  165.      *
  166.      */
  167.  
  168.     /*
  169.      * M_WPFileSystem methods overridden by M_XWPFileSystem:
  170.      *
  171.      */
  172.  
  173.     wpclsInitData: override;
  174.  
  175.     wpclsQueryAwakeObject: override;
  176.     wpclsFileSysExists: override;
  177.     wpclsObjectFromHandle: override;
  178.  
  179.   };
  180. #endif /* __SOMIDL__ */
  181. };
  182.  
  183.  
  184.