
/*
 * This file was generated by the SOM Compiler.
 * FileName: blep.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_bulletedList_ih
#define SOM_bulletedList_ih


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

#ifndef SOM_bulletedList_h
#include "blep.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 void bulletedListData;
#define __somC_bulletedList_NODATA

/*
 * This class introduces no instance data, so no GetData macro is provided
 */

/*
 * -- Primary Implementation File Support
 */
#if (defined(bulletedList_Class_Source) || defined(SOM_Module_blep_Source))

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

static void SOMLINK __somC_bulletedList_classInit(SOMClass cls);


/*
 * Init ClassData Structures
 */
struct bulletedListClassDataStructure SOMDLLEXPORT SOMDLINK bulletedListClassData = {0};
struct bulletedListCClassDataStructure SOMDLLEXPORT SOMDLINK bulletedListCClassData = {0};


/*
 * Identifiers
 */
static char __somC_Strings_bulletedList0[] = {"bulletedList"}; /* class name */
static char __somC_Strings_bulletedList1[] = {"txtEnvProcessor"}; /* parent name */
static char __somC_Strings_bulletedList2[] = {"_get_paragraphIndentation"}; /* overridden method name */
static char __somC_Strings_bulletedList3[] = {"_get_lineIndentation"}; /* overridden method name */
static char __somC_Strings_bulletedList4[] = {"epInitializeEnvironment"}; /* overridden method name */
static char __somC_Strings_bulletedList5[] = {"tpProcessNewParagraph"}; /* overridden method name */
static char * __somC_bulletedList_regIdsArray[] = {
	__somC_Strings_bulletedList0,
	__somC_Strings_bulletedList1,
#ifndef __somC_bulletedList_regIds__get_paragraphIndentation
#define __somC_bulletedList_regIds__get_paragraphIndentation 2
#endif
	__somC_Strings_bulletedList2,
#ifndef __somC_bulletedList_regIds__get_lineIndentation
#define __somC_bulletedList_regIds__get_lineIndentation 3
#endif
	__somC_Strings_bulletedList3,
#ifndef __somC_bulletedList_regIds_epInitializeEnvironment
#define __somC_bulletedList_regIds_epInitializeEnvironment 4
#endif
	__somC_Strings_bulletedList4,
#ifndef __somC_bulletedList_regIds_tpProcessNewParagraph
#define __somC_bulletedList_regIds_tpProcessNewParagraph 5
#endif
	__somC_Strings_bulletedList5
};


/*
 * Overridden method: _get_paragraphIndentation
 */
SOM_Scope long  SOMLINK _get_paragraphIndentation(bulletedList somSelf);
static somMethodProc* bulletedList_parent_txtEnvProcessor__get_paragraphIndentation_resolved;
#define bulletedList_parent_txtEnvProcessor__get_paragraphIndentation(somSelf) \
  ((( somTD_envProcessor__get_paragraphIndentation ) \
    bulletedList_parent_txtEnvProcessor__get_paragraphIndentation_resolved)(somSelf))
#ifndef SOMGD_pmc_txtEnvProcessor__get_paragraphIndentation
  #ifdef parent_txtEnvProcessor__get_paragraphIndentation
     #define SOMGD_pmc_txtEnvProcessor__get_paragraphIndentation 1
     #undef parent_txtEnvProcessor__get_paragraphIndentation
  #else
     #define parent_txtEnvProcessor__get_paragraphIndentation bulletedList_parent_txtEnvProcessor__get_paragraphIndentation
  #endif /* parent_txtEnvProcessor__get_paragraphIndentation */
#endif /* SOMGD_pmc_txtEnvProcessor__get_paragraphIndentation */
#ifndef SOMGD_pmc_parent__get_paragraphIndentation
  #ifdef parent__get_paragraphIndentation
    #define SOMGD_pmc_parent__get_paragraphIndentation
    #undef parent__get_paragraphIndentation
  #else
#define parent__get_paragraphIndentation bulletedList_parent_txtEnvProcessor__get_paragraphIndentation
  #endif
#endif
#define bulletedList_parents__get_paragraphIndentation(somSelf) (\
   bulletedList_parent_txtEnvProcessor__get_paragraphIndentation(somSelf))
#define SOMPCALLbulletedList__get_paragraphIndentation
static somMethodProc* bulletedList_pcall__get_paragraphIndentation_resolved;
#define bulletedList_pcall__get_paragraphIndentation(somSelf) \
  ((( somTD_envProcessor__get_paragraphIndentation ) \
    bulletedList_pcall__get_paragraphIndentation_resolved)(somSelf))
static long  SOMLINK bulletedList_pcallResolve__get_paragraphIndentation(bulletedList somSelf)
{
   return ((somTD_envProcessor__get_paragraphIndentation) 
      somPCallResolve(somSelf, _bulletedList, _SOMMTOKEN_envProcessor(_get_paragraphIndentation)))(somSelf);
}


/*
 * Overridden method: _get_lineIndentation
 */
SOM_Scope long  SOMLINK _get_lineIndentation(bulletedList somSelf);
static somMethodProc* bulletedList_parent_txtEnvProcessor__get_lineIndentation_resolved;
#define bulletedList_parent_txtEnvProcessor__get_lineIndentation(somSelf) \
  ((( somTD_envProcessor__get_lineIndentation ) \
    bulletedList_parent_txtEnvProcessor__get_lineIndentation_resolved)(somSelf))
#ifndef SOMGD_pmc_txtEnvProcessor__get_lineIndentation
  #ifdef parent_txtEnvProcessor__get_lineIndentation
     #define SOMGD_pmc_txtEnvProcessor__get_lineIndentation 1
     #undef parent_txtEnvProcessor__get_lineIndentation
  #else
     #define parent_txtEnvProcessor__get_lineIndentation bulletedList_parent_txtEnvProcessor__get_lineIndentation
  #endif /* parent_txtEnvProcessor__get_lineIndentation */
#endif /* SOMGD_pmc_txtEnvProcessor__get_lineIndentation */
#ifndef SOMGD_pmc_parent__get_lineIndentation
  #ifdef parent__get_lineIndentation
    #define SOMGD_pmc_parent__get_lineIndentation
    #undef parent__get_lineIndentation
  #else
#define parent__get_lineIndentation bulletedList_parent_txtEnvProcessor__get_lineIndentation
  #endif
#endif
#define bulletedList_parents__get_lineIndentation(somSelf) (\
   bulletedList_parent_txtEnvProcessor__get_lineIndentation(somSelf))
#define SOMPCALLbulletedList__get_lineIndentation
static somMethodProc* bulletedList_pcall__get_lineIndentation_resolved;
#define bulletedList_pcall__get_lineIndentation(somSelf) \
  ((( somTD_envProcessor__get_lineIndentation ) \
    bulletedList_pcall__get_lineIndentation_resolved)(somSelf))
static long  SOMLINK bulletedList_pcallResolve__get_lineIndentation(bulletedList somSelf)
{
   return ((somTD_envProcessor__get_lineIndentation) 
      somPCallResolve(somSelf, _bulletedList, _SOMMTOKEN_envProcessor(_get_lineIndentation)))(somSelf);
}


/*
 * Overridden method: epInitializeEnvironment
 */
SOM_Scope void  SOMLINK epInitializeEnvironment(bulletedList somSelf);
static somMethodProc* bulletedList_parent_txtEnvProcessor_epInitializeEnvironment_resolved;
#define bulletedList_parent_txtEnvProcessor_epInitializeEnvironment(somSelf) \
  ((( somTD_envProcessor_epInitializeEnvironment ) \
    bulletedList_parent_txtEnvProcessor_epInitializeEnvironment_resolved)(somSelf))
#ifndef SOMGD_pmc_txtEnvProcessor_epInitializeEnvironment
  #ifdef parent_txtEnvProcessor_epInitializeEnvironment
     #define SOMGD_pmc_txtEnvProcessor_epInitializeEnvironment 1
     #undef parent_txtEnvProcessor_epInitializeEnvironment
  #else
     #define parent_txtEnvProcessor_epInitializeEnvironment bulletedList_parent_txtEnvProcessor_epInitializeEnvironment
  #endif /* parent_txtEnvProcessor_epInitializeEnvironment */
#endif /* SOMGD_pmc_txtEnvProcessor_epInitializeEnvironment */
#ifndef SOMGD_pmc_parent_epInitializeEnvironment
  #ifdef parent_epInitializeEnvironment
    #define SOMGD_pmc_parent_epInitializeEnvironment
    #undef parent_epInitializeEnvironment
  #else
#define parent_epInitializeEnvironment bulletedList_parent_txtEnvProcessor_epInitializeEnvironment
  #endif
#endif
#define bulletedList_parents_epInitializeEnvironment(somSelf) (\
   bulletedList_parent_txtEnvProcessor_epInitializeEnvironment(somSelf))
#define SOMPCALLbulletedList_epInitializeEnvironment
static somMethodProc* bulletedList_pcall_epInitializeEnvironment_resolved;
#define bulletedList_pcall_epInitializeEnvironment(somSelf) \
  ((( somTD_envProcessor_epInitializeEnvironment ) \
    bulletedList_pcall_epInitializeEnvironment_resolved)(somSelf))
static void  SOMLINK bulletedList_pcallResolve_epInitializeEnvironment(bulletedList somSelf)
{
   ((somTD_envProcessor_epInitializeEnvironment) 
      somPCallResolve(somSelf, _bulletedList, _SOMMTOKEN_envProcessor(epInitializeEnvironment)))(somSelf);
}


/*
 * Overridden method: tpProcessNewParagraph
 */
SOM_Scope void  SOMLINK tpProcessNewParagraph(bulletedList somSelf);
static somMethodProc* bulletedList_parent_txtEnvProcessor_tpProcessNewParagraph_resolved;
#define bulletedList_parent_txtEnvProcessor_tpProcessNewParagraph(somSelf) \
  ((( somTD_txtEnvProcessor_tpProcessNewParagraph ) \
    bulletedList_parent_txtEnvProcessor_tpProcessNewParagraph_resolved)(somSelf))
#ifndef SOMGD_pmc_txtEnvProcessor_tpProcessNewParagraph
  #ifdef parent_txtEnvProcessor_tpProcessNewParagraph
     #define SOMGD_pmc_txtEnvProcessor_tpProcessNewParagraph 1
     #undef parent_txtEnvProcessor_tpProcessNewParagraph
  #else
     #define parent_txtEnvProcessor_tpProcessNewParagraph bulletedList_parent_txtEnvProcessor_tpProcessNewParagraph
  #endif /* parent_txtEnvProcessor_tpProcessNewParagraph */
#endif /* SOMGD_pmc_txtEnvProcessor_tpProcessNewParagraph */
#ifndef SOMGD_pmc_parent_tpProcessNewParagraph
  #ifdef parent_tpProcessNewParagraph
    #define SOMGD_pmc_parent_tpProcessNewParagraph
    #undef parent_tpProcessNewParagraph
  #else
#define parent_tpProcessNewParagraph bulletedList_parent_txtEnvProcessor_tpProcessNewParagraph
  #endif
#endif
#define bulletedList_parents_tpProcessNewParagraph(somSelf) (\
   bulletedList_parent_txtEnvProcessor_tpProcessNewParagraph(somSelf))
#define SOMPCALLbulletedList_tpProcessNewParagraph
static somMethodProc* bulletedList_pcall_tpProcessNewParagraph_resolved;
#define bulletedList_pcall_tpProcessNewParagraph(somSelf) \
  ((( somTD_txtEnvProcessor_tpProcessNewParagraph ) \
    bulletedList_pcall_tpProcessNewParagraph_resolved)(somSelf))
static void  SOMLINK bulletedList_pcallResolve_tpProcessNewParagraph(bulletedList somSelf)
{
   ((somTD_txtEnvProcessor_tpProcessNewParagraph) 
      somPCallResolve(somSelf, _bulletedList, _SOMMTOKEN_txtEnvProcessor(tpProcessNewParagraph)))(somSelf);
}


/*
 * Functions for attributes.
 */

/*
 * Special Method Support
 */

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

static somOverrideMethod_t2 __somC_bulletedList_overridesArray[] = {
{ &(__somC_bulletedList_regIdsArray[__somC_bulletedList_regIds__get_paragraphIndentation]), 
#ifdef SOMPCALLbulletedList__get_paragraphIndentation
   (somMethodPtr*)&bulletedList_pcall__get_paragraphIndentation_resolved, 
   (somMethodPtr)bulletedList_pcallResolve__get_paragraphIndentation, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)_get_paragraphIndentation },
{ &(__somC_bulletedList_regIdsArray[__somC_bulletedList_regIds__get_lineIndentation]), 
#ifdef SOMPCALLbulletedList__get_lineIndentation
   (somMethodPtr*)&bulletedList_pcall__get_lineIndentation_resolved, 
   (somMethodPtr)bulletedList_pcallResolve__get_lineIndentation, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)_get_lineIndentation },
{ &(__somC_bulletedList_regIdsArray[__somC_bulletedList_regIds_epInitializeEnvironment]), 
#ifdef SOMPCALLbulletedList_epInitializeEnvironment
   (somMethodPtr*)&bulletedList_pcall_epInitializeEnvironment_resolved, 
   (somMethodPtr)bulletedList_pcallResolve_epInitializeEnvironment, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)epInitializeEnvironment },
{ &(__somC_bulletedList_regIdsArray[__somC_bulletedList_regIds_tpProcessNewParagraph]), 
#ifdef SOMPCALLbulletedList_tpProcessNewParagraph
   (somMethodPtr*)&bulletedList_pcall_tpProcessNewParagraph_resolved, 
   (somMethodPtr)bulletedList_pcallResolve_tpProcessNewParagraph, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)tpProcessNewParagraph }
};

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

static struct bulletedListClassDataStructure __somC_bulletedList_resolvedMTokens;

static void * __somC_bulletedList_CIB_unsharedClassVariablesPtr = 0;
som3ClassInfoStruct __somC_bulletedList_ClassInfo; /* C forward reference */

SOM_CIB bulletedList_ClassInitBlock = {
	1,	/* layoutVersion */
	&__somC_bulletedList_classVars1,
	&__somC_bulletedList_CIB_unsharedClassVariablesPtr,	/* unsharedVars */
	bulletedList_MajorVersion,
	bulletedList_MinorVersion,
	0x40004,	/* constFlags */
	0xFFFFFFFF,	/* inheritVars */
	0,	/* classMeta */
	(somMethodPtr) __somC_bulletedList_classInit,	/* classInit */
	(somMethodPtr) 0,	/* classUninit */
	(somMethodPtr) 0,	/* legacyInit */
	(somMethodPtr) 0,	/* legacyUninit */
	(somMethodPtr) 0,	/* udaAssign */
	(somMethodPtr) 0,	/* udaConstAssign */
	0,	/* protectedDataOffset */
	0,	/* numEmbeddedObjs */
	0,	/* embeddedObjs */
	6,	/* numRegIds */
	__somC_bulletedList_regIdsArray,	/* regIds */
	(sizeof(struct bulletedListClassDataStructure) - sizeof(SOMClass *))/sizeof(somMToken),	/* numClassDataEntries */
	(somClassDataStructurePtr)&bulletedListClassData,
	(somCClassDataStructurePtr)&bulletedListCClassData,
	&__somC_bulletedList_ClassInfo,
	1,	/* numParents */
	(SOMClass**)__somC_bulletedList_parentArray,	/* parents */
	1,	/* numDirectInitClasses */
	(SOMClass**)__somC_bulletedList_parentArray,	/* directInitClasses */
	0,	/* numNewInitializers */
	0,	/* newInitializerSymbols */
	0,	/* numOvInitializers */
	0,	/* ovInitializerSymbols */
	0,	/* special overrides */
	0,	/* maxNDMethods */
	0,	/* newNDMethods */
	4,	/* numOverrides */
	__somC_bulletedList_overridesArray,	/* overrides */
	0,	/* numInheritedSelections */
	0,	/* inheritedSelections */
	0,	/* numMigratedMethods */
	0 	/* migrated methods */
};	/* CIB */

static som3ClassDetails __somC_bulletedList_ClassDetails = {
	(somMethodTabPtr)NULL,	/* mtab */
	(somMethodTabPtr *)__somC_bulletedList_parentMtabs,	/* parentMtabs */
	&bulletedList_ClassInitBlock,	/* CIB pointer */
	(somTD_somRenewNoInitNoZeroThunk)0,	/* somRenewNoInitNoZeroThunk */
	(long)0,	/* instanceSize */
	(somMethodProc**)NULL,	/* resolvedInits */
	(somClassDataStructure *)&__somC_bulletedList_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_bulletedList_ClassInfo = {
	0,	/* classObject */
	&__somC_bulletedList_ClassDetails	/* class details */
};


/*
 * Class Creation and Initialization
 */

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

/* classinit function */
SOM_Scope void SOMLINK __somC_bulletedList_classInit(SOMClass somSelf)
{
   SOM_IgnoreWarning(somSelf);
   bulletedList_parent_txtEnvProcessor_tpProcessNewParagraph_resolved = 
	somParentNumResolve(bulletedListCClassData.parentMtab, 1, _SOMMTOKEN_txtEnvProcessor(tpProcessNewParagraph)); 
   bulletedList_parent_txtEnvProcessor_epInitializeEnvironment_resolved = 
	somParentNumResolve(bulletedListCClassData.parentMtab, 1, _SOMMTOKEN_envProcessor(epInitializeEnvironment)); 
   bulletedList_parent_txtEnvProcessor__get_lineIndentation_resolved = 
	somParentNumResolve(bulletedListCClassData.parentMtab, 1, _SOMMTOKEN_envProcessor(_get_lineIndentation)); 
   bulletedList_parent_txtEnvProcessor__get_paragraphIndentation_resolved = 
	somParentNumResolve(bulletedListCClassData.parentMtab, 1, _SOMMTOKEN_envProcessor(_get_paragraphIndentation)); 
}

/* NewClass Function */
SOMEXTERN SOMDLLEXPORT SOMClass  SOMLINK bulletedListNewClass (long reqMajorVersion, long reqMinorVersion)
{
   if (_SOMCLASS_bulletedList && _somCheckVersion(_SOMCLASS_bulletedList,reqMajorVersion,reqMinorVersion))
      return _SOMCLASS_bulletedList;
__somC_bulletedList_parentArray[0] = (SOMClass *)&_SOMCLASS_txtEnvProcessor;
   /* require parents */
   if (!_SOMCLASS_txtEnvProcessor) txtEnvProcessorNewClass(txtEnvProcessor_MajorVersion,txtEnvProcessor_MinorVersion);
   /* return new class */
   return somBuildClass2( &bulletedList_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_bulletedList_ih */
