home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / toolkt21 / cplus / os2h / wpclsmgr.xh < prev    next >
Encoding:
Text File  |  1993-05-02  |  2.5 KB  |  114 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpclsmgr.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitxh: 1.11
  8.  */
  9.  
  10. /*
  11.  *  Module Header
  12.  * 
  13.  *  Module Name: WPCLSMGR
  14.  * 
  15.  *  OS/2 Presentation Manager Workplace class definitions
  16.  * 
  17.  *  Copyright (c) International Business Machines Corporation 1991, 1992
  18.  * 
  19.  */
  20.  
  21. #ifndef wpclsmgr_xh
  22. #define wpclsmgr_xh
  23. class WPClassManager;
  24.  
  25. #define WPClassManager_MajorVersion 1
  26. #define WPClassManager_MinorVersion 2
  27.  
  28. /* C++ som defs */
  29. #include <somcls.xh>
  30.  
  31. /* C++ parent def */
  32. #ifndef somcm_xh
  33. #include <somcm.xh>
  34. #endif
  35.  
  36. /*
  37.  * Passthru lines: File: "C.xh", "after"
  38.  */
  39. #ifndef wpobject_xh
  40.         #include "wpobject.xh"
  41.     #endif
  42.  
  43. #ifndef WPClassManager_API
  44. #define WPClassManager_API
  45. /*
  46.  * The Class API
  47.  */
  48.  
  49. /* A procedure to create the WPClassManager Class */
  50. SOMEXTERN SOMClass * SOMLINK WPClassManagerNewClass(
  51.         integer4 majorVersion,
  52.         integer4 minorVersion);
  53.  
  54. /* A macro to return the WPClassManager class object */
  55. #define _WPClassManager ((SOMClass*)WPClassManagerClassData.classObject)
  56.  
  57. /* The static interface to WPClassManager and its instances */
  58. SOMEXTERN struct WPClassManagerClassDataStructure {
  59.     SOMClass *classObject;
  60.     somMToken wpQueryClassReplaceList;
  61.     somMToken wpGetTrueClassName;
  62. } WPClassManagerClassData;
  63.  
  64. /*
  65.  * -- Typedefs for Procedures that support WPClassManager Methods
  66.  */
  67. extern "C" {
  68. typedef PSZ    (SOMLINK *somTD_WPClassManager_wpGetTrueClassName)(WPClassManager *somSelf,WPObject *Object);
  69. }
  70.  
  71.  
  72. #endif /* WPClassManager_API */
  73.  
  74.  
  75. /*
  76.  * -- The C++ Wrapper Class for WPClassManager
  77.  */
  78. class WPClassManager : public SOMClassMgr
  79. {
  80. public:
  81.  
  82. void *operator new(size_t size)
  83. {
  84.    (void) size;
  85.    if (!WPClassManagerClassData.classObject) 
  86.       WPClassManagerNewClass(WPClassManager_MajorVersion,WPClassManager_MinorVersion);
  87.    return (void *)
  88.       ((somTD_SOMClass_somNew)
  89.       somResolve(SOM_TestCls((SOMAny *)(WPClassManagerClassData.classObject),
  90.                              SOMClassClassData.classObject),
  91.                  SOMClassClassData.somNew))
  92.          ((SOMClass*)(WPClassManagerClassData.classObject));
  93. }
  94.  
  95. void operator delete(void * obj)
  96. {
  97.    ((SOMObject *)obj)->somFree();
  98. }
  99.  
  100. /* public method: wpGetTrueClassName */
  101. PSZ    wpGetTrueClassName(WPObject *Object)
  102. {
  103.    return (PSZ) SOM_Resolve((SOMAny *)this,WPClassManager,wpGetTrueClassName)
  104.     (this,Object);
  105. }
  106.  
  107.  
  108.  
  109. };   /* WPClassManager */
  110.  
  111.  
  112.  
  113. #endif       /* wpclsmgr_xh */
  114.