home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: InfoMgt / InfoMgt.zip / shr93.zip / SHRFOLDR.H < prev    next >
Text File  |  1993-04-12  |  6KB  |  205 lines

  1. /*
  2.  * OS/2 Work Place Shell Sample Program - ShrFolder
  3.  *
  4.  * Copyright (C) 1993 IBM Corporation
  5.  *
  6.  *   DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
  7.  *   sample code created by IBM Corporation.  This sample code is
  8.  *   not part of any standard or IBM product and is provided to you
  9.  *   solely for the purpose of assisting you in the development of
  10.  *   your applications.  The code is provided "AS IS".  ALL
  11.  *   WARRANTIES ARE EXPRESSLY DISCLAIMED, INCLUDING THE IMPLIED
  12.  *   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  13.  *   PURPOSE.  IBM shall not be liable for any damages arising out
  14.  *   of your use of the sample code, even if IBM has been advised of
  15.  *   the possibility of such damages.
  16.  *
  17.  * ShrFolder is a WPFolder subclass which adds two methods:
  18.  *
  19.  *   shrAddedToContent
  20.  *   shrRemovedFromContent
  21.  *
  22.  * Module also includes two functions that work around
  23.  * problems found in the WPS while creating this example:
  24.  *
  25.  *   ShrCnrRefreshDetails
  26.  *   ShrCheckForDeletedObject
  27.  *
  28.  * See WPS-PGM.TXT for more details (#7, #12, and #14).
  29.  */
  30.  
  31. #ifndef shrfoldr_h
  32. #define shrfoldr_h
  33.  
  34. extern VOID ShrCnrRefreshDetails(WPObject *somChangedObject);
  35. extern BOOL ShrCheckForDeletedObject
  36.     (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
  37.  
  38. /*
  39.  * This remainder of this file was generated by the SOM Compiler.
  40.  * 
  41.  * Generated using:
  42.  *     SOM Precompiler spc: 1.22
  43.  *     SOM Emitter emith: 1.11
  44.  */
  45.  
  46. #include <som.h>
  47.  
  48. /*
  49.  * Define the class name as an object type
  50.  */
  51. #ifndef ShrFolder
  52. #define ShrFolder SOMAny
  53. #endif
  54. #include "wpfolder.h"
  55.  
  56. /*
  57.  * Passthru lines: File: "C.h", "after"
  58.  */
  59.  
  60. #define ShrFolder_MajorVersion 1
  61. #define ShrFolder_MinorVersion 2
  62.  
  63. /*
  64.  * External name shortening if required
  65.  */
  66. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  67. #define ShrFolderNewClass sfdrc
  68. #pragma linkage(sfdrc, system)
  69. #define ShrFolderClassData sfdrd
  70. #define ShrFolderCClassData sfdrx
  71. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  72. /*--------------Migration------------*/
  73. #define ShrFolder_classObj ShrFolderClassData.classObject
  74. #define _ShrFolder ShrFolder_classObj
  75.  
  76. /*
  77.  * New and Renew macros for ShrFolder
  78.  */
  79. #define _ShrFolderNew() (_somNew(ShrFolderClassData.classObject))
  80. #define ShrFolderNew() \
  81.     ( ShrFolderClassData.classObject \
  82.         ? _ShrFolderNew() \
  83.         : ( ShrFolderNewClass(ShrFolder_MajorVersion, ShrFolder_MinorVersion), _ShrFolderNew() ) )
  84. #define ShrFolderRenew(buf) \
  85.     ( _somRenew(ShrFolderClassData.classObject, buf) )
  86.  
  87. /*
  88.  * New Method: shrAddedToContent
  89.  */
  90. typedef VOID    SOMLINK somTP_ShrFolder_shrAddedToContent(ShrFolder *somSelf,
  91.     WPObject *somAddedObject);
  92. #pragma linkage(somTP_ShrFolder_shrAddedToContent, system)
  93. typedef somTP_ShrFolder_shrAddedToContent *somTD_ShrFolder_shrAddedToContent;
  94. #define somMD_ShrFolder_shrAddedToContent "----"
  95. #define ShrFolder_shrAddedToContent(somSelf,somAddedObject) \
  96.     (SOM_Resolve(somSelf, ShrFolder, shrAddedToContent) \
  97.     (somSelf,somAddedObject))
  98. #define _shrAddedToContent ShrFolder_shrAddedToContent
  99.  
  100. /*
  101.  * New Method: shrRemovedFromContent
  102.  */
  103. typedef VOID    SOMLINK somTP_ShrFolder_shrRemovedFromContent(ShrFolder *somSelf,
  104.         WPObject *somRemovedObject);
  105. #pragma linkage(somTP_ShrFolder_shrRemovedFromContent, system)
  106. typedef somTP_ShrFolder_shrRemovedFromContent *somTD_ShrFolder_shrRemovedFromContent;
  107. #define somMD_ShrFolder_shrRemovedFromContent "----"
  108. #define ShrFolder_shrRemovedFromContent(somSelf,somRemovedObject) \
  109.     (SOM_Resolve(somSelf, ShrFolder, shrRemovedFromContent) \
  110.     (somSelf,somRemovedObject))
  111. #define _shrRemovedFromContent ShrFolder_shrRemovedFromContent
  112.  
  113. /*
  114.  * Declare the class creation procedure
  115.  */
  116. SOMEXTERN SOMAny * SOMLINK ShrFolderNewClass(integer4 scemajorVersion,
  117.     integer4 sceminorVersion);
  118. #pragma linkage(ShrFolderNewClass, system)
  119.  
  120. /*
  121.  * Declare the class data structure
  122.  */
  123. SOMEXTERN struct ShrFolderClassDataStructure {
  124.     SOMAny *classObject;
  125.     somMToken shrAddedToContent;
  126.     somMToken shrRemovedFromContent;
  127. } ShrFolderClassData;
  128.  
  129. /*
  130.  * Declare the C specific class data structure
  131.  */
  132. SOMEXTERN struct ShrFolderCClassDataStructure {
  133.     somMethodTab *parentMtab;
  134.     somDToken instanceDataToken;
  135. } ShrFolderCClassData;
  136.  
  137. #endif       /* shrfoldr_h */
  138.  
  139. #ifndef shrfoldr_mh
  140. #define shrfoldr_mh
  141.  
  142. /*
  143.  * Define the class name as an object type
  144.  */
  145. #ifndef M_ShrFolder
  146. #define M_ShrFolder SOMAny
  147. #endif
  148.  
  149. #define M_ShrFolder_MajorVersion 1
  150. #define M_ShrFolder_MinorVersion 2
  151.  
  152. /*
  153.  * External name shortening if required
  154.  */
  155. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  156. #define M_ShrFolderNewClass sfdrc
  157. #pragma linkage(sfdrc, system)
  158. #define M_ShrFolderClassData sfdrd
  159. #define M_ShrFolderCClassData sfdrx
  160. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  161. /*--------------Migration------------*/
  162. #define M_ShrFolder_classObj M_ShrFolderClassData.classObject
  163. #define _M_ShrFolder M_ShrFolder_classObj
  164.  
  165. /*
  166.  * New and Renew macros for M_ShrFolder
  167.  */
  168. #define _M_ShrFolderNew() (_somNew(M_ShrFolderClassData.classObject))
  169. #define M_ShrFolderNew() \
  170.     ( M_ShrFolderClassData.classObject \
  171.         ? _M_ShrFolderNew() \
  172.         : ( M_ShrFolderNewClass(M_ShrFolder_MajorVersion, M_ShrFolder_MinorVersion), _M_ShrFolderNew() ) )
  173. #define M_ShrFolderRenew(buf) \
  174.     ( _somRenew(M_ShrFolderClassData.classObject, buf) )
  175.  
  176. /*
  177.  * Override method: wpclsInitData
  178.  */
  179. #define M_ShrFolder_wpclsInitData(somSelf) \
  180.     M_WPObject_wpclsInitData(somSelf)
  181.  
  182. /*
  183.  * Declare the class creation procedure
  184.  */
  185. SOMEXTERN SOMAny * SOMLINK M_ShrFolderNewClass(integer4 scemajorVersion,
  186.         integer4 sceminorVersion);
  187. #pragma linkage(M_ShrFolderNewClass, system)
  188.  
  189. /*
  190.  * Declare the class data structure
  191.  */
  192. SOMEXTERN struct M_ShrFolderClassDataStructure {
  193.     SOMAny *classObject;
  194. } M_ShrFolderClassData;
  195.  
  196. /*
  197.  * Declare the C specific class data structure
  198.  */
  199. SOMEXTERN struct M_ShrFolderCClassDataStructure {
  200.     somMethodTab *parentMtab;
  201.     somDToken instanceDataToken;
  202. } M_ShrFolderCClassData;
  203.  
  204. #endif       /* shrfoldr_h */
  205.