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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpshred.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: WPSHRED
  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_WPShredder_xh
  23. #define SOM_WPShredder_xh
  24.  
  25. class WPShredder;
  26.  
  27. #define WPShredder_MajorVersion 1
  28. #define WPShredder_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 WPShredder_API
  40. #define WPShredder_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_WPShredder;
  57.  
  58. /*
  59.  * End of bindings for IDL types.
  60.  */
  61.  
  62. /* A procedure to create the WPShredder Class */
  63. class M_WPShredder;
  64. SOMEXTERN M_WPShredder * SOMLINK WPShredderNewClass(
  65.         integer4 majorVersion,
  66.         integer4 minorVersion);
  67.  
  68. /* The API to the WPShredder class object, and the methods it introduces. */
  69. SOMEXTERN struct WPShredderClassDataStructure {
  70.     M_WPShredder *classObject;
  71. } SOMDLINK WPShredderClassData;
  72. #define _WPShredder WPShredderClassData.classObject
  73.  
  74. /* The API to parentMtabs for WPShredder, and the instance data it introduces. */
  75. SOMEXTERN struct WPShredderCClassDataStructure {
  76.     somMethodTabs parentMtab;
  77.     somDToken              instanceDataToken;
  78. } SOMDLINK WPShredderCClassData;
  79.  
  80. /*
  81.  * -- Typedefs for WPShredder Method Procedures
  82.  */
  83. SOMEXTERN {
  84.  
  85. /*
  86.  * -- Typedefs for Reintroduced Wrapper Methods
  87.  */
  88. typedef M_WPShredder*   SOMLINK somTP_WPShredder_somGetClass(WPShredder *somSelf);
  89. typedef somTP_WPShredder_somGetClass *somTD_WPShredder_somGetClass;
  90. }
  91.  
  92. #endif /* WPShredder_API */
  93.  
  94.  
  95. /*
  96.  * -- This emitter treats Method Tokens as Thunks by default.
  97.  * -- Use the sc modifier "nothunks" to change this default
  98.  */
  99. #undef somresolve_
  100. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  101.  
  102. /*
  103.  * -- The C++ Wrapper Class for WPShredder
  104.  */
  105. class WPShredder : public WPAbstract
  106. {
  107. public:
  108.  
  109. // WPShredder::new creates the class object if necessary, and then uses somNewNoInit
  110. // to allocate memory and create the object. Initialization is in ctors.
  111. void *operator new(size_t)
  112. {
  113.    if (!_WPShredder) WPShredderNewClass(WPShredder_MajorVersion,WPShredder_MinorVersion);
  114.    return (void*)
  115.       SOM_Resolve(_WPShredder,SOMClass,somNewNoInit)
  116.          ((SOMClass *)((void*)_WPShredder));
  117. }
  118.  
  119. // WPShredder::delete uses somDestruct.
  120. void operator delete(void * obj)
  121. {
  122.    if (obj && *(void**)obj) {
  123.       SOM_Resolve(obj,SOMObject,somDestruct)
  124.          ((SOMObject*)obj, 1, 0);
  125.    }
  126. }
  127.  
  128. WPShredder& operator=(WPShredder& fromObj)
  129. {
  130.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  131.    return *this;
  132. }
  133.  
  134. WPShredder()
  135. {
  136.    if (*(void**)this != 
  137.        ((somParentMtabStructPtr)
  138.         (WPShredderCClassData.parentMtab))->mtab)
  139.       return;
  140.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  141. }
  142.  
  143. WPShredder(WPShredder* fromObj)
  144. {
  145.    if (*(void**)this != 
  146.        ((somParentMtabStructPtr)
  147.         (WPShredderCClassData.parentMtab))->mtab)
  148.       return;
  149.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  150. }
  151.  
  152. WPShredder(const WPShredder* fromObj)
  153. {
  154.    if (*(void**)this != 
  155.        ((somParentMtabStructPtr)
  156.         (WPShredderCClassData.parentMtab))->mtab)
  157.       return;
  158.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  159. }
  160.  
  161.  
  162. /*
  163.  * Reintroduce inherited methods
  164.  */
  165.  
  166. /* method: somGetClass */
  167. M_WPShredder*  somGetClass()
  168. {
  169. /*
  170.  *  Return the receiver's class.
  171.  */
  172.    return SOM_ResolveD(this,WPShredder,SOMObject,somGetClass)
  173.     (this);
  174. }
  175.  
  176.  
  177.  
  178. };   /* WPShredder */
  179.  
  180.  
  181.  
  182. #endif       /* SOM_WPShredder_xh */
  183.  
  184. #ifndef SOM_M_WPShredder_xh
  185. #define SOM_M_WPShredder_xh
  186.  
  187. class M_WPShredder;
  188.  
  189. #define M_WPShredder_MajorVersion 1
  190. #define M_WPShredder_MinorVersion 2
  191.  
  192. /* C++ SOM defs */
  193. #include <somcls.xh>
  194. #include <somcm.xh>
  195.  
  196. /* C++ parent defs */
  197. #ifndef SOM_M_WPAbstract_xh
  198. #include <wpabs.xh>
  199. #endif
  200.  
  201. #ifndef M_WPShredder_API
  202. #define M_WPShredder_API
  203. /*
  204.  * -- The Class API
  205.  */
  206.  
  207. /*
  208.  * Start of bindings for IDL types
  209.  */
  210.  
  211.  
  212. /*
  213.  * End of bindings for IDL types.
  214.  */
  215.  
  216. /*
  217.  * -- M_WPShredder is a metaclass for WPShredder. Make sure WPShredder is known.
  218.  */
  219. class WPShredder;
  220.  
  221.  
  222. /* A procedure to create the M_WPShredder Class */
  223. SOMEXTERN SOMClass * SOMLINK M_WPShredderNewClass(
  224.         integer4 majorVersion,
  225.         integer4 minorVersion);
  226.  
  227. /* The API to the M_WPShredder class object, and the methods it introduces. */
  228. SOMEXTERN struct M_WPShredderClassDataStructure {
  229.     SOMClass *classObject;
  230. } SOMDLINK M_WPShredderClassData;
  231. #define _M_WPShredder M_WPShredderClassData.classObject
  232.  
  233. /* The API to parentMtabs for M_WPShredder, and the instance data it introduces. */
  234. SOMEXTERN struct M_WPShredderCClassDataStructure {
  235.     somMethodTabs parentMtab;
  236.     somDToken              instanceDataToken;
  237. } SOMDLINK M_WPShredderCClassData;
  238.  
  239. /*
  240.  * -- Typedefs for M_WPShredder Method Procedures
  241.  */
  242. SOMEXTERN {
  243.  
  244. /*
  245.  * -- Typedefs for Reintroduced Wrapper Methods
  246.  */
  247. typedef WPShredder*   SOMLINK somTP_M_WPShredder_somNew(M_WPShredder *somSelf);
  248. typedef somTP_M_WPShredder_somNew *somTD_M_WPShredder_somNew;
  249. }
  250.  
  251. #endif /* M_WPShredder_API */
  252.  
  253.  
  254. /*
  255.  * -- This emitter treats Method Tokens as Thunks by default.
  256.  * -- Use the sc modifier "nothunks" to change this default
  257.  */
  258. #undef somresolve_
  259. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  260.  
  261. /*
  262.  * -- The C++ Wrapper Class for M_WPShredder
  263.  */
  264. class M_WPShredder : public M_WPAbstract
  265. {
  266. public:
  267.  
  268. // M_WPShredder::new creates the class object if necessary, and then uses somNewNoInit
  269. // to allocate memory and create the object. Initialization is in ctors.
  270. void *operator new(size_t)
  271. {
  272.    if (!_M_WPShredder) M_WPShredderNewClass(M_WPShredder_MajorVersion,M_WPShredder_MinorVersion);
  273.    return (void*)
  274.       SOM_Resolve(_M_WPShredder,SOMClass,somNewNoInit)
  275.          ((SOMClass *)((void*)_M_WPShredder));
  276. }
  277.  
  278. // M_WPShredder::delete uses somDestruct.
  279. void operator delete(void * obj)
  280. {
  281.    if (obj && *(void**)obj) {
  282.       SOM_Resolve(obj,SOMObject,somDestruct)
  283.          ((SOMObject*)obj, 1, 0);
  284.    }
  285. }
  286.  
  287. M_WPShredder& operator=(M_WPShredder& fromObj)
  288. {
  289.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  290.    return *this;
  291. }
  292.  
  293. M_WPShredder()
  294. {
  295.    if (*(void**)this != 
  296.        ((somParentMtabStructPtr)
  297.         (M_WPShredderCClassData.parentMtab))->mtab)
  298.       return;
  299.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  300. }
  301.  
  302. M_WPShredder(M_WPShredder* fromObj)
  303. {
  304.    if (*(void**)this != 
  305.        ((somParentMtabStructPtr)
  306.         (M_WPShredderCClassData.parentMtab))->mtab)
  307.       return;
  308.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  309. }
  310.  
  311. M_WPShredder(const M_WPShredder* fromObj)
  312. {
  313.    if (*(void**)this != 
  314.        ((somParentMtabStructPtr)
  315.         (M_WPShredderCClassData.parentMtab))->mtab)
  316.       return;
  317.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  318. }
  319.  
  320.  
  321. /*
  322.  * Reintroduce inherited methods
  323.  */
  324.  
  325. /* method: somNew */
  326. WPShredder*  somNew()
  327. {
  328.    return SOM_ResolveD(this,M_WPShredder,SOMClass,somNew)
  329.     (this);
  330. }
  331.  
  332.  
  333.  
  334. };   /* M_WPShredder */
  335.  
  336.  
  337.  
  338. #endif       /* SOM_M_WPShredder_xh */
  339.