
/*
 * This file was generated by the SOM Compiler.
 * FileName: ep.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_envProcessor_ih
#define SOM_envProcessor_ih


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

#ifndef SOM_envProcessor_h
#include "ep.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 {
	page currentPage;
	fileMgr currentFileMgr;
	envProcessor previousEnv;
} __somC_envProcessor_ProtectedPrivateData;
typedef __somC_envProcessor_ProtectedPrivateData envProcessorData, *envProcessorDataPtr;

/*
 * -- GetData macro
 */
typedef envProcessorDataPtr SOMLINK somTP_envProcessor_DataThunk(void*);
typedef somTP_envProcessor_DataThunk *somTD_envProcessor_DataThunk;

#define envProcessorGetData(somSelf) \
   (((somTD_envProcessor_DataThunk)(envProcessorCClassData.instanceDataToken))(somSelf))
#define _currentPage somThis->currentPage
#define _currentFileMgr somThis->currentFileMgr
#define _previousEnv somThis->previousEnv

/*
 * -- Primary Implementation File Support
 */
#if (defined(envProcessor_Class_Source) || defined(SOM_Module_ep_Source))

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

static void SOMLINK __somC_envProcessor_classInit(SOMClass cls);


/*
 * Init ClassData Structures
 */
struct envProcessorClassDataStructure SOMDLLEXPORT SOMDLINK envProcessorClassData = {0};
struct envProcessorCClassDataStructure SOMDLLEXPORT SOMDLINK envProcessorCClassData = {0};


/*
 * Identifiers
 */
static char __somC_Strings_envProcessor0[] = {"envProcessor"}; /* class name */
static char __somC_Strings_envProcessor1[] = {"epInit1"}; /* method name */
static char __somC_Strings_envProcessor2[] = {"epProcessEnvironment"}; /* method name */
static char __somC_Strings_envProcessor3[] = {"epStartUpNewEnvironment"}; /* method name */
static char __somC_Strings_envProcessor4[] = {"epInitializeEnvironment"}; /* method name */
static char __somC_Strings_envProcessor5[] = {"epShutdownEnvironment"}; /* method name */
static char __somC_Strings_envProcessor6[] = {"epPrepareForNewEnvironment"}; /* method name */
static char __somC_Strings_envProcessor7[] = {"_get_paragraphIndentation"}; /* method name */
static char __somC_Strings_envProcessor8[] = {"_get_lineIndentation"}; /* method name */
static char __somC_Strings_envProcessor9[] = {"_get_currentPage"}; /* method name */
static char __somC_Strings_envProcessor10[] = {"_set_currentPage"}; /* method name */
static char __somC_Strings_envProcessor11[] = {"_get_currentFileMgr"}; /* method name */
static char __somC_Strings_envProcessor12[] = {"_set_currentFileMgr"}; /* method name */
static char __somC_Strings_envProcessor13[] = {"_get_previousEnv"}; /* method name */
static char __somC_Strings_envProcessor14[] = {"SOMObject"}; /* parent name */
static char __somC_Strings_envProcessor15[] = {"somInit"}; /* overridden method name */
static char __somC_Strings_envProcessor16[] = {"somUninit"}; /* overridden method name */
static char __somC_Strings_envProcessor17[] = {"somDumpSelfInt"}; /* overridden method name */
static char * __somC_envProcessor_regIdsArray[] = {
	__somC_Strings_envProcessor0,
#ifndef __somC_envProcessor_regIds_epInit1
#define __somC_envProcessor_regIds_epInit1 1
#endif
	__somC_Strings_envProcessor1,
#ifndef __somC_envProcessor_regIds_epProcessEnvironment
#define __somC_envProcessor_regIds_epProcessEnvironment 2
#endif
	__somC_Strings_envProcessor2,
#ifndef __somC_envProcessor_regIds_epStartUpNewEnvironment
#define __somC_envProcessor_regIds_epStartUpNewEnvironment 3
#endif
	__somC_Strings_envProcessor3,
#ifndef __somC_envProcessor_regIds_epInitializeEnvironment
#define __somC_envProcessor_regIds_epInitializeEnvironment 4
#endif
	__somC_Strings_envProcessor4,
#ifndef __somC_envProcessor_regIds_epShutdownEnvironment
#define __somC_envProcessor_regIds_epShutdownEnvironment 5
#endif
	__somC_Strings_envProcessor5,
#ifndef __somC_envProcessor_regIds_epPrepareForNewEnvironment
#define __somC_envProcessor_regIds_epPrepareForNewEnvironment 6
#endif
	__somC_Strings_envProcessor6,
#ifndef __somC_envProcessor_regIds__get_paragraphIndentation
#define __somC_envProcessor_regIds__get_paragraphIndentation 7
#endif
	__somC_Strings_envProcessor7,
#ifndef __somC_envProcessor_regIds__get_lineIndentation
#define __somC_envProcessor_regIds__get_lineIndentation 8
#endif
	__somC_Strings_envProcessor8,
#ifndef __somC_envProcessor_regIds__get_currentPage
#define __somC_envProcessor_regIds__get_currentPage 9
#endif
	__somC_Strings_envProcessor9,
#ifndef __somC_envProcessor_regIds__set_currentPage
#define __somC_envProcessor_regIds__set_currentPage 10
#endif
	__somC_Strings_envProcessor10,
#ifndef __somC_envProcessor_regIds__get_currentFileMgr
#define __somC_envProcessor_regIds__get_currentFileMgr 11
#endif
	__somC_Strings_envProcessor11,
#ifndef __somC_envProcessor_regIds__set_currentFileMgr
#define __somC_envProcessor_regIds__set_currentFileMgr 12
#endif
	__somC_Strings_envProcessor12,
#ifndef __somC_envProcessor_regIds__get_previousEnv
#define __somC_envProcessor_regIds__get_previousEnv 13
#endif
	__somC_Strings_envProcessor13,
	__somC_Strings_envProcessor14,
#ifndef __somC_envProcessor_regIds_somInit
#define __somC_envProcessor_regIds_somInit 15
#endif
	__somC_Strings_envProcessor15,
#ifndef __somC_envProcessor_regIds_somUninit
#define __somC_envProcessor_regIds_somUninit 16
#endif
	__somC_Strings_envProcessor16,
#ifndef __somC_envProcessor_regIds_somDumpSelfInt
#define __somC_envProcessor_regIds_somDumpSelfInt 17
#endif
	__somC_Strings_envProcessor17
};


/*
 * Overridden method: somInit
 */
SOM_Scope void  SOMLINK somInit(envProcessor somSelf);
/* pcalls for somInit/somUninit are turned off */
#define envProcessor_parent_SOMObject_somInit(__somSelf) 
#ifndef parent_SOMObject_somInit
   #define parent_SOMObject_somInit(__somSelf) 
#endif
#ifndef parent_somInit
   #define parent_somInit(__somSelf) 
#endif
#define envProcessor_parents_somInit(__somSelf) 

/*
 * Overridden method: somUninit
 */
SOM_Scope void  SOMLINK somUninit(envProcessor somSelf);
/* pcalls for somInit/somUninit are turned off */
#define envProcessor_parent_SOMObject_somUninit(__somSelf) 
#ifndef parent_SOMObject_somUninit
   #define parent_SOMObject_somUninit(__somSelf) 
#endif
#ifndef parent_somUninit
   #define parent_somUninit(__somSelf) 
#endif
#define envProcessor_parents_somUninit(__somSelf) 

/*
 * Overridden method: somDumpSelfInt
 */
SOM_Scope void  SOMLINK somDumpSelfInt(envProcessor somSelf,
		long level);
static somMethodProc* envProcessor_parent_SOMObject_somDumpSelfInt_resolved;
#define envProcessor_parent_SOMObject_somDumpSelfInt(somSelf,level) \
  ((( somTD_SOMObject_somDumpSelfInt ) \
    envProcessor_parent_SOMObject_somDumpSelfInt_resolved)(somSelf,level))
#ifndef SOMGD_pmc_SOMObject_somDumpSelfInt
  #ifdef parent_SOMObject_somDumpSelfInt
     #define SOMGD_pmc_SOMObject_somDumpSelfInt 1
     #undef parent_SOMObject_somDumpSelfInt
  #else
     #define parent_SOMObject_somDumpSelfInt envProcessor_parent_SOMObject_somDumpSelfInt
  #endif /* parent_SOMObject_somDumpSelfInt */
#endif /* SOMGD_pmc_SOMObject_somDumpSelfInt */
#ifndef SOMGD_pmc_parent_somDumpSelfInt
  #ifdef parent_somDumpSelfInt
    #define SOMGD_pmc_parent_somDumpSelfInt
    #undef parent_somDumpSelfInt
  #else
#define parent_somDumpSelfInt envProcessor_parent_SOMObject_somDumpSelfInt
  #endif
#endif
#define envProcessor_parents_somDumpSelfInt(somSelf,level) (\
   envProcessor_parent_SOMObject_somDumpSelfInt(somSelf,level))
#define SOMPCALLenvProcessor_somDumpSelfInt
static somMethodProc* envProcessor_pcall_somDumpSelfInt_resolved;
#define envProcessor_pcall_somDumpSelfInt(somSelf,level) \
  ((( somTD_SOMObject_somDumpSelfInt ) \
    envProcessor_pcall_somDumpSelfInt_resolved)(somSelf,level))
static void  SOMLINK envProcessor_pcallResolve_somDumpSelfInt(envProcessor somSelf,
		long level)
{
   ((somTD_SOMObject_somDumpSelfInt) 
      somPCallResolve(somSelf, _envProcessor, _SOMMTOKEN_SOMObject(somDumpSelfInt)))(somSelf,level);
}


/*
 * New Method: epInit1
 */
SOM_Scope void  SOMLINK epInit1(envProcessor somSelf,
		envProcessor lastEnv);
/*
 *  Used to initialize a new environment from an
 *  existing environment.
 */
#ifndef somId_epInit1
#define somId_epInit1 ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_epInit1]))
#endif
#define SOM_MPR_MINFO_epInit1 {0, 8, 0}
static somMpRowMethodInfo envProcessor_epInit1_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_epInit1};
#ifndef DEFINEDenvProcessor_epInit1_mp
#define DEFINEDenvProcessor_epInit1_mp
/*[ ::envProcessor::epInit1 envProcessor_epInit1_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
ARG 0[in]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } envProcessor_epInit1_mp={&envProcessor_epInit1_mp_minfoRow, {
0x81, 0x01, 0x56},
};
#endif
#define epInit1_somMethodInfoValue 0
#define epInit1_somApplyStubValue &envProcessor_epInit1_mp.csr
#define epInit1_somHasMPlan 8

/*
 * New Method: epProcessEnvironment
 */
SOM_Scope void  SOMLINK epProcessEnvironment(envProcessor somSelf);
/*
 *  Defines what it means to process a given
 *  environment.  This method MUST be overridden in
 *  derived classes.
 */
#ifndef somId_epProcessEnvironment
#define somId_epProcessEnvironment ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_epProcessEnvironment]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
*/
#define epProcessEnvironment_somMethodInfoValue 0
#define epProcessEnvironment_somApplyStubValue 0x1
#define epProcessEnvironment_somHasMPlan 24

/*
 * New Method: epStartUpNewEnvironment
 */
SOM_Scope void  SOMLINK epStartUpNewEnvironment(envProcessor somSelf,
		TPWord envName);
/*
 *  Defines what steps need to be taken at the start
 *  of this environment.
 */
#ifndef somId_epStartUpNewEnvironment
#define somId_epStartUpNewEnvironment ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_epStartUpNewEnvironment]))
#endif
#define SOM_MPR_MINFO_epStartUpNewEnvironment {0, 8, 0}
static somMpRowMethodInfo envProcessor_epStartUpNewEnvironment_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO_epStartUpNewEnvironment};
#ifndef DEFINEDenvProcessor_epStartUpNewEnvironment_mp
#define DEFINEDenvProcessor_epStartUpNewEnvironment_mp
/*[ ::envProcessor::epStartUpNewEnvironment envProcessor_epStartUpNewEnvironment_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
ARG 0[in]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } envProcessor_epStartUpNewEnvironment_mp={&envProcessor_epStartUpNewEnvironment_mp_minfoRow, {
0x81, 0x01, 0x56},
};
#endif
#define epStartUpNewEnvironment_somMethodInfoValue 0
#define epStartUpNewEnvironment_somApplyStubValue &envProcessor_epStartUpNewEnvironment_mp.csr
#define epStartUpNewEnvironment_somHasMPlan 8

/*
 * New Method: epInitializeEnvironment
 */
SOM_Scope void  SOMLINK epInitializeEnvironment(envProcessor somSelf);
/*
 *  Defines what steps need to be taken to initialize
 *  a given environment.
 */
#ifndef somId_epInitializeEnvironment
#define somId_epInitializeEnvironment ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_epInitializeEnvironment]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
*/
#define epInitializeEnvironment_somMethodInfoValue 0
#define epInitializeEnvironment_somApplyStubValue 0x1
#define epInitializeEnvironment_somHasMPlan 24

/*
 * New Method: epShutdownEnvironment
 */
SOM_Scope void  SOMLINK epShutdownEnvironment(envProcessor somSelf);
/*
 *  Defines what steps need to be taken to shutdown this
 *  environment.
 */
#ifndef somId_epShutdownEnvironment
#define somId_epShutdownEnvironment ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_epShutdownEnvironment]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
*/
#define epShutdownEnvironment_somMethodInfoValue 0
#define epShutdownEnvironment_somApplyStubValue 0x1
#define epShutdownEnvironment_somHasMPlan 24

/*
 * New Method: epPrepareForNewEnvironment
 */
SOM_Scope void  SOMLINK epPrepareForNewEnvironment(envProcessor somSelf);
/*
 *  Defines what steps this environment should take as it
 *  prepares to transfer control to a new environment.
 */
#ifndef somId_epPrepareForNewEnvironment
#define somId_epPrepareForNewEnvironment ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_epPrepareForNewEnvironment]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
*/
#define epPrepareForNewEnvironment_somMethodInfoValue 0
#define epPrepareForNewEnvironment_somApplyStubValue 0x1
#define epPrepareForNewEnvironment_somHasMPlan 24

/*
 * New Method: _get_paragraphIndentation
 */
SOM_Scope long  SOMLINK _get_paragraphIndentation(envProcessor somSelf);
/*
 *  The indentation for a new paragraph for this environment.
 */
#ifndef somId__get_paragraphIndentation
#define somId__get_paragraphIndentation ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds__get_paragraphIndentation]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: Long
*/
#define _get_paragraphIndentation_somMethodInfoValue 0
#define _get_paragraphIndentation_somApplyStubValue 0x830105
#define _get_paragraphIndentation_somHasMPlan 24

/*
 * New Method: _get_lineIndentation
 */
SOM_Scope long  SOMLINK _get_lineIndentation(envProcessor somSelf);
/*
 *  The indentation for a new line for this environment.
 */
#ifndef somId__get_lineIndentation
#define somId__get_lineIndentation ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds__get_lineIndentation]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: Long
*/
#define _get_lineIndentation_somMethodInfoValue 0
#define _get_lineIndentation_somApplyStubValue 0x830105
#define _get_lineIndentation_somHasMPlan 24

/*
 * New Method: _get_currentPage
 */
SOM_Scope page  SOMLINK _get_currentPage(envProcessor somSelf);
/*
 * Method from the IDL attribute statement:
 * "attribute page currentPage"
 */
#ifndef somId__get_currentPage
#define somId__get_currentPage ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds__get_currentPage]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: ObjREF
*/
#define _get_currentPage_somMethodInfoValue 0
#define _get_currentPage_somApplyStubValue 0x960105
#define _get_currentPage_somHasMPlan 24

/*
 * New Method: _set_currentPage
 */
SOM_Scope void  SOMLINK _set_currentPage(envProcessor somSelf,
		page currentPage);
/*
 * Method from the IDL attribute statement:
 * "attribute page currentPage"
 */
#ifndef somId__set_currentPage
#define somId__set_currentPage ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds__set_currentPage]))
#endif
#define SOM_MPR_MINFO__set_currentPage {0, 8, 0}
static somMpRowMethodInfo envProcessor__set_currentPage_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO__set_currentPage};
#ifndef DEFINEDenvProcessor__set_currentPage_mp
#define DEFINEDenvProcessor__set_currentPage_mp
/*[ ::envProcessor::_set_currentPage envProcessor__set_currentPage_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
ARG 0[in]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } envProcessor__set_currentPage_mp={&envProcessor__set_currentPage_mp_minfoRow, {
0x81, 0x01, 0x56},
};
#endif
#define _set_currentPage_somMethodInfoValue 0
#define _set_currentPage_somApplyStubValue &envProcessor__set_currentPage_mp.csr
#define _set_currentPage_somHasMPlan 8

/*
 * New Method: _get_currentFileMgr
 */
SOM_Scope fileMgr  SOMLINK _get_currentFileMgr(envProcessor somSelf);
/*
 * Method from the IDL attribute statement:
 * "attribute fileMgr currentFileMgr"
 */
#ifndef somId__get_currentFileMgr
#define somId__get_currentFileMgr ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds__get_currentFileMgr]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: ObjREF
*/
#define _get_currentFileMgr_somMethodInfoValue 0
#define _get_currentFileMgr_somApplyStubValue 0x960105
#define _get_currentFileMgr_somHasMPlan 24

/*
 * New Method: _set_currentFileMgr
 */
SOM_Scope void  SOMLINK _set_currentFileMgr(envProcessor somSelf,
		fileMgr currentFileMgr);
/*
 * Method from the IDL attribute statement:
 * "attribute fileMgr currentFileMgr"
 */
#ifndef somId__set_currentFileMgr
#define somId__set_currentFileMgr ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds__set_currentFileMgr]))
#endif
#define SOM_MPR_MINFO__set_currentFileMgr {0, 8, 0}
static somMpRowMethodInfo envProcessor__set_currentFileMgr_mp_minfoRow = {{0, SOM_MP_ROWTYPE_METHODINFO}, SOM_MPR_MINFO__set_currentFileMgr};
#ifndef DEFINEDenvProcessor__set_currentFileMgr_mp
#define DEFINEDenvProcessor__set_currentFileMgr_mp
/*[ ::envProcessor::_set_currentFileMgr envProcessor__set_currentFileMgr_mp ]*/
/* Contract specification:
[CALLTYPE_OIDL (1)][VERSION 0]
ARG 0[in]: ObjREF
*/
static struct { void * rows; unsigned char csr[4]; } envProcessor__set_currentFileMgr_mp={&envProcessor__set_currentFileMgr_mp_minfoRow, {
0x81, 0x01, 0x56},
};
#endif
#define _set_currentFileMgr_somMethodInfoValue 0
#define _set_currentFileMgr_somApplyStubValue &envProcessor__set_currentFileMgr_mp.csr
#define _set_currentFileMgr_somHasMPlan 8

/*
 * New Method: _get_previousEnv
 */
SOM_Scope envProcessor  SOMLINK _get_previousEnv(envProcessor somSelf);
/*
 * Method from the IDL attribute statement:
 * "readonly attribute envProcessor previousEnv"
 */
#ifndef somId__get_previousEnv
#define somId__get_previousEnv ((somId)&(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds__get_previousEnv]))
#endif
/* Contract specification:
[CALLTYPE_OIDL (1)][RESULT][VERSION 0]
RESULT[out]: ObjREF
*/
#define _get_previousEnv_somMethodInfoValue 0
#define _get_previousEnv_somApplyStubValue 0x960105
#define _get_previousEnv_somHasMPlan 24

/*
 * Functions for attributes.
 */
SOM_Scope page  SOMLINK _get_currentPage(envProcessor somSelf){
    envProcessorData *somThis = envProcessorGetData(somSelf);

    return  (somThis->currentPage);
}
SOM_Scope void  SOMLINK _set_currentPage(envProcessor somSelf,
		page currentPage){
    envProcessorData *somThis = envProcessorGetData(somSelf);

    (somThis->currentPage) = currentPage;
}
SOM_Scope fileMgr  SOMLINK _get_currentFileMgr(envProcessor somSelf){
    envProcessorData *somThis = envProcessorGetData(somSelf);

    return  (somThis->currentFileMgr);
}
SOM_Scope void  SOMLINK _set_currentFileMgr(envProcessor somSelf,
		fileMgr currentFileMgr){
    envProcessorData *somThis = envProcessorGetData(somSelf);

    (somThis->currentFileMgr) = currentFileMgr;
}
SOM_Scope envProcessor  SOMLINK _get_previousEnv(envProcessor somSelf){
    envProcessorData *somThis = envProcessorGetData(somSelf);

    return  (somThis->previousEnv);
}

/*
 * Special Method Support
 */

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

somMethodDefn __somC_envProcessor_newNDMethodsArray[] = {
	{  (0 | epInit1_somHasMPlan), 0, (somMToken)0, (somMethodPtr)epInit1, 
	   0, (somMethodPtr)epInit1_somApplyStubValue, 
	   (somMethodInfo *) epInit1_somMethodInfoValue, &envProcessorClassData.epInit1, 0, 1 },
	{  (0 | epProcessEnvironment_somHasMPlan), 0, (somMToken)0, (somMethodPtr)epProcessEnvironment, 
	   0, (somMethodPtr)epProcessEnvironment_somApplyStubValue, 
	   (somMethodInfo *) epProcessEnvironment_somMethodInfoValue, &envProcessorClassData.epProcessEnvironment, 0, 1 },
	{  (0 | epStartUpNewEnvironment_somHasMPlan), 0, (somMToken)0, (somMethodPtr)epStartUpNewEnvironment, 
	   0, (somMethodPtr)epStartUpNewEnvironment_somApplyStubValue, 
	   (somMethodInfo *) epStartUpNewEnvironment_somMethodInfoValue, &envProcessorClassData.epStartUpNewEnvironment, 0, 1 },
	{  (0 | epInitializeEnvironment_somHasMPlan), 0, (somMToken)0, (somMethodPtr)epInitializeEnvironment, 
	   0, (somMethodPtr)epInitializeEnvironment_somApplyStubValue, 
	   (somMethodInfo *) epInitializeEnvironment_somMethodInfoValue, &envProcessorClassData.epInitializeEnvironment, 0, 1 },
	{  (0 | epShutdownEnvironment_somHasMPlan), 0, (somMToken)0, (somMethodPtr)epShutdownEnvironment, 
	   0, (somMethodPtr)epShutdownEnvironment_somApplyStubValue, 
	   (somMethodInfo *) epShutdownEnvironment_somMethodInfoValue, &envProcessorClassData.epShutdownEnvironment, 0, 1 },
	{  (0 | epPrepareForNewEnvironment_somHasMPlan), 0, (somMToken)0, (somMethodPtr)epPrepareForNewEnvironment, 
	   0, (somMethodPtr)epPrepareForNewEnvironment_somApplyStubValue, 
	   (somMethodInfo *) epPrepareForNewEnvironment_somMethodInfoValue, &envProcessorClassData.epPrepareForNewEnvironment, 0, 1 },
	{  (0 | _get_paragraphIndentation_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_get_paragraphIndentation, 
	   0, (somMethodPtr)_get_paragraphIndentation_somApplyStubValue, 
	   (somMethodInfo *) _get_paragraphIndentation_somMethodInfoValue, &envProcessorClassData._get_paragraphIndentation, 0, 1 },
	{  (0 | _get_lineIndentation_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_get_lineIndentation, 
	   0, (somMethodPtr)_get_lineIndentation_somApplyStubValue, 
	   (somMethodInfo *) _get_lineIndentation_somMethodInfoValue, &envProcessorClassData._get_lineIndentation, 0, 1 },
	{  (0 | _get_currentPage_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_get_currentPage, 
	   0, (somMethodPtr)_get_currentPage_somApplyStubValue, 
	   (somMethodInfo *) _get_currentPage_somMethodInfoValue, &envProcessorClassData._get_currentPage, 0, 1 },
	{  (0 | _set_currentPage_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_set_currentPage, 
	   0, (somMethodPtr)_set_currentPage_somApplyStubValue, 
	   (somMethodInfo *) _set_currentPage_somMethodInfoValue, &envProcessorClassData._set_currentPage, 0, 1 },
	{  (0 | _get_currentFileMgr_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_get_currentFileMgr, 
	   0, (somMethodPtr)_get_currentFileMgr_somApplyStubValue, 
	   (somMethodInfo *) _get_currentFileMgr_somMethodInfoValue, &envProcessorClassData._get_currentFileMgr, 0, 1 },
	{  (0 | _set_currentFileMgr_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_set_currentFileMgr, 
	   0, (somMethodPtr)_set_currentFileMgr_somApplyStubValue, 
	   (somMethodInfo *) _set_currentFileMgr_somMethodInfoValue, &envProcessorClassData._set_currentFileMgr, 0, 1 },
	{  (0 | _get_previousEnv_somHasMPlan), 0, (somMToken)0, (somMethodPtr)_get_previousEnv, 
	   0, (somMethodPtr)_get_previousEnv_somApplyStubValue, 
	   (somMethodInfo *) _get_previousEnv_somMethodInfoValue, &envProcessorClassData._get_previousEnv, 0, 1 }
};

static somOverrideMethod_t2 __somC_envProcessor_overridesArray[] = {
{ &(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_somInit]), 
#ifdef SOMPCALLenvProcessor_somInit
   (somMethodPtr*)&envProcessor_pcall_somInit_resolved, 
   (somMethodPtr)envProcessor_pcallResolve_somInit, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somInit },
{ &(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_somUninit]), 
#ifdef SOMPCALLenvProcessor_somUninit
   (somMethodPtr*)&envProcessor_pcall_somUninit_resolved, 
   (somMethodPtr)envProcessor_pcallResolve_somUninit, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somUninit },
{ &(__somC_envProcessor_regIdsArray[__somC_envProcessor_regIds_somDumpSelfInt]), 
#ifdef SOMPCALLenvProcessor_somDumpSelfInt
   (somMethodPtr*)&envProcessor_pcall_somDumpSelfInt_resolved, 
   (somMethodPtr)envProcessor_pcallResolve_somDumpSelfInt, 
#else
   (somMethodPtr*)0, 
   (somMethodPtr)0, 
#endif
(somMethodPtr)somDumpSelfInt }
};

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

static struct envProcessorClassDataStructure __somC_envProcessor_resolvedMTokens;

static void * __somC_envProcessor_CIB_unsharedClassVariablesPtr = 0;
som3ClassInfoStruct __somC_envProcessor_ClassInfo; /* C forward reference */

SOM_CIB envProcessor_ClassInitBlock = {
	1,	/* layoutVersion */
	&__somC_envProcessor_classVars1,
	&__somC_envProcessor_CIB_unsharedClassVariablesPtr,	/* unsharedVars */
	envProcessor_MajorVersion,
	envProcessor_MinorVersion,
	0x40004,	/* constFlags */
	0xFFFFFFFF,	/* inheritVars */
	0,	/* classMeta */
	(somMethodPtr) __somC_envProcessor_classInit,	/* classInit */
	(somMethodPtr) 0,	/* classUninit */
	(somMethodPtr) somInit,	/* legacyInit */
	(somMethodPtr) somUninit,	/* legacyUninit */
	(somMethodPtr) 0,	/* udaAssign */
	(somMethodPtr) 0,	/* udaConstAssign */
	0,	/* protectedDataOffset */
	0,	/* numEmbeddedObjs */
	0,	/* embeddedObjs */
	18,	/* numRegIds */
	__somC_envProcessor_regIdsArray,	/* regIds */
	(sizeof(struct envProcessorClassDataStructure) - sizeof(SOMClass *))/sizeof(somMToken),	/* numClassDataEntries */
	(somClassDataStructurePtr)&envProcessorClassData,
	(somCClassDataStructurePtr)&envProcessorCClassData,
	&__somC_envProcessor_ClassInfo,
	1,	/* numParents */
	(SOMClass**)__somC_envProcessor_parentArray,	/* parents */
	1,	/* numDirectInitClasses */
	(SOMClass**)__somC_envProcessor_parentArray,	/* directInitClasses */
	0,	/* numNewInitializers */
	0,	/* newInitializerSymbols */
	0,	/* numOvInitializers */
	0,	/* ovInitializerSymbols */
	0,	/* special overrides */
	13,	/* maxNDMethods */
	__somC_envProcessor_newNDMethodsArray,	/* newNDMethods */
	3,	/* numOverrides */
	__somC_envProcessor_overridesArray,	/* overrides */
	0,	/* numInheritedSelections */
	0,	/* inheritedSelections */
	0,	/* numMigratedMethods */
	0 	/* migrated methods */
};	/* CIB */

static som3ClassDetails __somC_envProcessor_ClassDetails = {
	(somMethodTabPtr)NULL,	/* mtab */
	(somMethodTabPtr *)__somC_envProcessor_parentMtabs,	/* parentMtabs */
	&envProcessor_ClassInitBlock,	/* CIB pointer */
	(somTD_somRenewNoInitNoZeroThunk)0,	/* somRenewNoInitNoZeroThunk */
	(long)0,	/* instanceSize */
	(somMethodProc**)NULL,	/* resolvedInits */
	(somClassDataStructure *)&__somC_envProcessor_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_envProcessor_ClassInfo = {
	0,	/* classObject */
	&__somC_envProcessor_ClassDetails	/* class details */
};


/*
 * Class Creation and Initialization
 */

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

/* classinit function */
SOM_Scope void SOMLINK __somC_envProcessor_classInit(SOMClass somSelf)
{
   SOM_IgnoreWarning(somSelf);
   envProcessor_parent_SOMObject_somDumpSelfInt_resolved = 
	somParentNumResolve(envProcessorCClassData.parentMtab, 1, _SOMMTOKEN_SOMObject(somDumpSelfInt)); 
}

/* NewClass Function */
SOMEXTERN SOMDLLEXPORT SOMClass  SOMLINK envProcessorNewClass (long reqMajorVersion, long reqMinorVersion)
{
   if (_SOMCLASS_envProcessor && _somCheckVersion(_SOMCLASS_envProcessor,reqMajorVersion,reqMinorVersion))
      return _SOMCLASS_envProcessor;
__somC_envProcessor_parentArray[0] = (SOMClass *)&_SOMCLASS_SOMObject;
   /* require parents */
   if (!_SOMCLASS_SOMObject) SOMObjectNewClass(SOMObject_MajorVersion,SOMObject_MinorVersion);
   /* return new class */
   return somBuildClass2( &envProcessor_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_envProcessor_ih */
