home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sompar.zip / SOM / PART.H < prev    next >
C/C++ Source or Header  |  1994-01-06  |  8KB  |  281 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: part.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.2
  7.  *     SOM Emitter emith: 2.7
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Project: Digitalk Parts like Toolbar and SOMObjects Containers Demo
  13.  *  File:    part.idl
  14.  *  Author:  Stewart Hyde
  15.  *  Created: Dec   18, 1993
  16.  *  Updated: Dec   18, 1993
  17.  * 
  18.  *  Description:
  19.  * 
  20.  */
  21.  
  22.  
  23. #ifndef SOM_Part_h
  24. #define SOM_Part_h
  25.  
  26.  
  27. /*
  28.  * The SOM_STRICT_IDL macro means that we can ignore stars
  29.  * in our declarations of objects.
  30.  */
  31. #define SOM_STRICT_IDL 1
  32.  
  33.  
  34. #include <som.h>
  35.  
  36. /*
  37.  * -- This emitter treats Method Tokens as Thunks by default
  38.  * -- Use the sc modifier "nothunks" to change this default
  39.  */
  40. #undef somresolve_
  41. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  42.  
  43. /*
  44.  * Define the class name as an object type
  45.  */
  46. #ifndef Part
  47. #define Part SOMObject
  48. #endif
  49. #include <somobj.h>
  50.  
  51. /*
  52.  * Start of user-defined types:
  53.  */
  54. #ifndef SOMClass
  55.     #define SOMClass SOMObject
  56. #endif /* SOMClass */
  57. #define Part_stackSize 100 /* 100 */
  58. #define Part_setSize 4 /* 4 */
  59.  
  60. #ifndef SOM_DONT_USE_SHORT_NAMES
  61. #ifndef SOMTGD_stackSize
  62.     #ifdef stackSize
  63.         #undef stackSize
  64.         #define SOMTGD_stackSize 1
  65.     #else
  66.         #define stackSize Part_stackSize
  67.     #endif /* stackSize */
  68. #endif /* SOMTGD_stackSize */
  69. #ifndef SOMTGD_setSize
  70.     #ifdef setSize
  71.         #undef setSize
  72.         #define SOMTGD_setSize 1
  73.     #else
  74.         #define setSize Part_setSize
  75.     #endif /* setSize */
  76. #endif /* SOMTGD_setSize */
  77. #endif /* SOM_DONT_USE_SHORT_NAMES */
  78.  
  79. /*
  80.  * End of user-defined types.
  81.  */
  82.  
  83. #define Part_MajorVersion 0
  84. #define Part_MinorVersion 0
  85.  
  86. /*
  87.  * External name shortening if required
  88.  */
  89. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  90. #define PartNewClass c
  91. #pragma linkage(c, system)
  92. #define PartClassData d
  93. #define PartCClassData x
  94. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  95. /*--------------Migration------------*/
  96. #define Part_classObj PartClassData.classObject
  97. #define _Part Part_classObj
  98.  
  99. /*
  100.  * Declare the class creation procedure
  101.  */
  102. SOMEXTERN SOMClass  SOMLINK PartNewClass(integer4 somtmajorVersion,
  103.         integer4 somtminorVersion);
  104. #pragma linkage(PartNewClass, system)
  105.  
  106. /*
  107.  * Declare the class data structure
  108.  */
  109. SOMEXTERN struct PartClassDataStructure {
  110.     SOMAny *classObject;
  111.     somMToken Search;
  112.     somMToken Add;
  113.     somMToken Update;
  114.     somMToken Size;
  115.     somMToken Debug;
  116. } PartClassData;
  117.  
  118. /*
  119.  * Declare the C specific class data structure
  120.  */
  121. SOMEXTERN struct PartCClassDataStructure {
  122.     somMethodTabs parentMtab;
  123.     somDToken instanceDataToken;
  124. } PartCClassData;
  125.  
  126. /*
  127.  * New and Renew macros for Part
  128.  */
  129. #define PartNew() \
  130.     ( PartClassData.classObject \
  131.         ? (_somNew(PartClassData.classObject)) \
  132.         : ( PartNewClass(Part_MajorVersion, Part_MinorVersion), (_somNew(PartClassData.classObject)) ) )
  133. #define PartRenew(buf) \
  134.     ( _somRenew(PartClassData.classObject, buf) )
  135.  
  136. /*
  137.  * Override method: somInit
  138.  */
  139. #define Part_somInit(somSelf) \
  140.     SOMObject_somInit(somSelf)
  141.  
  142. /*
  143.  * New Method: Search
  144.  */
  145. typedef boolean   SOMLINK somTP_Part_Search(Part somSelf, Environment *ev,
  146.         long lSet,
  147.         long lAction,
  148.         long* ID,
  149.         long* Count);
  150. #pragma linkage(somTP_Part_Search, system)
  151. typedef somTP_Part_Search *somTD_Part_Search;
  152. #define somMD_Part_Search "::Part::Search"
  153. #define Part_Search(somSelf,ev,lSet,lAction,ID,Count) \
  154.     (SOM_Resolve(somSelf, Part, Search) \
  155.     (somSelf,ev,lSet,lAction,ID,Count))
  156. #ifndef SOMGD_Search
  157.     #if (defined(_Search) || defined(__Search))
  158.         #undef _Search
  159.         #undef __Search
  160.         #define SOMGD_Search 1
  161.     #else
  162.         #define _Search Part_Search
  163.     #endif /* _Search */
  164. #endif /* SOMGD_Search */
  165.  
  166. /*
  167.  * New Method: Add
  168.  */
  169. typedef boolean   SOMLINK somTP_Part_Add(Part somSelf, Environment *ev,
  170.         long lSet,
  171.         long LAction,
  172.         long* ID,
  173.         long* Count);
  174. #pragma linkage(somTP_Part_Add, system)
  175. typedef somTP_Part_Add *somTD_Part_Add;
  176. #define somMD_Part_Add "::Part::Add"
  177. #define Part_Add(somSelf,ev,lSet,LAction,ID,Count) \
  178.     (SOM_Resolve(somSelf, Part, Add) \
  179.     (somSelf,ev,lSet,LAction,ID,Count))
  180. #ifndef SOMGD_Add
  181.     #if (defined(_Add) || defined(__Add))
  182.         #undef _Add
  183.         #undef __Add
  184.         #define SOMGD_Add 1
  185.     #else
  186.         #define _Add Part_Add
  187.     #endif /* _Add */
  188. #endif /* SOMGD_Add */
  189.  
  190. /*
  191.  * New Method: Update
  192.  */
  193. typedef boolean   SOMLINK somTP_Part_Update(Part somSelf, Environment *ev,
  194.         long lSet,
  195.         long LAction,
  196.         long* ID,
  197.         long* Count);
  198. #pragma linkage(somTP_Part_Update, system)
  199. typedef somTP_Part_Update *somTD_Part_Update;
  200. #define somMD_Part_Update "::Part::Update"
  201. #define Part_Update(somSelf,ev,lSet,LAction,ID,Count) \
  202.     (SOM_Resolve(somSelf, Part, Update) \
  203.     (somSelf,ev,lSet,LAction,ID,Count))
  204. #ifndef SOMGD_Update
  205.     #if (defined(_Update) || defined(__Update))
  206.         #undef _Update
  207.         #undef __Update
  208.         #define SOMGD_Update 1
  209.     #else
  210.         #define _Update Part_Update
  211.     #endif /* _Update */
  212. #endif /* SOMGD_Update */
  213.  
  214. /*
  215.  * New Method: Debug
  216.  */
  217. typedef boolean   SOMLINK somTP_Part_Debug(Part somSelf, Environment *ev,
  218.         boolean NewState);
  219. #pragma linkage(somTP_Part_Debug, system)
  220. typedef somTP_Part_Debug *somTD_Part_Debug;
  221. #define somMD_Part_Debug "::Part::Debug"
  222. #define Part_Debug(somSelf,ev,NewState) \
  223.     (SOM_Resolve(somSelf, Part, Debug) \
  224.     (somSelf,ev,NewState))
  225. #ifndef SOMGD_Debug
  226.     #if (defined(_Debug) || defined(__Debug))
  227.         #undef _Debug
  228.         #undef __Debug
  229.         #define SOMGD_Debug 1
  230.     #else
  231.         #define _Debug Part_Debug
  232.     #endif /* _Debug */
  233. #endif /* SOMGD_Debug */
  234.  
  235. /*
  236.  * New Method: Size
  237.  */
  238. typedef long   SOMLINK somTP_Part_Size(Part somSelf, Environment *ev);
  239. #pragma linkage(somTP_Part_Size, system)
  240. typedef somTP_Part_Size *somTD_Part_Size;
  241. #define somMD_Part_Size "::Part::Size"
  242. #define Part_Size(somSelf,ev) \
  243.     (SOM_Resolve(somSelf, Part, Size) \
  244.     (somSelf,ev))
  245. #ifndef SOMGD_Size
  246.     #if (defined(_Size) || defined(__Size))
  247.         #undef _Size
  248.         #undef __Size
  249.         #define SOMGD_Size 1
  250.     #else
  251.         #define _Size Part_Size
  252.     #endif /* _Size */
  253. #endif /* SOMGD_Size */
  254. #ifndef SOM_DONT_USE_INHERITED_MACROS
  255. #define Part_somFree SOMObject_somFree
  256. #define Part_somDefaultInit SOMObject_somDefaultInit
  257. #define Part_somDestruct SOMObject_somDestruct
  258. #define Part_somUninit SOMObject_somUninit
  259. #define Part_somGetClass SOMObject_somGetClass
  260. #define Part_somGetClassName SOMObject_somGetClassName
  261. #define Part_somGetSize SOMObject_somGetSize
  262. #define Part_somIsA SOMObject_somIsA
  263. #define Part_somIsInstanceOf SOMObject_somIsInstanceOf
  264. #define Part_somRespondsTo SOMObject_somRespondsTo
  265. #define Part_somComputeForwardVisitMask SOMObject_somComputeForwardVisitMask
  266. #define Part_somComputeReverseVisitMask SOMObject_somComputeReverseVisitMask
  267. #define Part_somDispatchV SOMObject_somDispatchV
  268. #define Part_somDispatchL SOMObject_somDispatchL
  269. #define Part_somDispatchA SOMObject_somDispatchA
  270. #define Part_somDispatchD SOMObject_somDispatchD
  271. #define Part_somDispatch SOMObject_somDispatch
  272. #define Part_somClassDispatch SOMObject_somClassDispatch
  273. #define Part_somCastObj SOMObject_somCastObj
  274. #define Part_somResetObj SOMObject_somResetObj
  275. #define Part_somPrintSelf SOMObject_somPrintSelf
  276. #define Part_somDumpSelf SOMObject_somDumpSelf
  277. #define Part_somDumpSelfInt SOMObject_somDumpSelfInt
  278. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  279.  
  280. #endif       /* SOM_Part_h */
  281.