home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / drgwps.zip / drgagent.ih < prev    next >
Text File  |  1993-08-08  |  14KB  |  474 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: drgagent.ih.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitih: 1.59
  8.  */
  9.  
  10. #ifndef DrgAgent_ih
  11. #define DrgAgent_ih
  12.  
  13.  
  14. /*
  15.  * Passthru lines: File: "C.ih", "before"
  16.  */
  17.  
  18.    #define INCL_DOSPROCESS
  19.    #define INCL_WINMENUS
  20.    #define INCL_WINWORKPLACE
  21.    #include <os2.h>
  22.    #include <stdio.h>
  23.    #include <stdlib.h>
  24.    #include <wpfolder.h>
  25.    #include "drgagent.rh"
  26.  
  27.  
  28. #include "DrgAgent.h"
  29.  
  30. /*
  31.  * Set the scope of methods functions
  32.  */
  33. #ifndef SOM_Scope
  34. #ifdef __cplusplus
  35. #define SOM_Scope extern "C"
  36. #else
  37. #define SOM_Scope extern
  38. #endif
  39. #endif
  40.  
  41. #ifndef SOM_CurrentClass
  42. #define SOM_CurrentClass DrgAgentCClassData.parentMtab
  43. #endif
  44.  
  45. #define DrgAgent_MaxNoMethods 0
  46.  
  47. /*
  48.  * Instance data
  49.  */
  50. typedef struct {
  51.     HWND hwndComm;
  52. } DrgAgentData;
  53.  
  54. /*
  55.  * Instance variable access macros
  56.  */
  57. #define _hwndComm (somThis->hwndComm)
  58.  
  59. /*
  60.  * Getdata macro
  61.  */
  62. #define DrgAgentGetData(somSelf) \
  63.     ((DrgAgentData *) \
  64.         SOM_DataResolve(somSelf, DrgAgentCClassData.instanceDataToken))
  65.  
  66. /*
  67.  * Trace/Debug macro
  68.  */
  69. #ifndef DrgAgentMethodDebug
  70. #define DrgAgentMethodDebug(c,m) SOMMethodDebug(c,m)
  71. #endif
  72.  
  73. /*
  74.  * Begin stuff that only goes in the primary file
  75.  */
  76. #ifdef DrgAgent_Class_Source
  77.  
  78. /*
  79.  * Current class macros for Instance and Meta classes.
  80.  */
  81. #undef SOMMeta
  82. #define SOMMeta M_DrgAgentCClassData.parentMtab
  83. #undef SOMInstance
  84. #define SOMInstance DrgAgentCClassData.parentMtab
  85.  
  86. #ifndef M_DrgAgent_Class_Source
  87. #define M_DrgAgent_Class_Source
  88. #endif    /* M_DrgAgent_Class_Source */
  89.  
  90. /*
  91.  * Generate the Apply Stubs.
  92.  */
  93.  
  94. /*
  95.  * Overridden method: wpDraggedOverObject
  96.  */
  97. #pragma linkage(Agent_wpDraggedOverObject, system)
  98. SOM_Scope MRESULT   SOMLINK Agent_wpDraggedOverObject(DrgAgent *somSelf,
  99.         WPObject *DraggedOverObject);
  100. #ifndef parent_wpDraggedOverObject
  101. static char *somMN_wpDraggedOverObject = "wpDraggedOverObject";
  102. static somId somId_wpDraggedOverObject = &somMN_wpDraggedOverObject;
  103. #define parent_wpDraggedOverObject(somSelf,DraggedOverObject) \
  104.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDraggedOverObject)) \
  105.      (somSelf,DraggedOverObject))
  106. #endif
  107. #define DrgAgentParent_wpDraggedOverObject parent_wpDraggedOverObject
  108.  
  109. /*
  110.  * Overridden method: wpDroppedOnObject
  111.  */
  112. #pragma linkage(Agent_wpDroppedOnObject, system)
  113. SOM_Scope BOOL   SOMLINK Agent_wpDroppedOnObject(DrgAgent *somSelf,
  114.         WPObject *DroppedOnObject);
  115. #ifndef parent_wpDroppedOnObject
  116. static char *somMN_wpDroppedOnObject = "wpDroppedOnObject";
  117. static somId somId_wpDroppedOnObject = &somMN_wpDroppedOnObject;
  118. #define parent_wpDroppedOnObject(somSelf,DroppedOnObject) \
  119.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDroppedOnObject)) \
  120.      (somSelf,DroppedOnObject))
  121. #endif
  122. #define DrgAgentParent_wpDroppedOnObject parent_wpDroppedOnObject
  123.  
  124. /*
  125.  * Temporary class data structure used only in class creation
  126.  */
  127. static somClassDataStructure DrgAgenttempClassData;
  128.  
  129. /*
  130.  * Initialize the class data structure
  131.  */
  132. struct DrgAgentClassDataStructure DrgAgentClassData = {(SOMAny *) NULL};
  133.  
  134. /*
  135.  * Define the C class data structure
  136.  */
  137. struct DrgAgentCClassDataStructure DrgAgentCClassData = {(somMethodTab *) NULL};
  138.  
  139. /*
  140.  * Routines to create the class object
  141.  */
  142.  
  143. /*
  144.  * Declare the Override Methods table.
  145.  */
  146. static somOverrideMethod_t DrgAgentOM[] = {
  147.     {    &somId_wpDraggedOverObject,
  148.          (somMethodProc *) Agent_wpDraggedOverObject    },
  149.     {    &somId_wpDroppedOnObject,
  150.          (somMethodProc *) Agent_wpDroppedOnObject    },
  151. };
  152.  
  153. static void DrgAgentsomInitializeClass ()
  154. {
  155.     int i;
  156.     somOverrideMethod_t *omp;
  157.  
  158. /*
  159.  * Override methods.
  160.  */
  161.     for (omp = DrgAgentOM, i = 0; i < 2; omp++, i++)
  162.         _somOverrideSMethod (DrgAgenttempClassData.classObject,
  163.             *(omp->methodId), omp->method);
  164.  
  165. }
  166.  
  167. #pragma linkage(DrgAgentsomCreateClass, system)
  168. static void SOMLINK DrgAgentsomCreateClass(SOMClass *pClsObj,
  169.                            SOMClass *mClsObj)
  170. {
  171.     DrgAgenttempClassData.classObject = _somNew (mClsObj);
  172.     _somInitClass (DrgAgenttempClassData.classObject,
  173.         "DrgAgent",
  174.         pClsObj,
  175.         sizeof(DrgAgentData),
  176.         DrgAgent_MaxNoMethods,
  177.         DrgAgent_MajorVersion,
  178.         DrgAgent_MinorVersion);
  179.     DrgAgentCClassData.instanceDataToken = 
  180.     _somGetInstanceToken(DrgAgenttempClassData.classObject);
  181.     DrgAgentsomInitializeClass();
  182.     DrgAgentCClassData.parentMtab =
  183.     _somGetPClsMtab(DrgAgenttempClassData.classObject);
  184.     _somSetClassData(DrgAgenttempClassData.classObject, (somClassDataStructure *)&DrgAgentClassData);
  185.     _somClassReady(DrgAgenttempClassData.classObject);
  186.     /* make newly created class object visible */
  187.     DrgAgentClassData.classObject = DrgAgenttempClassData.classObject;
  188. }
  189.  
  190. DrgAgent * SOMLINK DrgAgentNewClass (integer4 scemajorVersion,
  191.         integer4 sceminorVersion)
  192. {
  193.     SOMClass *pClsObj;
  194.     SOMClass *mClsObj;
  195.  
  196.     /* Check the version numbers */
  197.     if (((scemajorVersion != 0) && 
  198.          (scemajorVersion != DrgAgent_MajorVersion)) ||
  199.         ((sceminorVersion != 0) && 
  200.          (sceminorVersion > DrgAgent_MinorVersion))) {
  201.     somPrintf("DrgAgentNewClass: Error, bad version numbers.\n");
  202.     SOM_Error(SOMERROR_BadVersion);
  203.     }
  204.     /* Don't do anything if class object is already created. */
  205.     if (DrgAgentClassData.classObject != (SOMAny *) NULL)
  206.     return(DrgAgentClassData.classObject);
  207.  
  208.     /* Make sure the environment is initialized. */
  209.     if (SOMClassMgrObject == (SOMAny *) NULL) somEnvironmentNew();
  210.     if (SOMClassMgrObject == (SOMAny *) NULL)
  211.     SOM_Error(SOMERROR_CouldNotStartup);
  212.  
  213.     /* Get the parent class object. */
  214.     WPAbstractNewClass(1,2);    /* static reference */
  215.     pClsObj = _somFindClass(SOMClassMgrObject,
  216.         SOM_IdFromString("WPAbstract"), 1, 2);
  217.     if (pClsObj == (SOMClass *) NULL)
  218.     SOM_Error(SOMERROR_NoParentClass);
  219.  
  220.     /* Explicit metaclass, so get it */ 
  221.     M_DrgAgentNewClass(0,0);    /* static reference */
  222.     mClsObj = _somFindClass(SOMClassMgrObject,
  223.         SOM_IdFromString("M_DrgAgent"), 0, 0);
  224.     if (mClsObj == (SOMClass *) NULL)
  225.     SOM_Error(SOMERROR_NoMetaClass);
  226.  
  227.     somConstructClass(DrgAgentsomCreateClass, pClsObj, mClsObj,
  228.              &DrgAgenttempClassData);
  229.     return (DrgAgentClassData.classObject);
  230. }
  231.  
  232. #endif                   /* DrgAgent_Class_Source */
  233.  
  234. #endif       /* DrgAgent_ih */
  235.  
  236. /*
  237.  * This file was generated by the SOM Compiler.
  238.  * FileName: drgagent.ih.
  239.  * Generated using:
  240.  *     SOM Precompiler spc: 1.22
  241.  *     SOM Emitter emitih: 1.59
  242.  */
  243.  
  244. #ifndef DrgAgent_mih
  245. #define DrgAgent_mih
  246.  
  247.  
  248. /*
  249.  * Set the scope of methods functions
  250.  */
  251. #ifndef SOM_Scope
  252. #ifdef __cplusplus
  253. #define SOM_Scope extern "C"
  254. #else
  255. #define SOM_Scope extern
  256. #endif
  257. #endif
  258.  
  259. #ifndef SOM_CurrentClass
  260. #define SOM_CurrentClass M_DrgAgentCClassData.parentMtab
  261. #endif
  262.  
  263. #define M_DrgAgent_MaxNoMethods 0
  264.  
  265. /*
  266.  * Instance data
  267.  */
  268. typedef void M_DrgAgentData;
  269.  
  270. /*
  271.  * Trace/Debug macro
  272.  */
  273. #ifndef M_DrgAgentMethodDebug
  274. #define M_DrgAgentMethodDebug(c,m) SOMMethodDebug(c,m)
  275. #endif
  276.  
  277. /*
  278.  * Begin stuff that only goes in the primary file
  279.  */
  280. #ifdef M_DrgAgent_Class_Source
  281.  
  282. /*
  283.  * Current class macros for Instance and Meta classes.
  284.  */
  285.  
  286. /*
  287.  * Generate the Apply Stubs.
  288.  */
  289.  
  290. /*
  291.  * Overridden method: wpclsQueryIconData
  292.  */
  293. #pragma linkage(AgentCls_wpclsQueryIconData, system)
  294. SOM_Scope ULONG   SOMLINK AgentCls_wpclsQueryIconData(M_DrgAgent *somSelf,
  295.         PICONINFO pIconInfo);
  296. #ifndef parent_wpclsQueryIconData
  297. static char *somMN_wpclsQueryIconData = "wpclsQueryIconData";
  298. static somId somId_wpclsQueryIconData = &somMN_wpclsQueryIconData;
  299. #define parent_wpclsQueryIconData(somSelf,pIconInfo) \
  300.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryIconData)) \
  301.      (somSelf,pIconInfo))
  302. #endif
  303. #define M_DrgAgentParent_wpclsQueryIconData parent_wpclsQueryIconData
  304.  
  305. /*
  306.  * Overridden method: wpclsQueryStyle
  307.  */
  308. #pragma linkage(AgentCls_wpclsQueryStyle, system)
  309. SOM_Scope ULONG   SOMLINK AgentCls_wpclsQueryStyle(M_DrgAgent *somSelf);
  310. #ifndef parent_wpclsQueryStyle
  311. static char *somMN_wpclsQueryStyle = "wpclsQueryStyle";
  312. static somId somId_wpclsQueryStyle = &somMN_wpclsQueryStyle;
  313. #define parent_wpclsQueryStyle(somSelf) \
  314.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryStyle)) \
  315.      (somSelf))
  316. #endif
  317. #define M_DrgAgentParent_wpclsQueryStyle parent_wpclsQueryStyle
  318.  
  319. /*
  320.  * Overridden method: wpclsQueryTitle
  321.  */
  322. #pragma linkage(AgentCls_wpclsQueryTitle, system)
  323. SOM_Scope PSZ   SOMLINK AgentCls_wpclsQueryTitle(M_DrgAgent *somSelf);
  324. #ifndef parent_wpclsQueryTitle
  325. static char *somMN_wpclsQueryTitle = "wpclsQueryTitle";
  326. static somId somId_wpclsQueryTitle = &somMN_wpclsQueryTitle;
  327. #define parent_wpclsQueryTitle(somSelf) \
  328.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryTitle)) \
  329.      (somSelf))
  330. #endif
  331. #define M_DrgAgentParent_wpclsQueryTitle parent_wpclsQueryTitle
  332.  
  333. /*
  334.  * Overridden method: wpclsInitData
  335.  */
  336. #pragma linkage(AgentCls_wpclsInitData, system)
  337. SOM_Scope void   SOMLINK AgentCls_wpclsInitData(M_DrgAgent *somSelf);
  338. #ifndef parent_wpclsInitData
  339. static char *somMN_wpclsInitData = "wpclsInitData";
  340. static somId somId_wpclsInitData = &somMN_wpclsInitData;
  341. #define parent_wpclsInitData(somSelf) \
  342.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsInitData)) \
  343.      (somSelf))
  344. #endif
  345. #define M_DrgAgentParent_wpclsInitData parent_wpclsInitData
  346.  
  347. /*
  348.  * Overridden method: wpclsUnInitData
  349.  */
  350. #pragma linkage(AgentCls_wpclsUnInitData, system)
  351. SOM_Scope void   SOMLINK AgentCls_wpclsUnInitData(M_DrgAgent *somSelf);
  352. #ifndef parent_wpclsUnInitData
  353. static char *somMN_wpclsUnInitData = "wpclsUnInitData";
  354. static somId somId_wpclsUnInitData = &somMN_wpclsUnInitData;
  355. #define parent_wpclsUnInitData(somSelf) \
  356.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsUnInitData)) \
  357.      (somSelf))
  358. #endif
  359. #define M_DrgAgentParent_wpclsUnInitData parent_wpclsUnInitData
  360.  
  361. /*
  362.  * Temporary class data structure used only in class creation
  363.  */
  364. static somClassDataStructure M_DrgAgenttempClassData;
  365.  
  366. /*
  367.  * Initialize the class data structure
  368.  */
  369. struct M_DrgAgentClassDataStructure M_DrgAgentClassData = {(SOMAny *) NULL};
  370.  
  371. /*
  372.  * Define the C class data structure
  373.  */
  374. struct M_DrgAgentCClassDataStructure M_DrgAgentCClassData = {(somMethodTab *) NULL};
  375.  
  376. /*
  377.  * Routines to create the class object
  378.  */
  379.  
  380. /*
  381.  * Declare the Override Methods table.
  382.  */
  383. static somOverrideMethod_t M_DrgAgentOM[] = {
  384.     {    &somId_wpclsQueryIconData,
  385.          (somMethodProc *) AgentCls_wpclsQueryIconData    },
  386.     {    &somId_wpclsQueryStyle,
  387.          (somMethodProc *) AgentCls_wpclsQueryStyle    },
  388.     {    &somId_wpclsQueryTitle,
  389.          (somMethodProc *) AgentCls_wpclsQueryTitle    },
  390.     {    &somId_wpclsInitData,
  391.          (somMethodProc *) AgentCls_wpclsInitData    },
  392.     {    &somId_wpclsUnInitData,
  393.          (somMethodProc *) AgentCls_wpclsUnInitData    },
  394. };
  395.  
  396. static void M_DrgAgentsomInitializeClass ()
  397. {
  398.     int i;
  399.     somOverrideMethod_t *omp;
  400.  
  401. /*
  402.  * Override methods.
  403.  */
  404.     for (omp = M_DrgAgentOM, i = 0; i < 5; omp++, i++)
  405.         _somOverrideSMethod (M_DrgAgenttempClassData.classObject,
  406.             *(omp->methodId), omp->method);
  407.  
  408. }
  409.  
  410. #pragma linkage(M_DrgAgentsomCreateClass, system)
  411. static void SOMLINK M_DrgAgentsomCreateClass(SOMClass *pClsObj,
  412.                            SOMClass *mClsObj)
  413. {
  414.     M_DrgAgenttempClassData.classObject = _somNew (mClsObj);
  415.     _somInitClass (M_DrgAgenttempClassData.classObject,
  416.         "M_DrgAgent",
  417.         pClsObj,
  418.         0,
  419.         M_DrgAgent_MaxNoMethods,
  420.         M_DrgAgent_MajorVersion,
  421.         M_DrgAgent_MinorVersion);
  422.     M_DrgAgentCClassData.instanceDataToken = 
  423.     _somGetInstanceToken(M_DrgAgenttempClassData.classObject);
  424.     M_DrgAgentsomInitializeClass();
  425.     M_DrgAgentCClassData.parentMtab =
  426.     _somGetPClsMtab(M_DrgAgenttempClassData.classObject);
  427.     _somSetClassData(M_DrgAgenttempClassData.classObject, (somClassDataStructure *)&M_DrgAgentClassData);
  428.     _somClassReady(M_DrgAgenttempClassData.classObject);
  429.     /* make newly created class object visible */
  430.     M_DrgAgentClassData.classObject = M_DrgAgenttempClassData.classObject;
  431. }
  432.  
  433. M_DrgAgent * SOMLINK M_DrgAgentNewClass (integer4 scemajorVersion,
  434.         integer4 sceminorVersion)
  435. {
  436.     SOMClass *pClsObj;
  437.     SOMClass *mClsObj;
  438.  
  439.     /* Check the version numbers */
  440.     if (((scemajorVersion != 0) && 
  441.          (scemajorVersion != M_DrgAgent_MajorVersion)) ||
  442.         ((sceminorVersion != 0) && 
  443.          (sceminorVersion > M_DrgAgent_MinorVersion))) {
  444.     somPrintf("M_DrgAgentNewClass: Error, bad version numbers.\n");
  445.     SOM_Error(SOMERROR_BadVersion);
  446.     }
  447.     /* Don't do anything if class object is already created. */
  448.     if (M_DrgAgentClassData.classObject != (SOMAny *) NULL)
  449.     return(M_DrgAgentClassData.classObject);
  450.  
  451.     /* Make sure the environment is initialized. */
  452.     if (SOMClassMgrObject == (SOMAny *) NULL) somEnvironmentNew();
  453.     if (SOMClassMgrObject == (SOMAny *) NULL)
  454.     SOM_Error(SOMERROR_CouldNotStartup);
  455.  
  456.     /* Get the parent class object. */
  457.     M_WPAbstractNewClass(1,2);    /* static reference */
  458.     pClsObj = _somFindClass(SOMClassMgrObject,
  459.         SOM_IdFromString("M_WPAbstract"), 1, 2);
  460.     if (pClsObj == (SOMClass *) NULL)
  461.     SOM_Error(SOMERROR_NoParentClass);
  462.  
  463.     /* Use parent's metaclass */ 
  464.     mClsObj = SOM_GetClass(pClsObj);
  465.  
  466.     somConstructClass(M_DrgAgentsomCreateClass, pClsObj, mClsObj,
  467.              &M_DrgAgenttempClassData);
  468.     return (M_DrgAgentClassData.classObject);
  469. }
  470.  
  471. #endif                   /* M_DrgAgent_Class_Source */
  472.  
  473. #endif       /* DrgAgent_ih */
  474.