en:docs:tk:som

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:docs:tk:som [2024/11/09 13:01] prokusheven:docs:tk:som [2024/11/12 07:23] (current) prokushev
Line 5: Line 5:
 Quick history: Quick history:
  
-SOM 1.0 - came out with OS/2 2.0 and used to build WorkPlaceShell+  * SOM 1.0 - came out with OS/2 2.0 and used to build WorkPlaceShell. It includes only SOMObject, SOMClass and SOMClsMgr classes. 
 +  * SOM 2.0 - aligned with CORBA 1.1, used CORBA IDL and added DSOM. SOM Compiler was reworked and Emitter Framework was added.
  
-SOM 2.0 - aligned with CORBA 1.1used CORBA IDL and added DSOM.+    C++ bindings that allow you to implement and invoke your classes in C++. 
 +    The Distributed, Persistence, Replication and Emitter Frameworks. 
 +    CORBA complianceSOM classes are now described in CORBA's Interface Definition Language (IDL) instead of OIDL. 
 +    Support for multiple inheritance. 
 +    Interface Repository for run-time typing information.
  
-SOM adopted by Apple to move OpenDoc from C++ to a language neutral framework. +  * SOM 2.1  
- +  * SOM adopted by Apple to move OpenDoc from C++ to a language neutral framework. 
-SOM 3.0 - added IIOP support, referencing counting for SOMObject and more CORBA frameworks+  SOM 3.0 - added IIOP support, referencing counting for SOMObject and more CORBA frameworks
  
 SOM was available on OS/2 2.0 upwards, Windows NT, AIX 4, OS/390 and OS/400. SOM was available on OS/2 2.0 upwards, Windows NT, AIX 4, OS/390 and OS/400.
Line 22: Line 27:
  
   - IDL compiler is a C++ program rather than a SOM based framework. This solves a chicken-and-egg problem.   - IDL compiler is a C++ program rather than a SOM based framework. This solves a chicken-and-egg problem.
- 
   - Assembler is not used for thunking, somResolve() uses macros and apply/dispatch stubs.   - Assembler is not used for thunking, somResolve() uses macros and apply/dispatch stubs.
- 
   - Some components are just hollow stubs, such as SOMP.   - Some components are just hollow stubs, such as SOMP.
- 
   - Some components are not fully functional, eg somossvr.   - Some components are not fully functional, eg somossvr.
- 
   - You can have both C and C++ header files generated. The choice of 'somcorba' or 'somstars' comes from managing the 'SOMSTAR' macro.   - You can have both C and C++ header files generated. The choice of 'somcorba' or 'somstars' comes from managing the 'SOMSTAR' macro.
 +  - No security functions implemented.
  
-  - No security functions implemented.+===== Changes ===== 
 + 
 +Changes from original somFree compiler:
  
 +  * Added and mostly documented SOM Compiler library SOMC. Most of internal structures now also present as in old IBM SOM 2.1 Toolkit. SOMLINK style functions for most of SOM Compiler library added (NT version used optlink for some functions). somtShowEntry function outputs more info. Undocumented SOMTTypes now documented.
 +  * SOM Compiler now supports emitters too.
 +  * New emitters:
 +    * LNK - Open Watcom WLink support.
 +    * DUMP - displays structures, available to emitter.
 +    * PAS - Pascal client support.
 +    * IPAS - Pascal implementation classes support.
 +  * Emitters now IBM SOM 2.1 and IBM SOM 3.0 compatible without recompilation.
 +  * somFree Compiler supports IBM SOM 2.1, IBM SOM 3.0, and somFree 1.0 emitters.
 +  * SOMIPC now supports IDL 4.2 specification.
 +  * CORBA C Language Mapping Specification 1.0 now supported by default instead of CORBA 1.1 C Language mapping.
 +  * Added support of OIDL files