home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
som30tk.zip
/
som30os2.zip
/
include
/
scentry.idl
< prev
next >
Wrap
Text File
|
1996-12-24
|
6KB
|
179 lines
//
// COMPONENT_NAME: some
//
// ORIGINS: 27
//
//
// 25H7912 (C) COPYRIGHT International Business Machines Corp. 1992,1994,1996
// All Rights Reserved
// Licensed Materials - Property of IBM
// US Government Users Restricted Rights - Use, duplication or
// disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
//# @(#) somc/scentry.idl 2.11 5/9/96 15:31:08 [12/24/96 07:39:46]
#ifndef scentry_idl
#define scentry_idl
#include <somobj.idl>
#include "sctypes.h"
interface SOMTEntryC : SOMObject
// A SOM class interface definition is compiled to produce a graph
// structure whose nodes are instances of <SOMTEntry> or its
// sub-classes. Each entry is derived from some syntactic element of
// the definition source. The attributes defined in <SOMTEntryC>
// refer to this syntactic element in a fairly obvious way.
//
{
attribute string somtEntryName;
// The name associated with this entry. Eg, the name of
// the data item, the class, the method, the type, etc.
attribute SOMTTypes somtElementType;
// Returns the type of this entry.
// This is not datatype, but entry type (method, class,
// passthru, etc.). The value is defined by SOMTTypes.
readonly attribute string somtElementTypeName;
// String version of somtElementType.
readonly attribute string somtEntryComment;
// Returns the comment associated with this entry, or NULL is this
// entry has no associated comment. Comments will have comment
// delimitors removed, but will retain newline characters as
// specified in the source file. (use smLookupComment)
readonly attribute unsigned long somtSourceLineNumber;
// Returns the line number in the source file where this entry's
// syntactic form ended.
readonly attribute TypeCode somtTypeCode;
// The typecode, if appropriate, or NULL.
readonly attribute boolean somtIsReference;
// Whether the entry is just a reference to the real type (TRUE)
// rather than a declaration of it (FALSE).
readonly attribute string somtIDLScopedName;
// The IDL scoped name of the entry (using double colon as delimiter).
readonly attribute string somtCScopedName;
// The C scoped name of the entry (using underscore as delimiter).
string somtGetModifierValue(in string modifierName);
// Returns the value of the named modifier if this entry has the
// named modifier and NULL otherwise. Note: if the modifier is
// present but does not have a value then a value of <'\1'> is
// returned.
boolean somtGetFirstModifier(inout string modifierName,
inout string modifierValue);
// Returns the first modifier associated with this entry. 1 (true)
// is returned if the entry has at least one modifier and 0 (false)
// otherwise.
boolean somtGetNextModifier(inout string modifierName,
inout string modifierValue);
// Returns the next modifier (with respect to the last call to
// <somtGetNextModifier> or <somtGetFirstModifier>)
// associated with this entry. 1 (true) is returned if the entry
// had another modifier and 0 (false) otherwise.
long somtFormatModifier(in string buffer,
in string name,
in string value);
// Formats the indicated name/value pair into buffer. Buffer must
// be big enough to hold all the formatted pair, no checks are made.
// The number of characters added to buffer are returned (not
// including the trailing null character).
// Note: value may be null
// You will probably never call this method, it is provided so that
// you can override it to control the format returned in
// <somtGetModifierList>.
long somtGetModifierList(in string buffer);
// The modifiers for this entry are placed in <buffer> in template
// list form (newline separated). Buffer must be big enough to
// hold all the modifiers, no checks are made. The number of
// modifiers is returned.
long somtSetSymbolsOnEntry(in SOMTEmitC emitter,
in string prefix);
// Places a number of symbol/value pairs in <t>. All the symbols
// will begin with <prefix>.
void somtSetEntryStruct(inout Entry es);
// Sets the entry struct data member.
// Note, when overridding this method, it is important to call the
// parent version of the method first and then do your processing.
#ifdef __SOMIDL__
implementation {
releaseorder: _get_somtEntryName, _set_somtEntryName,
_get_somtElementType, _set_somtElementType,
_get_somtEntryComment, _get_somtSourceLineNumber,
_get_somtTypeCode, _get_somtIsReference,
somtGetModifierValue, somtGetFirstModifier,
somtGetNextModifier, somtFormatModifier,
somtGetModifierList, somtSetSymbolsOnEntry,
somtSetEntryStruct, _get_somtEntryStruct,
somtShowAssocEntry, _get_somtCScopedName,
_get_somtIDLScopedName, _get_somtElementTypeName;
//# Class Modifiers
majorversion = 2;
minorversion = 1;
filestem = scentry;
#ifdef _WIN32
dllname = "some.dll";
#endif
callstyle = oidl;
passthru C_h_after = "#include <sctypes.h>"
"#include <scemit.h>"
"#include <sctmplt.h>";
passthru C_xh_after = "#include <sctypes.h>"
"#include <sctmplt.xh>";
//# Internal Instance Variables
//# Method Modifiers
somInit: override;
somUninit: override;
somPrintSelf: override;
somDumpSelfInt: override;
somDumpSelf: override;
//# Attribute Modifiers
somtEntryComment: nodata;
somtCScopedName: nodata;
somtIDLScopedName: nodata;
somtSourceLineNumber: nodata;
somtTypeCode: nodata;
somtIsReference: nodata;
somtEntryStruct: nodata;
somtElementTypeName: nodata;
somtEntryName: noget;
};
#endif /* __SOMIDL__ */
};
#endif /* scentry_idl */