home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / LOCKFOLD.ZIP / lfolder.ih < prev    next >
Text File  |  1992-06-29  |  6KB  |  207 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: lfolder.ih.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitih: 1.59
  8.  */
  9.  
  10. #ifndef lfolder_ih
  11. #define lfolder_ih
  12.  
  13.  
  14. /*
  15.  * Passthru lines: File: "C.ih", "before"
  16.  */
  17. #include <lfolderd.h>
  18. #define INCL_WINWORKPLACE
  19. #define INCL_BASE
  20. #include <os2.h>
  21. #include <string.h>
  22.  
  23. #include "lfolder.h"
  24.  
  25. /*
  26.  * Set the scope of methods functions
  27.  */
  28. #ifndef SOM_Scope
  29. #define SOM_Scope static
  30. #endif
  31.  
  32. #ifndef SOM_CurrentClass
  33. #define SOM_CurrentClass WPSLockedFolderCClassData.parentMtab
  34. #endif
  35.  
  36. #define WPSLockedFolder_MaxNoMethods 0
  37.  
  38. /*
  39.  * Instance data
  40.  */
  41. typedef struct {
  42.     char szPassword[20];
  43. } WPSLockedFolderData;
  44.  
  45. /*
  46.  * Instance variable access macros
  47.  */
  48. #define _szPassword (somThis->szPassword)
  49.  
  50. /*
  51.  * Getdata macro
  52.  */
  53. #define WPSLockedFolderGetData(somSelf) \
  54.     ((WPSLockedFolderData *) \
  55.         SOM_DataResolve(somSelf, WPSLockedFolderCClassData.instanceDataToken))
  56.  
  57. /*
  58.  * Trace/Debug macro
  59.  */
  60. #ifndef WPSLockedFolderMethodDebug
  61. #define WPSLockedFolderMethodDebug(c,m) SOMMethodDebug(c,m)
  62. #endif
  63.  
  64. /*
  65.  * Begin stuff that only goes in the primary file
  66.  */
  67. #ifdef WPSLockedFolder_Class_Source
  68.  
  69. /*
  70.  * Current class macros for Instance and Meta classes.
  71.  */
  72. #undef SOMMeta
  73. #define SOMMeta M_WPSLockedFolderCClassData.parentMtab
  74. #undef SOMInstance
  75. #define SOMInstance WPSLockedFolderCClassData.parentMtab
  76.  
  77. #ifndef M_WPSLockedFolder_Class_Source
  78. #define M_WPSLockedFolder_Class_Source
  79. #endif    /* M_WPSLockedFolder_Class_Source */
  80.  
  81. /*
  82.  * Generate the Apply Stubs.
  83.  */
  84.  
  85. /*
  86.  * Overridden method: wpOpen
  87.  */
  88. #pragma linkage(wpOpen, system)
  89. SOM_Scope HWND   SOMLINK wpOpen(WPSLockedFolder *somSelf,
  90.         HWND hwndCnr,
  91.         ULONG ulView,
  92.         ULONG param);
  93. #ifndef parent_wpOpen
  94. static char *somMN_wpOpen = "wpOpen";
  95. static somId somId_wpOpen = &somMN_wpOpen;
  96. #define parent_wpOpen(somSelf,hwndCnr,ulView,param) \
  97.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpOpen)) \
  98.      (somSelf,hwndCnr,ulView,param))
  99. #endif
  100. #define WPSLockedFolderParent_wpOpen parent_wpOpen
  101.  
  102. /*
  103.  * Temporary class data structure used only in class creation
  104.  */
  105. static somClassDataStructure WPSLockedFoldertempClassData;
  106.  
  107. /*
  108.  * Initialize the class data structure
  109.  */
  110. struct WPSLockedFolderClassDataStructure WPSLockedFolderClassData = {(SOMAny *) NULL};
  111.  
  112. /*
  113.  * Define the C class data structure
  114.  */
  115. struct WPSLockedFolderCClassDataStructure WPSLockedFolderCClassData = {(somMethodTab *) NULL};
  116.  
  117. /*
  118.  * Routines to create the class object
  119.  */
  120.  
  121. /*
  122.  * Declare the Override Methods table.
  123.  */
  124. static somOverrideMethod_t WPSLockedFolderOM[] = {
  125.     {    &somId_wpOpen,
  126.          (somMethodProc *) wpOpen    },
  127. };
  128.  
  129. static void WPSLockedFoldersomInitializeClass ()
  130. {
  131.     int i;
  132.     somOverrideMethod_t *omp;
  133.  
  134. /*
  135.  * Override methods.
  136.  */
  137.     for (omp = WPSLockedFolderOM, i = 0; i < 1; omp++, i++)
  138.         _somOverrideSMethod (WPSLockedFoldertempClassData.classObject,
  139.             *(omp->methodId), omp->method);
  140.  
  141. }
  142.  
  143. #pragma linkage(WPSLockedFoldersomCreateClass, system)
  144. static void SOMLINK WPSLockedFoldersomCreateClass(SOMClass *pClsObj,
  145.                            SOMClass *mClsObj)
  146. {
  147.     WPSLockedFoldertempClassData.classObject = _somNew (mClsObj);
  148.     _somInitClass (WPSLockedFoldertempClassData.classObject,
  149.         "WPSLockedFolder",
  150.         pClsObj,
  151.         sizeof(WPSLockedFolderData),
  152.         WPSLockedFolder_MaxNoMethods,
  153.         WPSLockedFolder_MajorVersion,
  154.         WPSLockedFolder_MinorVersion);
  155.     WPSLockedFolderCClassData.instanceDataToken = 
  156.     _somGetInstanceToken(WPSLockedFoldertempClassData.classObject);
  157.     WPSLockedFoldersomInitializeClass();
  158.     WPSLockedFolderCClassData.parentMtab =
  159.     _somGetPClsMtab(WPSLockedFoldertempClassData.classObject);
  160.     _somSetClassData(WPSLockedFoldertempClassData.classObject, (somClassDataStructure *)&WPSLockedFolderClassData);
  161.     _somClassReady(WPSLockedFoldertempClassData.classObject);
  162.     /* make newly created class object visible */
  163.     WPSLockedFolderClassData.classObject = WPSLockedFoldertempClassData.classObject;
  164. }
  165.  
  166. WPSLockedFolder * SOMLINK WPSLockedFolderNewClass (integer4 scemajorVersion,
  167.         integer4 sceminorVersion)
  168. {
  169.     SOMClass *pClsObj;
  170.     SOMClass *mClsObj;
  171.  
  172.     /* Check the version numbers */
  173.     if (((scemajorVersion != 0) && 
  174.          (scemajorVersion != WPSLockedFolder_MajorVersion)) ||
  175.         ((sceminorVersion != 0) && 
  176.          (sceminorVersion > WPSLockedFolder_MinorVersion))) {
  177.     somPrintf("WPSLockedFolderNewClass: Error, bad version numbers.\n");
  178.     SOM_Error(SOMERROR_BadVersion);
  179.     }
  180.     /* Don't do anything if class object is already created. */
  181.     if (WPSLockedFolderClassData.classObject != (SOMAny *) NULL)
  182.     return(WPSLockedFolderClassData.classObject);
  183.  
  184.     /* Make sure the environment is initialized. */
  185.     if (SOMClassMgrObject == (SOMAny *) NULL) somEnvironmentNew();
  186.     if (SOMClassMgrObject == (SOMAny *) NULL)
  187.     SOM_Error(SOMERROR_CouldNotStartup);
  188.  
  189.     /* Get the parent class object. */
  190.     WPFolderNewClass(1,2);    /* static reference */
  191.     pClsObj = _somFindClass(SOMClassMgrObject,
  192.         SOM_IdFromString("WPFolder"), 1, 2);
  193.     if (pClsObj == (SOMClass *) NULL)
  194.     SOM_Error(SOMERROR_NoParentClass);
  195.  
  196.     /* Use parent's metaclass */ 
  197.     mClsObj = SOM_GetClass(pClsObj);
  198.  
  199.     somConstructClass(WPSLockedFoldersomCreateClass, pClsObj, mClsObj,
  200.              &WPSLockedFoldertempClassData);
  201.     return (WPSLockedFolderClassData.classObject);
  202. }
  203.  
  204. #endif                   /* WPSLockedFolder_Class_Source */
  205.  
  206. #endif       /* lfolder_ih */
  207.