Jump to content

Implementing Classes in SOM

From EDM2
Revision as of 03:37, 28 August 2020 by Martini (talk | contribs)
System Object Model Programming Guide
  1. About This Book
  2. Introduction to the SOMobjects Developer Toolkit
  3. Tutorial for Implementing SOM Classes
  4. Using SOM Classes in Client Programs
  5. SOM IDL and the SOM Compiler
  6. Implementing Classes in SOM
  7. Distributed SOM (DSOM)
  8. The SOM Interface Repository Framework
  9. The Metaclass Framework
  10. The Event Management Framework
  11. SOMobjects Error Codes
  12. SOM IDL Language Grammar
  13. Implementing Sockets Subclasses
  14. Glossary

Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation

The SOM Run-Time Environment

Run-time environment initialization

SOMObject class object

SOMClass class object

SOMClassMgr class object and SOMClassMgrObject

Parent class vs. metaclass

SOM-derived metaclasses

Inheritance

Method Resolution

Offset resolution

Name-lookup resolution

Dispatch-function resolution

Customizing Method Resolution

The four kinds of SOM methods

           Static methods
           Nonstatic methods
           Dynamic methods
           Direct-call procedures 

Implementing SOM Classes

The implementation template

Stub procedures for methods

Extending the implementation template

Accessing internal instance variables

Making parent method calls

Converting C++ classes to SOM classes

Running incremental updates of the implementation template file

Considerations to ensure that updates work

If you change the parents of a class...

Compiling and linking

Initializing and Uninitializing Objects

       Initializer methods
           Declaring new initializers in SOM IDL
           Considerations re: 'somInit' initialization from earlier SOM releases
           Implementing initializers
           Selecting non-default ancestor initializer calls
           Using initializers when creating new objects 
       Uninitialization
           Using 'somDestruct' 
       A complete example
           Implementation code 
       Customizing the initialization of class objects 

Creating a SOM Class Library

General guidelines for class library designers

Types of class libraries

Building export files

Specifying the initialization function

           Using Windows class libraries 

Creating the import library

Customizing Memory Management

Customizing Class Loading and Unloading

Customizing class initialization

Customizing DLL loading

Customizing DLL unloading

Customizing Character Output

Customizing Error Handling

Customizing Mutual Exclusion Services (Thread Safety)

Customizing Multi-threading Services