home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / wpshidl / samples / wpsamps / dragexam.ih < prev    next >
Encoding:
Text File  |  1993-11-18  |  10.4 KB  |  359 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: dragexam.ih.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.2
  7.  *     SOM Emitter emitih: 2.7
  8.  */
  9.  
  10. /*
  11.  * 
  12.  * 
  13.  *    Module Name: DRAGEXAM
  14.  * 
  15.  *    OS/2 Work Place Shell Sample Program - SOM 2.0 / IDL Version
  16.  * 
  17.  *    Copyright (C) 1993 IBM Corporation
  18.  * 
  19.  *        DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
  20.  *        sample code created by IBM Corporation. This sample code is not
  21.  *        part of any standard or IBM product and is provided to you solely
  22.  *        for  the purpose of assisting you in the development of your
  23.  *        applications.  The code is provided "AS IS", without
  24.  *        warranty of any kind.  IBM shall not be liable for any damages
  25.  *        arising out of your use of the sample code, even if they have been
  26.  *        advised of the possibility of such damages.
  27.  * 
  28.  */
  29.  
  30.  
  31. #ifndef SOM_DRAGEXAM_ih
  32. #define SOM_DRAGEXAM_ih
  33.  
  34. #pragma checkout(suspend)
  35.  
  36. #include <dragexam.h>
  37.  
  38. /*
  39.  * Set the scope of methods functions
  40.  */
  41. #ifndef SOM_Scope
  42. #ifdef __cplusplus
  43.   #define SOM_Scope extern "C"
  44. #else
  45.   #define SOM_Scope extern
  46. #endif  /* __cplusplus */
  47. #endif  /* SOM_Scope */
  48.  
  49. #ifndef SOM_CurrentClass
  50.     #define SOM_CurrentClass DRAGEXAMCClassData.parentMtab
  51. #endif  /* SOM_CurrentClass */
  52.  
  53. #define DRAGEXAM_MaxNoMethods 0
  54.  
  55. /*
  56.  * Instance data
  57.  */
  58. typedef void DRAGEXAMData;
  59.  
  60. /*
  61.  * Begin stuff that only goes in the primary file
  62.  */
  63. #if (defined(DRAGEXAM_Class_Source) || defined(SOM_Module_dragexam_Source))
  64.  
  65. /*
  66.  * Trace/Debug macro
  67.  */
  68. #ifndef DRAGEXAMMethodDebug
  69.    #define DRAGEXAMMethodDebug(c,m) SOMMethodDebug(c,m)
  70. #endif  /* DRAGEXAMMethodDebug */
  71.  
  72. /*
  73.  * Current class macros for Instance and Meta classes.
  74.  */
  75. #undef SOMMeta
  76. #define SOMMeta M_DRAGEXAMCClassData.parentMtab
  77. #undef SOMInstance
  78. #define SOMInstance DRAGEXAMCClassData.parentMtab
  79.  
  80. #ifndef M_DRAGEXAM_Class_Source
  81.    #define M_DRAGEXAM_Class_Source
  82. #endif    /* M_DRAGEXAM_Class_Source */
  83.  
  84. /*
  85.  * Overridden method: wpFormatDragItem
  86.  */
  87. #pragma linkage(drag_wpFormatDragItem, system)
  88. SOM_Scope BOOL  SOMLINK drag_wpFormatDragItem(DRAGEXAM *somSelf,
  89.         PDRAGITEM pdrgItem);
  90. #ifndef somMN_wpFormatDragItem_defined
  91. #define somMN_wpFormatDragItem_defined
  92.    static char *somMN_wpFormatDragItem = "wpFormatDragItem";
  93.    static somId somId_wpFormatDragItem = &somMN_wpFormatDragItem;
  94. #endif  /* somMN_wpFormatDragItem_defined */
  95. #define DRAGEXAM_parent_WPDataFile_wpFormatDragItem(somSelf,pdrgItem) \
  96.     ((SOM_ParentNumResolve(WPObject, 1, DRAGEXAMCClassData.parentMtab, wpFormatDragItem)) \
  97.      (somSelf,pdrgItem))
  98. #ifndef SOMGD_pmc_WPDataFile_wpFormatDragItem
  99.   #ifdef parent_WPDataFile_wpFormatDragItem
  100.      #undef parent_WPDataFile_wpFormatDragItem
  101.      #define SOMGD_pmc_WPDataFile_wpFormatDragItem 1
  102.   #else
  103.      #define parent_WPDataFile_wpFormatDragItem DRAGEXAM_parent_WPDataFile_wpFormatDragItem
  104.   #endif /* parent_WPDataFile_wpFormatDragItem */
  105. #endif /* SOMGD_pmc_WPDataFile_wpFormatDragItem */
  106. #ifndef parent_wpFormatDragItem
  107.    #define parent_wpFormatDragItem(somSelf,pdrgItem) \
  108.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpFormatDragItem)) \
  109.      (somSelf,pdrgItem))
  110. #endif  /* parent_wpFormatDragItem */
  111. #define DRAGEXAM_parents_wpFormatDragItem(arg0,arg1) \
  112.   (void) DRAGEXAM_parent_WPDataFile_wpFormatDragItem(arg0,arg1);
  113.  
  114. /*
  115.  * Initialize the class data structure
  116.  */
  117. struct DRAGEXAMClassDataStructure DRAGEXAMClassData = {(SOMAny *) NULL};
  118.  
  119. /*
  120.  * Define the C class data structure
  121.  */
  122. struct DRAGEXAMCClassDataStructure DRAGEXAMCClassData = {(somMethodTabs) NULL};
  123.  
  124. /*
  125.  * Routines and Structures to create the class object
  126.  */
  127.  
  128. /*
  129.  * Declare the Override Methods table.
  130.  */
  131. static somOverrideMethod_t DRAGEXAMOM[] = {
  132.     {    &somId_wpFormatDragItem,
  133.          (somMethodProc *) drag_wpFormatDragItem    },
  134. };
  135.  
  136.  
  137. /*
  138.  *  Initializers for class Ids
  139.  */
  140. static char * somCN_DRAGEXAM = "DRAGEXAM";
  141. #ifndef somEMC_M_DRAGEXAM_defined
  142. #define somEMC_M_DRAGEXAM_defined
  143. static char * somEMC_M_DRAGEXAM = "M_DRAGEXAM";
  144. #endif
  145. static char * somPCN_DRAGEXAM_WPDataFile = "WPDataFile";
  146.  
  147. static somId somPCDRAGEXAM[] = {
  148.     &somPCN_DRAGEXAM_WPDataFile,
  149. };
  150.  
  151. static somStaticClassInfo DRAGEXAMSCI = {
  152.     3, 0, 1, 0, 0, 0,
  153.     DRAGEXAM_MajorVersion, DRAGEXAM_MinorVersion,
  154.     0, DRAGEXAM_MaxNoMethods, 1,
  155.     &somCN_DRAGEXAM,
  156.     &somEMC_M_DRAGEXAM, 0,
  157.     somPCDRAGEXAM,
  158.     (somClassDataStructure *) &DRAGEXAMClassData,
  159.     (somCClassDataStructure *) &DRAGEXAMCClassData,
  160.     (somStaticMethod_t *) NULL, DRAGEXAMOM,
  161.     (char *) NULL,
  162.     (somNonInternalData_t *) NULL,  (somProcMethods_t *) NULL,
  163.     (somVarargsFuncs_t *) NULL,
  164.     (somTP_somClassInitFunc *) NULL,
  165.     0,
  166.     0,  /* old style class, zero directinitclasses */
  167.     0, /* no directinitclasses */
  168.     0, /* number of methods */
  169.     0, /* methods of the class */
  170.     0, /* dataOffset1 */
  171.     0, /* dataOffset2 */
  172.     0, /* number of SelectInheritedMethods */
  173.     0, /* SelectInheritedMethods */
  174.     0, /* number of releaseorder entries */
  175.     0, /* ReleaseOrder */
  176.     0, /* number of migrated methods */
  177.     0, /* migrated method implementations */
  178.     0, /* number of initializers */
  179.     0, /* initializers */
  180.     0, /* used to identify a DTS class */
  181.     0, /* used to register dynamically computed info */
  182. };
  183.  
  184.  
  185. DRAGEXAM * SOMLINK DRAGEXAMNewClass (integer4 somtmajorVersion,
  186.         integer4 somtminorVersion)
  187. {
  188.     WPDataFileNewClass(WPDataFile_MajorVersion,WPDataFile_MinorVersion);    /* static reference */
  189.     /* Explicit metaclass, so get it */ 
  190.     M_DRAGEXAMNewClass(M_DRAGEXAM_MajorVersion,M_DRAGEXAM_MinorVersion);    /* static reference */
  191.     return (somBuildClass(1,&DRAGEXAMSCI, somtmajorVersion, somtminorVersion));
  192. }
  193.  
  194. /*
  195.  * Functions for attributes.
  196.  */
  197.  
  198. #endif                   /* DRAGEXAM_Class_Source */
  199. #pragma checkout(resume)
  200.  
  201. #endif       /* SOM_DRAGEXAM_ih */
  202.  
  203. #ifndef SOM_M_DRAGEXAM_ih
  204. #define SOM_M_DRAGEXAM_ih
  205.  
  206. #pragma checkout(suspend)
  207.  
  208. #include <dragexam.h>
  209.  
  210. /*
  211.  * Set the scope of methods functions
  212.  */
  213. #ifndef SOM_Scope
  214. #ifdef __cplusplus
  215.   #define SOM_Scope extern "C"
  216. #else
  217.   #define SOM_Scope extern
  218. #endif  /* __cplusplus */
  219. #endif  /* SOM_Scope */
  220.  
  221. #ifndef SOM_CurrentClass
  222.     #define SOM_CurrentClass M_DRAGEXAMCClassData.parentMtab
  223. #endif  /* SOM_CurrentClass */
  224.  
  225. #define M_DRAGEXAM_MaxNoMethods 0
  226.  
  227. /*
  228.  * Instance data
  229.  */
  230. typedef void M_DRAGEXAMData;
  231.  
  232. /*
  233.  * Begin stuff that only goes in the primary file
  234.  */
  235. #if (defined(M_DRAGEXAM_Class_Source) || defined(SOM_Module_dragexam_Source))
  236.  
  237. /*
  238.  * Trace/Debug macro
  239.  */
  240. #ifndef M_DRAGEXAMMethodDebug
  241.    #define M_DRAGEXAMMethodDebug(c,m) SOMMethodDebug(c,m)
  242. #endif  /* M_DRAGEXAMMethodDebug */
  243.  
  244. /*
  245.  * Current class macros for Instance and Meta classes.
  246.  */
  247.  
  248. /*
  249.  * Overridden method: wpclsQueryTitle
  250.  */
  251. #pragma linkage(dragM_wpclsQueryTitle, system)
  252. SOM_Scope PSZ  SOMLINK dragM_wpclsQueryTitle(M_DRAGEXAM *somSelf);
  253. #ifndef somMN_wpclsQueryTitle_defined
  254. #define somMN_wpclsQueryTitle_defined
  255.    static char *somMN_wpclsQueryTitle = "wpclsQueryTitle";
  256.    static somId somId_wpclsQueryTitle = &somMN_wpclsQueryTitle;
  257. #endif  /* somMN_wpclsQueryTitle_defined */
  258. #define M_DRAGEXAM_parent_M_WPDataFile_wpclsQueryTitle(somSelf) \
  259.     ((SOM_ParentNumResolve(M_WPObject, 1, M_DRAGEXAMCClassData.parentMtab, wpclsQueryTitle)) \
  260.      (somSelf))
  261. #ifndef SOMGD_pmc_M_WPDataFile_wpclsQueryTitle
  262.   #ifdef parent_M_WPDataFile_wpclsQueryTitle
  263.      #undef parent_M_WPDataFile_wpclsQueryTitle
  264.      #define SOMGD_pmc_M_WPDataFile_wpclsQueryTitle 1
  265.   #else
  266.      #define parent_M_WPDataFile_wpclsQueryTitle M_DRAGEXAM_parent_M_WPDataFile_wpclsQueryTitle
  267.   #endif /* parent_M_WPDataFile_wpclsQueryTitle */
  268. #endif /* SOMGD_pmc_M_WPDataFile_wpclsQueryTitle */
  269. #ifndef parent_wpclsQueryTitle
  270.    #define parent_wpclsQueryTitle(somSelf) \
  271.     ((SOM_ParentNumResolve(M_WPObject, 1, SOM_CurrentClass, wpclsQueryTitle)) \
  272.      (somSelf))
  273. #endif  /* parent_wpclsQueryTitle */
  274. #define M_DRAGEXAM_parents_wpclsQueryTitle(arg0) \
  275.   (void) M_DRAGEXAM_parent_M_WPDataFile_wpclsQueryTitle(arg0);
  276.  
  277. /*
  278.  * Initialize the class data structure
  279.  */
  280. struct M_DRAGEXAMClassDataStructure M_DRAGEXAMClassData = {(SOMAny *) NULL};
  281.  
  282. /*
  283.  * Define the C class data structure
  284.  */
  285. struct M_DRAGEXAMCClassDataStructure M_DRAGEXAMCClassData = {(somMethodTabs) NULL};
  286.  
  287. /*
  288.  * Routines and Structures to create the class object
  289.  */
  290.  
  291. /*
  292.  * Declare the Override Methods table.
  293.  */
  294. static somOverrideMethod_t M_DRAGEXAMOM[] = {
  295.     {    &somId_wpclsQueryTitle,
  296.          (somMethodProc *) dragM_wpclsQueryTitle    },
  297. };
  298.  
  299.  
  300. /*
  301.  *  Initializers for class Ids
  302.  */
  303. static char * somCN_M_DRAGEXAM = "M_DRAGEXAM";
  304. static char * somPCN_M_DRAGEXAM_M_WPDataFile = "M_WPDataFile";
  305.  
  306. static somId somPCM_DRAGEXAM[] = {
  307.     &somPCN_M_DRAGEXAM_M_WPDataFile,
  308. };
  309.  
  310. static somStaticClassInfo M_DRAGEXAMSCI = {
  311.     3, 0, 1, 0, 0, 0,
  312.     M_DRAGEXAM_MajorVersion, M_DRAGEXAM_MinorVersion,
  313.     0, M_DRAGEXAM_MaxNoMethods, 1,
  314.     &somCN_M_DRAGEXAM,
  315.     (somId) NULL, 1,
  316.     somPCM_DRAGEXAM,
  317.     (somClassDataStructure *) &M_DRAGEXAMClassData,
  318.     (somCClassDataStructure *) &M_DRAGEXAMCClassData,
  319.     (somStaticMethod_t *) NULL, M_DRAGEXAMOM,
  320.     (char *) NULL,
  321.     (somNonInternalData_t *) NULL,  (somProcMethods_t *) NULL,
  322.     (somVarargsFuncs_t *) NULL,
  323.     (somTP_somClassInitFunc *) NULL,
  324.     0,
  325.     0,  /* old style class, zero directinitclasses */
  326.     0, /* no directinitclasses */
  327.     0, /* number of methods */
  328.     0, /* methods of the class */
  329.     0, /* dataOffset1 */
  330.     0, /* dataOffset2 */
  331.     0, /* number of SelectInheritedMethods */
  332.     0, /* SelectInheritedMethods */
  333.     0, /* number of releaseorder entries */
  334.     0, /* ReleaseOrder */
  335.     0, /* number of migrated methods */
  336.     0, /* migrated method implementations */
  337.     0, /* number of initializers */
  338.     0, /* initializers */
  339.     0, /* used to identify a DTS class */
  340.     0, /* used to register dynamically computed info */
  341. };
  342.  
  343.  
  344. M_DRAGEXAM * SOMLINK M_DRAGEXAMNewClass (integer4 somtmajorVersion,
  345.         integer4 somtminorVersion)
  346. {
  347.     M_WPDataFileNewClass(M_WPDataFile_MajorVersion,M_WPDataFile_MinorVersion);    /* static reference */
  348.     return (somBuildClass(1,&M_DRAGEXAMSCI, somtmajorVersion, somtminorVersion));
  349. }
  350.  
  351. /*
  352.  * Functions for attributes.
  353.  */
  354.  
  355. #endif                   /* M_DRAGEXAM_Class_Source */
  356. #pragma checkout(resume)
  357.  
  358. #endif       /* SOM_M_DRAGEXAM_ih */
  359.