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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpshadow.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: WPSHADOW
  14.  * 
  15.  *   OS/2 Presentation Manager Workplace class definitions
  16.  * 
  17.  *   Copyright (c) International Business Machines Corporation 1991, 1992
  18.  * 
  19.  */
  20.  
  21.  
  22. #ifndef SOM_WPShadow_xh
  23. #define SOM_WPShadow_xh
  24.  
  25. class WPShadow;
  26.  
  27. #define WPShadow_MajorVersion 1
  28. #define WPShadow_MinorVersion 2
  29.  
  30. /* C++ SOM defs */
  31. #include <somcls.xh>
  32. #include <somcm.xh>
  33.  
  34. /* C++ parent defs */
  35. #ifndef SOM_WPAbstract_xh
  36. #include <wpabs.xh>
  37. #endif
  38.  
  39. #ifndef WPShadow_API
  40. #define WPShadow_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_WPAbstract;
  56. class M_WPShadow;
  57.  
  58. /*
  59.  * End of bindings for IDL types.
  60.  */
  61.  
  62. /* A procedure to create the WPShadow Class */
  63. class M_WPShadow;
  64. SOMEXTERN M_WPShadow * SOMLINK WPShadowNewClass(
  65.         integer4 majorVersion,
  66.         integer4 minorVersion);
  67.  
  68. /* The API to the WPShadow class object, and the methods it introduces. */
  69. SOMEXTERN struct WPShadowClassDataStructure {
  70.     M_WPShadow *classObject;
  71.     somMToken wpSetLinkToObject;
  72.     somMToken withdrawn;
  73.     somMToken wpSetShadowTitle;
  74.     somMToken wpQueryShadowedObject;
  75. } SOMDLINK WPShadowClassData;
  76. #define _WPShadow WPShadowClassData.classObject
  77.  
  78. /* The API to parentMtabs for WPShadow, and the instance data it introduces. */
  79. SOMEXTERN struct WPShadowCClassDataStructure {
  80.     somMethodTabs parentMtab;
  81.     somDToken              instanceDataToken;
  82. } SOMDLINK WPShadowCClassData;
  83.  
  84. /*
  85.  * -- Typedefs for WPShadow Method Procedures
  86.  */
  87. SOMEXTERN {
  88. typedef WPObject*   SOMLINK somTP_WPShadow_wpQueryShadowedObject(WPShadow *somSelf, 
  89.         BOOL fLock);
  90. typedef somTP_WPShadow_wpQueryShadowedObject *somTD_WPShadow_wpQueryShadowedObject;
  91. typedef BOOL   SOMLINK somTP_WPShadow_wpSetShadowTitle(WPShadow *somSelf, 
  92.         PSZ pszNewTitle);
  93. typedef somTP_WPShadow_wpSetShadowTitle *somTD_WPShadow_wpSetShadowTitle;
  94. typedef BOOL   SOMLINK somTP_WPShadow_wpSetLinkToObject(WPShadow *somSelf, 
  95.         WPObject* FromObject);
  96. typedef somTP_WPShadow_wpSetLinkToObject *somTD_WPShadow_wpSetLinkToObject;
  97.  
  98. /*
  99.  * -- Typedefs for Reintroduced Wrapper Methods
  100.  */
  101. typedef M_WPShadow*   SOMLINK somTP_WPShadow_somGetClass(WPShadow *somSelf);
  102. typedef somTP_WPShadow_somGetClass *somTD_WPShadow_somGetClass;
  103. }
  104.  
  105. #endif /* WPShadow_API */
  106.  
  107.  
  108. /*
  109.  * -- This emitter treats Method Tokens as Thunks by default.
  110.  * -- Use the sc modifier "nothunks" to change this default
  111.  */
  112. #undef somresolve_
  113. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  114.  
  115. /*
  116.  * -- The C++ Wrapper Class for WPShadow
  117.  */
  118. class WPShadow : public WPAbstract
  119. {
  120. public:
  121.  
  122. // WPShadow::new creates the class object if necessary, and then uses somNewNoInit
  123. // to allocate memory and create the object. Initialization is in ctors.
  124. void *operator new(size_t)
  125. {
  126.    if (!_WPShadow) WPShadowNewClass(WPShadow_MajorVersion,WPShadow_MinorVersion);
  127.    return (void*)
  128.       SOM_Resolve(_WPShadow,SOMClass,somNewNoInit)
  129.          ((SOMClass *)((void*)_WPShadow));
  130. }
  131.  
  132. // WPShadow::delete uses somDestruct.
  133. void operator delete(void * obj)
  134. {
  135.    if (obj && *(void**)obj) {
  136.       SOM_Resolve(obj,SOMObject,somDestruct)
  137.          ((SOMObject*)obj, 1, 0);
  138.    }
  139. }
  140.  
  141. WPShadow& operator=(WPShadow& fromObj)
  142. {
  143.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  144.    return *this;
  145. }
  146.  
  147. WPShadow()
  148. {
  149.    if (*(void**)this != 
  150.        ((somParentMtabStructPtr)
  151.         (WPShadowCClassData.parentMtab))->mtab)
  152.       return;
  153.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  154. }
  155.  
  156. WPShadow(WPShadow* fromObj)
  157. {
  158.    if (*(void**)this != 
  159.        ((somParentMtabStructPtr)
  160.         (WPShadowCClassData.parentMtab))->mtab)
  161.       return;
  162.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  163. }
  164.  
  165. WPShadow(const WPShadow* fromObj)
  166. {
  167.    if (*(void**)this != 
  168.        ((somParentMtabStructPtr)
  169.         (WPShadowCClassData.parentMtab))->mtab)
  170.       return;
  171.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  172. }
  173.  
  174.  
  175. /* method: wpQueryShadowedObject */
  176. WPObject*   wpQueryShadowedObject(BOOL fLock)
  177. {
  178.    return SOM_ResolveD(this,WPShadow,WPShadow,wpQueryShadowedObject)
  179.     (this,fLock);
  180. }
  181.  
  182.  
  183. /* method: wpSetShadowTitle */
  184. BOOL   wpSetShadowTitle(PSZ pszNewTitle)
  185. {
  186.    return SOM_ResolveD(this,WPShadow,WPShadow,wpSetShadowTitle)
  187.     (this,pszNewTitle);
  188. }
  189.  
  190.  
  191. /* method: wpSetLinkToObject */
  192. BOOL   wpSetLinkToObject(WPObject* FromObject)
  193. {
  194.    return SOM_ResolveD(this,WPShadow,WPShadow,wpSetLinkToObject)
  195.     (this,FromObject);
  196. }
  197.  
  198.  
  199. /*
  200.  * Reintroduce inherited methods
  201.  */
  202.  
  203. /* method: somGetClass */
  204. M_WPShadow*  somGetClass()
  205. {
  206. /*
  207.  *  Return the receiver's class.
  208.  */
  209.    return SOM_ResolveD(this,WPShadow,SOMObject,somGetClass)
  210.     (this);
  211. }
  212.  
  213.  
  214.  
  215. };   /* WPShadow */
  216.  
  217.  
  218.  
  219. #endif       /* SOM_WPShadow_xh */
  220.  
  221. #ifndef SOM_M_WPShadow_xh
  222. #define SOM_M_WPShadow_xh
  223.  
  224. class M_WPShadow;
  225.  
  226. #define M_WPShadow_MajorVersion 1
  227. #define M_WPShadow_MinorVersion 2
  228.  
  229. /* C++ SOM defs */
  230. #include <somcls.xh>
  231. #include <somcm.xh>
  232.  
  233. /* C++ parent defs */
  234. #ifndef SOM_M_WPAbstract_xh
  235. #include <wpabs.xh>
  236. #endif
  237.  
  238. #ifndef M_WPShadow_API
  239. #define M_WPShadow_API
  240. /*
  241.  * -- The Class API
  242.  */
  243.  
  244. /*
  245.  * Start of bindings for IDL types
  246.  */
  247.  
  248.  
  249. /*
  250.  * End of bindings for IDL types.
  251.  */
  252.  
  253. /*
  254.  * -- M_WPShadow is a metaclass for WPShadow. Make sure WPShadow is known.
  255.  */
  256. class WPShadow;
  257.  
  258.  
  259. /* A procedure to create the M_WPShadow Class */
  260. SOMEXTERN SOMClass * SOMLINK M_WPShadowNewClass(
  261.         integer4 majorVersion,
  262.         integer4 minorVersion);
  263.  
  264. /* The API to the M_WPShadow class object, and the methods it introduces. */
  265. SOMEXTERN struct M_WPShadowClassDataStructure {
  266.     SOMClass *classObject;
  267. } SOMDLINK M_WPShadowClassData;
  268. #define _M_WPShadow M_WPShadowClassData.classObject
  269.  
  270. /* The API to parentMtabs for M_WPShadow, and the instance data it introduces. */
  271. SOMEXTERN struct M_WPShadowCClassDataStructure {
  272.     somMethodTabs parentMtab;
  273.     somDToken              instanceDataToken;
  274. } SOMDLINK M_WPShadowCClassData;
  275.  
  276. /*
  277.  * -- Typedefs for M_WPShadow Method Procedures
  278.  */
  279. SOMEXTERN {
  280.  
  281. /*
  282.  * -- Typedefs for Reintroduced Wrapper Methods
  283.  */
  284. typedef WPShadow*   SOMLINK somTP_M_WPShadow_somNew(M_WPShadow *somSelf);
  285. typedef somTP_M_WPShadow_somNew *somTD_M_WPShadow_somNew;
  286. }
  287.  
  288. #endif /* M_WPShadow_API */
  289.  
  290.  
  291. /*
  292.  * -- This emitter treats Method Tokens as Thunks by default.
  293.  * -- Use the sc modifier "nothunks" to change this default
  294.  */
  295. #undef somresolve_
  296. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  297.  
  298. /*
  299.  * -- The C++ Wrapper Class for M_WPShadow
  300.  */
  301. class M_WPShadow : public M_WPAbstract
  302. {
  303. public:
  304.  
  305. // M_WPShadow::new creates the class object if necessary, and then uses somNewNoInit
  306. // to allocate memory and create the object. Initialization is in ctors.
  307. void *operator new(size_t)
  308. {
  309.    if (!_M_WPShadow) M_WPShadowNewClass(M_WPShadow_MajorVersion,M_WPShadow_MinorVersion);
  310.    return (void*)
  311.       SOM_Resolve(_M_WPShadow,SOMClass,somNewNoInit)
  312.          ((SOMClass *)((void*)_M_WPShadow));
  313. }
  314.  
  315. // M_WPShadow::delete uses somDestruct.
  316. void operator delete(void * obj)
  317. {
  318.    if (obj && *(void**)obj) {
  319.       SOM_Resolve(obj,SOMObject,somDestruct)
  320.          ((SOMObject*)obj, 1, 0);
  321.    }
  322. }
  323.  
  324. M_WPShadow& operator=(M_WPShadow& fromObj)
  325. {
  326.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  327.    return *this;
  328. }
  329.  
  330. M_WPShadow()
  331. {
  332.    if (*(void**)this != 
  333.        ((somParentMtabStructPtr)
  334.         (M_WPShadowCClassData.parentMtab))->mtab)
  335.       return;
  336.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  337. }
  338.  
  339. M_WPShadow(M_WPShadow* fromObj)
  340. {
  341.    if (*(void**)this != 
  342.        ((somParentMtabStructPtr)
  343.         (M_WPShadowCClassData.parentMtab))->mtab)
  344.       return;
  345.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  346. }
  347.  
  348. M_WPShadow(const M_WPShadow* fromObj)
  349. {
  350.    if (*(void**)this != 
  351.        ((somParentMtabStructPtr)
  352.         (M_WPShadowCClassData.parentMtab))->mtab)
  353.       return;
  354.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  355. }
  356.  
  357.  
  358. /*
  359.  * Reintroduce inherited methods
  360.  */
  361.  
  362. /* method: somNew */
  363. WPShadow*  somNew()
  364. {
  365.    return SOM_ResolveD(this,M_WPShadow,SOMClass,somNew)
  366.     (this);
  367. }
  368.  
  369.  
  370.  
  371. };   /* M_WPShadow */
  372.  
  373.  
  374.  
  375. #endif       /* SOM_M_WPShadow_xh */
  376.