Tangram specific DST based IDL to Smalltalk Generator Help
TnIDLSmalltalkGenerator V.1.32 alpha (in Application Version: 3.48) (or higher)
Platform: ParcPlace Digitalk VisualWorks for Smalltalk-80 Release 2.5.1 with Distributed Smalltalk Release 5.5., ENVY Release 3.01.
This tool is under construction, please report bugs to tko.
-------------------------------
Contents:
Description
Input
Output
Example
Settings
Target application (input field)
Top interface superclass
Top CO superclass
Struct superclass
Union superclass
set interface inheritance policy
[set module name abbreviations]
[set interface superclass exclusion list]
[set interface - CO list]
[set CO ODL name list]
set class name project prefix
set automatic CO classname prefix
Options
[set file out comments]
[set file out log]
[set Transcript log]
set verbose
References
ISG generates Smalltalk code (classes and methods) for applications of the TINA Platform framework using IDL (Interface Definition Language) files as input.
This generator reuses methods of IDL2SSK (for details see IDL to Smalltalk Skeleton - Generator V. 3.6) with a GUI enabling the user to select single IDL elements.
ISG supports interface inheritance and interactive superclass definition.
IDL (as DSTRepository method), CORBA 2.0 compatible (see [1]).
Generated code
Class protocol method
-------------------------------------------------------------------------
Struct instance:
accessing setting/getting of dictionary values
including legal value template as comment
Union instance:
testing testing of discriminator (case) parameters
TnXYZModule class:
exception signals exception signal access
exceptions exception raising
enumerations constants access
defaults prefixes access
Interface instance:
accessing delegating to core
operations delegating to core
Core object class:
defaults initialInterfaceType
requiredInterfaceTypes
standardInterfaceTypes
supportedInterfaceTypes
ODLName
exception signals exception signal access
exceptions exception raising
enumerations constants access
instance:
accessing setting/getting of attributes
operations method skeletons/stubs
including exception templates as comment
in/out parameter templates as comment
ENVY-Application: Tn_Ass_Generated V. 1.5 (Generated in July 1997)
IDL: Modules (DSTRepository methods): Ass, Ret_RP, TINA_RP_commonTypes, CosTrading, TINA_RP_accessCommonTypes,
TINA_RP_accessInitialTypes,
TINA_RP_streamTypes.
Size (uncommented IDL) approx. 35 k.
Smalltalk:
Classes and method skeleton code of Version 1.5 are completely generated.
Size approx. 170 k.
In November/December 1997 the Service Session (size approx. 160 k) and Accounting skeletons, as well as parts of the UserAgentManager Application of the TINA Platform project have been generated by this tool too. So many bugs could be detected by khi, som, ali and jek.
For settings marked with [ brackets ] the gui only supports a read only mode until now (a help text displayed when choosing the menu item). Modifications have to be done altering the source code of methods in protocol "to be replaced by GUI ops".
Target Application
The name of the ENVY application (or ST-category) to generate into.
Superclasses
To set the (abstract) superclasses for structs, unions, interfaces and core objects.
set interface inheritance policy
#first
If interfaces are specified using an inheritance line, the first interface in this line will be taken as superclass for the generated interface class.
#default
Independent of the specified parent-interfaces, the default interface superclass will be taken.
The default setting is #first.
If the superclass does not exist, it will be generated too.
[set Interface CO list]
A dictionary specifiing for every interface the name of it's CO (if an interface has an entry here, no CO class name asking dialog will be needed during generation).
[set Interface superclass exclusion list]
A list of names of interface superclasses (specified by their short IDL name e.g. 'i_InterfaceAccess') which shall not be used as (Smalltalk) implementation superclasses for an interface, if these interfaces are part of the IDL-inheritance declaration of an interface.
[set CO ODL name list]
A dictionary specifiing for every CO it's ODL name (if a CO has no entry here, a dummy name will be used while generating).
[set IDL name abbreviations list]
A list of short terms (used to replace the long IDL module names) in class name prefixes and parameter names. If no short replacement is defined, the long name will be taken (without special characters: blank, slash, backslash, period, hyphen, underscore).
set classname project prefix
The letters to be placed at the beginning of each class name (to distinguish all project classes easily and avoid name collisions with existing classes).
set automatic CO name prefix
The prefix for a CO may be automatically assigned to the name (as specified by dialog or using the Interface CO list) using the options:
#no prefix
CO class names will be used as specified.
#project prefix
CO class names get the project prefix only.
#project prefix and module name abbr.
CO class names receive the project prefix followed by the module name (or mostly it's abbreviation).
The default is #project prefix and module name abbr.
Options with [ brackets ] are not realized yet.
[set file out comments]
[set file out log]
[set Transcript log]
set verbose
If this option is off, no warnings will occur, if classes or methods to generate already exist.
The default setting is #on.
[1] Distributed Smalltalk Release 5.5, IDL Programmer's Reference Rev. 1.0, ParcPlace-Digitalk, 1996.
(c) GMD FOKUS Tangram tko 97-12-08
|