
/*
 * This file was generated by the SOM Compiler.
 * FileName: textline.ih.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.19
 *     SOM Emitter emitih.dll: 2.77.1.179
 */

/*
 *   This class is adapted from the book
 *     Class Construction in C and C++, Object Oriented Fundamentals
 *     by Roger Sessions, Copyright (c) 1992 Prentice Hall.
 *   Reprinted with permission.
 */


/*
 * The SOM_STRICT_IDL macro means that we can ignore stars
 * in our declarations of objects.
 */
#define SOM_STRICT_IDL 1


#ifndef SOM_textLine_ih
#define SOM_textLine_ih


/*
 * Set the scope of method functions
 */
#ifndef SOM_Scope
#define SOM_Scope static
#endif

#ifndef SOM_textLine_h
#include "textline.h"
#endif
#include <somcsr.h>
#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(none)
#else
  #if defined(__IBMC__)
     #pragma checkout(suspend)
  #endif
#endif


/*
 * -- Instance data
 */
typedef struct {
	long maxSize;
	long totalChars;
} __somC_textLine_ProtectedPrivateData;
typedef __somC_textLine_ProtectedPrivateData textLineData, *textLineDataPtr;

/*
 * -- GetData macro
 */
typedef textLineDataPtr SOMLINK somTP_textLine_DataThunk(void*);
typedef somTP_textLine_DataThunk *somTD_textLine_DataThunk;

#define textLineGetData(somSelf) \
   (((somTD_textLine_DataThunk)(textLineCClassData.instanceDataToken))(somSelf))
#define _maxSize somThis->maxSize
#define _totalChars somThis->totalChars

/*
 * -- Primary Implementation File Support
 */
#if (defined(textLine_Class_Source) || defined(SOM_Module_textline_Source))

#ifndef textLineMethodDebug
   #define textLineMethodDebug(c,m) SOMMethodDebug(c,m)
#endif  /* textLineMethodDebug */

static void SOMLINK __somC_textLine_classInit(SOMClass cls);


/*
 * Init ClassData Structures
 */
struct textLineClassDataStructure SOMDLLEXPORT SOMDLINK textLineClassData = {0};
struct textLineCClassDataStructure SOMDLLEXPORT SOMDLINK textLineCClassData = {0};


/*
 * Identifiers
 */
static char __somC_Strings_textLine0[] = {"textLine"}; /* class name */
static char __somC_Strings_textLine1[] = {"tlInit"}; /* method name */
static char __somC_Strings_textLine2[] = {"tlCharsInLine"}; /* method name */
static char __somC_Strings_textLine3[] = {"tlCharsLeft"}; /* method name */
static char __somC_Strings_textLine4[] = {"linkedList"}; /* parent name */
static char __somC_Strings_textLine5[] = {"llAddTail"}; /* overridden method name */
static char __somC_Strings_textLine6[] = {"llAddHead"}; /* overridden method name */
static char __somC_Strings_textLine7[] = {"llReplace"}; /* overridden method name */
static char __somC_Strings_textLine8[] = {"somInit"}; /* overridden method name */
static char __somC_Strings_textLine9[] = {"somUninit"}; /* overridden method name */
static char __somC_Strings_textLine10[] = {"somDumpSelfInt"}; /* overridden method name */
static char * __somC_textLine_regIdsArray[] = {
	__somC_Strings_textLine0,
#ifndef __somC_textLine_regIds_tlInit
#define __somC_textLine_regIds_tlInit 1
#endif
	__somC_Strings_textLine1,
#ifndef __somC_textLine_regIds_tlCharsInLine
#define __somC_textLine_regIds_tlCharsInLine 2
#endif
	__somC_Strings_textLine2,
#ifndef __somC_textLine_regIds_tlCharsLeft
#define __somC_textLine_regIds_tlCharsLeft 3
#endif
	__somC_Strings_textLine3,
	__somC_Strings_textLine4,
#ifndef __somC_textLine_regIds_llAddTail
#define __somC_textLine_regIds_llAddTail 5
#endif
	__somC_Strings_textLine5,
#ifndef __somC_textLine_regIds_llAddHead
#define __somC_textLine_regIds_llAddHead 6
#endif
	__somC_Strings_textLine6,
#ifndef __somC_textLine_regIds_llReplace
#define __somC_textLine_regIds_llReplace 7
#endif
	__somC_Strings_textLine7,
#ifndef __somC_textLine_regIds_somInit
#define __somC_textLine_regIds_somInit 8
#endif
	__somC_Strings_textLine8,
#ifndef __somC_textLine_regIds_somUninit
#define __somC_textLine_regIds_somUninit 9
#endif
	__somC_Strings_textLine9,
#ifndef __somC_textLine_regIds_somDumpSelfInt
#define __somC_textLine_regIds_somDumpSelfInt 10
#endif
	__somC_Strings_textLine10
};


/*
 * Overridden method: llAddTail
 */
SOM_Scope baseType  SOMLINK llAddTail(textLine somSelf,
		baseType newElement);
static somMethodProc* textLine_parent_linkedList_llAddTail_resolved;
#define textLine_parent_linkedList_llAddTail(somSelf,newElement) \
  ((( somTD_linkedList_llAddTail ) \
    textLine_parent_linkedList_llAddTail_resolved)(somSelf,newElement))
#ifndef SOMGD_pmc_linkedList_llAddTail
  #ifdef parent_linkedList_llAddTail
     #define SOMGD_pmc_linkedList_llAddTail 1
     #undef parent_linkedList_llAddTail
  #else
     #define parent_linkedList_llAddTail textLine_parent_linkedList_llAddTail
  #endif /* parent_linkedList_llAddTail */
#endif /* SOMGD_pmc_linkedList_llAddTail */
#ifndef SOMGD_pmc_parent_llAddTail
  #ifdef parent_llAddTail
    #define SOMGD_pmc_parent_llAddTail
    #undef parent_llAddTail
  #else
#define parent_llAddTail textLine_parent_linkedList_llAddTail
  #endif
#endif
#define textLine_parents_llAddTail(somSelf,newElement) (\
   textLine_parent_linkedList_llAddTail(somSelf,newElement))
#define SOMPCALLtextLine_llAddTail
static somMethodProc* textLine_pcall_llAddTail_resolved;
#define textLine_pcall_llAddTail(somSelf,newElement) \
  ((( somTD_linkedList_llAddTail ) \
    textLine_pcall_llAddTail_resolved)(somSelf,newElement))
static baseType  SOMLINK textLine_pcallResolve_llAddTail(textLine somSelf,
		baseType newElement)
{
   return ((somTD_linkedList_llAddTail) 
      somPCallResolve(somSelf, _textLine, _SOMMTOKEN_linkedList(llAddTail)))(somSelf,newElement);
}


/*
 * Overridden method: llAddHead
 */
SOM_Scope baseType  SOMLINK llAddHead(textLine somSelf,
		baseType newElement);
static somMethodProc* textLine_parent_linkedList_llAddHead_resolved;
#define textLine_parent_linkedList_llAddHead(somSelf,newElement) \
  ((( somTD_linkedList_llAddHead ) \
    textLine_parent_linkedList_llAddHead_resolved)(somSelf,newElement))
#ifndef SOMGD_pmc_linkedList_llAddHead
  #ifdef parent_linkedList_llAddHead
     #define SOMGD_pmc_linkedList_llAddHead 1
     #undef parent_linkedList_llAddHead
  #else
     #define parent_linkedList_llAddHead textLine_parent_linkedList_llAddHead
  #endif /* parent_linkedList_llAddHead */
#endif /* SOMGD_pmc_linkedList_llAddHead */
#ifndef SOMGD_pmc_parent_llAddHead
  #ifdef parent_llAddHead
    #define SOMGD_pmc_parent_llAddHead
    #undef parent_llAddHead
  #else
#define parent_llAddHead textLine_parent_linkedList_llAddHead
  #endif
#endif
#define textLine_parents_llAddHead(somSelf,newElement) (\
   textLine_parent_linkedList_llAddHead(somSelf,newElement))
#define SOMPCALLtextLine_llAddHead
static somMethodProc* textLine_pcall_llAddHead_resolved;
#define textLine_pcall_llAddHead(somSelf,newElement) \
  ((( somTD_linkedList_llAddHead ) \
    textLine_pcall_llAddHead_resolved)(somSelf,newElement))
static baseType  SOMLINK textLine_pcallResolve_llAddHead(textLine somSelf,
		baseType newElement)
{
   return ((somTD_linkedList_llAddHead) 
      somPCallResolve(somSelf, _textLine, _SOMMTOKEN_linkedList(llAddHead)))(somSelf,newElement);
}


/*
 * Overridden method: llReplace
 */
SOM_Scope baseType  SOMLINK llReplace(textLine somSelf,
		baseType newElement);
static somMethodProc* textLine_parent_linkedList_llReplace_resolved;
#define textLine_parent_linkedList_llReplace(somSelf,newElement) \
  ((( somTD_linkedList_llReplace ) \
    textLine_parent_linkedList_llReplace_resolved)(somSelf,newElement))
#ifndef SOMGD_pmc_linkedList_llReplace
  #ifdef parent_linkedList_llReplace
     #define SOMGD_pmc_linkedList_llReplace 1
     #undef parent_linkedList_llReplace
  #else
     #define parent_linkedList_llReplace textLine_parent_linkedList_llReplace
  #endif /* parent_linkedList_llReplace */
#endif /* SOMGD_pmc_linkedList_llReplace */
#ifndef SOMGD_pmc_parent_llReplace
  #ifdef parent_llReplace
    #define SOMGD_pmc_parent_llReplace
    #undef parent_llReplace
  #else
#define parent_llReplace textLine_parent_linkedList_llReplace
  #endif
#endif
#define textLine_parents_llReplace(somSelf,newElement) (\
   textLine_parent_linkedList_llReplace(somSelf,newElement))
#define SOMPCALLtextLine_llReplace
static somMethodProc* textLine_pcall_llReplace_resolved;
#define textLine_pcall_llReplace(somSelf,newElement) \
  ((( somTD_linkedList_llReplace ) \
    textLine_pcall_llReplace_resolved)(somSelf,newElement))
static baseType  SOMLINK textLine_pcallResolve_llReplace(textLine somSelf,
		baseType newElement)
{
   return ((somTD_linkedList_llReplace) 
      somPCallResolve(somSelf, _textLine, _SOMMTOKEN_linkedList(llReplace)))(somSelf,newElement);
}


/*
 * Overridden method: somInit
 */
SOM_Scope void  SOMLINK somInit(textLine somSelf);
/* pcalls for somInit/somUninit are turned off */
#define textLine_parent_linkedList_somInit(__somSelf) 
#ifndef parent_linkedList_somInit
   #define parent_linkedList_somInit(__somSelf) 
#endif
#ifndef parent_somInit
   #define parent_somInit(__somSelf) 
#endif
#define textLine_parents_somInit(__somSelf) 

/*
 * Overridden method: somUninit
 */
SOM_Scope void  SOMLINK somUninit(textLine somSelf);
/* pcalls for somInit/somUninit are turned off */
#define textLine_parent_linkedList_somUninit(__somSelf) 
#ifndef parent_linkedList_somUninit
   #define parent_linkedList_somUninit(__somSelf) 
#endif
#ifndef parent_somUninit
   #define parent_somUninit(__somSelf) 
#endif
#define textLine_parents_somUninit(__somSelf) 

/*
 * Overridden method: somDumpSelfInt
 */
SOM_Scope void  SOMLINK somDumpSelfInt(textLine somSelf,
		long level);
static somMethodProc* textLine_parent_linkedList_somDumpSelfInt_resolved;
#define textLine_parent_linkedList_somDumpSelfInt(somSelf,level) \
  ((( somTD_SOMObject_somDumpSelfInt ) \
    textLine_parent_linkedList_somDumpSelfInt_resolved)(somSelf,level))
#ifndef SOMGD_pmc_linkedList_somDumpSelfInt
  #ifdef parent_linkedList_somDumpSelfInt
     #define SOMGD_pmc_linkedList_somDumpSelfInt 1
     #undef parent_linkedList_somDumpSelfInt
  #else
     #define parent_linkedList_somDumpSelfInt textLine_parent_linkedList_somDumpSelfInt
  #endif /* parent_linkedList_somDumpSelfInt */
#endif /* SOMGD_pmc_linkedList_somDumpSelfInt */
#ifndef SOMGD_pmc_parent_somDumpSelfInt
  #ifdef parent_somDumpSelfInt
    #define SOMGD_pmc_parent_somDumpSelfInt
    #undef parent_somDumpSelfInt
  #else
#define parent_somDumpSelfInt textLine_parent_linkedList_somDumpSelfInt
  #endif
#endif
#define textLine_parents_somDumpSelfInt(somSelf,level) (\
   textLine_parent_linkedList_somDumpSelfInt(somSelf,level))
#define SOMPCALLtextLine_somDumpSelfInt
static somMethodProc* textLine_pcall_somDumpSelfInt_resolved;
#define textLine_pcall_somDumpSelfInt(somSelf,level) \
  ((( somTD_SOMObject_somDumpSelfInt ) \
    textLine_pcall_somDumpSelfInt_resolved)(somSelf,level))
static void  SOMLINK textLine_pcallResolve_somDumpSelfInt(textLine somSelf,
		long level)
{
   ((somTD_SOMObject_somDumpSelfInt) 
      somPCallResolve(somSelf, _textLine, _SOMMTOKEN_SOMObject(somDumpSelfInt)))(somSelf,level);
}


/*
 * New Method: tlInit
 */
SOM_Scope void  SOMLINK tlInit(textLine somSelf,
		long newSize);
/*
 *  Initialize a new text line with the number of characters
 *  it can contain.
 */
#ifndef somId_tlInit
#define somId_tlInit ((somId)&(__somC_textLine_regIdsArray[__somC_textLine_regIds_tlInit]))
#endif
#define SOM_MPR_MINFO_tlInit {0, 8, 0}
static somMpRowMethodInfo textLine_tlInit_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_tlInit};
#ifndef DEFINEDtextLine_tlInit_mp
#define DEFINEDtextLine_tlInit_mp
/*[ ::textLine::tlInit textLine_tlInit_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
ARG 0[in]: Long
*/
static struct { void * rows; unsigned char csr[4]; } textLine_tlInit_mp={&textLine_tlInit_mp_minfoRow, {
0x81, 0x01, 0x43},
};
#endif
#define tlInit_somMethodInfoValue 0
#define tlInit_somApplyStubValue &textLine_tlInit_mp.csr
#define tlInit_somHasMPlan 8

/*
 * New Method: tlCharsInLine
 */
SOM_Scope long  SOMLINK tlCharsInLine(textLine somSelf);
/*
 *  Returns the number of characters in a textLine.
 */
#ifndef somId_tlCharsInLine
#define somId_tlCharsInLine ((somId)&(__somC_textLine_regIdsArray[__somC_textLine_regIds_tlCharsInLine]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: Long
*/
#define tlCharsInLine_somMethodInfoValue 0
#define tlCharsInLine_somApplyStubValue 0x830105
#define tlCharsInLine_somHasMPlan 24

/*
 * New Method: tlCharsLeft
 */
SOM_Scope long  SOMLINK tlCharsLeft(textLine somSelf);
/*
 *  Returns the number of characters that can still be placed
 *  in the textLine.
 */
#ifndef somId_tlCharsLeft
#define somId_tlCharsLeft ((somId)&(__somC_textLine_regIdsArray[__somC_textLine_regIds_tlCharsLeft]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: Long
*/
#define tlCharsLeft_somMethodInfoValue 0
#define tlCharsLeft_somApplyStubValue 0x830105
#define tlCharsLeft_somHasMPlan 24

/*
 * Functions for attributes.
 */

/*
 * Special Method Support
 */

/*
 * -- Routines and Structures to create the class object
 */
static SOMClass * __somC_textLine_parentArray[] = {
	NULL,
};
void * __somC_textLine_parentMtabs[1];

somMethodDefn __somC_textLine_newNDMethodsArray[] = {
	{  (0 | tlInit_somHasMPlan), 0, (somMToken)0, (somMethodPtr)tlInit, 
	   0, (somMethodPtr)tlInit_somApplyStubValue, 
	   (somMethodInfo *) tlInit_somMethodInfoValue, &textLineClassData.tlInit, 0, 1 },
	{  (0 | tlCharsInLine_somHasMPlan), 0, (somMToken)0, (somMethodPtr)tlCharsInLine, 
	   0, (somMethodPtr)tlCharsInLine_somApplyStubValue, 
	   (somMethodInfo *) tlCharsInLine_somMethodInfoValue, &textLineClassData.tlCharsInLine, 0, 1 },
	{  (0 | tlCharsLeft_somHasMPlan), 0, (somMToken)0, (somMethodPtr)tlCharsLeft, 
	   0, (somMethodPtr)tlCharsLeft_somApplyStubValue, 
	   (somMethodInfo *) tlCharsLeft_somMethodInfoValue, &textLineClassData.tlCharsLeft, 0, 1 }
};

static somOverrideMethod_t2 __somC_textLine_overridesArray[] = {
{ &(__somC_textLine_regIdsArray[__somC_textLine_regIds_llAddTail]), 
#ifdef SOMPCALLtextLine_llAddTail
   (somMethodPtr*)&textLine_pcall_llAddTail_resolved, 
   (somMethodPtr)textLine_pcallResolve_llAddTail, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)llAddTail },
{ &(__somC_textLine_regIdsArray[__somC_textLine_regIds_llAddHead]), 
#ifdef SOMPCALLtextLine_llAddHead
   (somMethodPtr*)&textLine_pcall_llAddHead_resolved, 
   (somMethodPtr)textLine_pcallResolve_llAddHead, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)llAddHead },
{ &(__somC_textLine_regIdsArray[__somC_textLine_regIds_llReplace]), 
#ifdef SOMPCALLtextLine_llReplace
   (somMethodPtr*)&textLine_pcall_llReplace_resolved, 
   (somMethodPtr)textLine_pcallResolve_llReplace, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)llReplace },
{ &(__somC_textLine_regIdsArray[__somC_textLine_regIds_somInit]), 
#ifdef SOMPCALLtextLine_somInit
   (somMethodPtr*)&textLine_pcall_somInit_resolved, 
   (somMethodPtr)textLine_pcallResolve_somInit, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somInit },
{ &(__somC_textLine_regIdsArray[__somC_textLine_regIds_somUninit]), 
#ifdef SOMPCALLtextLine_somUninit
   (somMethodPtr*)&textLine_pcall_somUninit_resolved, 
   (somMethodPtr)textLine_pcallResolve_somUninit, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somUninit },
{ &(__somC_textLine_regIdsArray[__somC_textLine_regIds_somDumpSelfInt]), 
#ifdef SOMPCALLtextLine_somDumpSelfInt
   (somMethodPtr*)&textLine_pcall_somDumpSelfInt_resolved, 
   (somMethodPtr)textLine_pcallResolve_somDumpSelfInt, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somDumpSelfInt }
};

static somClassVars1 __somC_textLine_classVars1 = {
	1,		/* layoutVersion */
	(void *)NULL,	/* extension */
	sizeof(textLineData),	/* dataSize */
	4,		/* type code dataAlignment */
	(somMethodPtr)0,	/* classAllocate */
	(somMethodPtr)0	/* classDeallocate */
};

static struct textLineClassDataStructure __somC_textLine_resolvedMTokens;

static void * __somC_textLine_CIB_unsharedClassVariablesPtr = 0;
som3ClassInfoStruct __somC_textLine_ClassInfo; /* C forward reference */

SOM_CIB textLine_ClassInitBlock = {
	1,	/* layoutVersion */
	&__somC_textLine_classVars1,
	&__somC_textLine_CIB_unsharedClassVariablesPtr,	/* unsharedVars */
	textLine_MajorVersion,
	textLine_MinorVersion,
	0x40004,	/* constFlags */
	0xFFFFFFFF,	/* inheritVars */
	0,	/* classMeta */
	(somMethodPtr) __somC_textLine_classInit,	/* classInit */
	(somMethodPtr) 0,	/* classUninit */
	(somMethodPtr) somInit,	/* legacyInit */
	(somMethodPtr) somUninit,	/* legacyUninit */
	(somMethodPtr) 0,	/* udaAssign */
	(somMethodPtr) 0,	/* udaConstAssign */
	0,	/* protectedDataOffset */
	0,	/* numEmbeddedObjs */
	0,	/* embeddedObjs */
	11,	/* numRegIds */
	__somC_textLine_regIdsArray,	/* regIds */
	(sizeof(struct textLineClassDataStructure) - sizeof(SOMClass *))/sizeof(somMToken),	/* numClassDataEntries */
	(somClassDataStructurePtr)&textLineClassData,
	(somCClassDataStructurePtr)&textLineCClassData,
	&__somC_textLine_ClassInfo,
	1,	/* numParents */
	(SOMClass**)__somC_textLine_parentArray,	/* parents */
	1,	/* numDirectInitClasses */
	(SOMClass**)__somC_textLine_parentArray,	/* directInitClasses */
	0,	/* numNewInitializers */
	0,	/* newInitializerSymbols */
	0,	/* numOvInitializers */
	0,	/* ovInitializerSymbols */
	0,	/* special overrides */
	3,	/* maxNDMethods */
	__somC_textLine_newNDMethodsArray,	/* newNDMethods */
	6,	/* numOverrides */
	__somC_textLine_overridesArray,	/* overrides */
	0,	/* numInheritedSelections */
	0,	/* inheritedSelections */
	0,	/* numMigratedMethods */
	0 	/* migrated methods */
};	/* CIB */

static som3ClassDetails __somC_textLine_ClassDetails = {
	(somMethodTabPtr)NULL,	/* mtab */
	(somMethodTabPtr *)__somC_textLine_parentMtabs,	/* parentMtabs */
	&textLine_ClassInitBlock,	/* CIB pointer */
	(somTD_somRenewNoInitNoZeroThunk)0,	/* somRenewNoInitNoZeroThunk */
	(long)0,	/* instanceSize */
	(somMethodProc**)NULL,	/* resolvedInits */
	(somClassDataStructure *)&__somC_textLine_resolvedMTokens,	/* resolvedMTokens */
	{0,0,0,0},	/* initCtrl */
	{0,0,0,0},	/* destructCtrl */
	{0,0,0,0},	/* assignCtrl */
	(long)1,	/* layoutVersion */
	(void*)NULL,	/* extension */
	(somDToken)NULL,	/* publicDataToken */
	(somDToken)NULL,	/* protectedDataToken */
};
som3ClassInfoStruct __somC_textLine_ClassInfo = {
	0,	/* classObject */
	&__somC_textLine_ClassDetails	/* class details */
};


/*
 * Class Creation and Initialization
 */

#if defined(__IBMC__) && (defined(_WIN32) || defined(__OS2__)) && !defined(SOM_PREWARP)
#pragma alloc_text (SEG0002, __somC_textLine_classInit)
#pragma alloc_text (SEG0002, textLineNewClass)
#endif

/* classinit function */
SOM_Scope void SOMLINK __somC_textLine_classInit(SOMClass somSelf)
{
   SOM_IgnoreWarning(somSelf);
   textLine_parent_linkedList_somDumpSelfInt_resolved = 
	somParentNumResolve(textLineCClassData.parentMtab, 1, _SOMMTOKEN_SOMObject(somDumpSelfInt)); 
   textLine_parent_linkedList_llReplace_resolved = 
	somParentNumResolve(textLineCClassData.parentMtab, 1, _SOMMTOKEN_linkedList(llReplace)); 
   textLine_parent_linkedList_llAddHead_resolved = 
	somParentNumResolve(textLineCClassData.parentMtab, 1, _SOMMTOKEN_linkedList(llAddHead)); 
   textLine_parent_linkedList_llAddTail_resolved = 
	somParentNumResolve(textLineCClassData.parentMtab, 1, _SOMMTOKEN_linkedList(llAddTail)); 
}

/* NewClass Function */
SOMEXTERN SOMDLLEXPORT SOMClass  SOMLINK textLineNewClass (long reqMajorVersion, long reqMinorVersion)
{
   if (_SOMCLASS_textLine && _somCheckVersion(_SOMCLASS_textLine,reqMajorVersion,reqMinorVersion))
      return _SOMCLASS_textLine;
__somC_textLine_parentArray[0] = (SOMClass *)&_SOMCLASS_linkedList;
   /* require parents */
   if (!_SOMCLASS_linkedList) linkedListNewClass(linkedList_MajorVersion,linkedList_MinorVersion);
   /* return new class */
   return somBuildClass2( &textLine_ClassInitBlock, reqMajorVersion, reqMinorVersion );
}

#endif       /* Primary Implementation Support */
#if defined(__IBMC__) && (__IBMC__ >= 300)
  #pragma info(restore)
#else
  #if defined(__IBMC__)
    #pragma checkout(resume)
  #endif
#endif

#endif       /* SOM_textLine_ih */
