
/*
 * This file was generated by the SOM Compiler.
 * FileName: xnamingf.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.19
 *     SOM Emitter emith.dll: 2.31.1.64
 */

#ifndef SOM_Module_xnamingf_FileXNaming_defined
#define SOM_Module_xnamingf_FileXNaming_defined 1

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

#include <som.h>

/*
 * Start of bindings for IDL types
 */

#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef ExtendedNaming_PropertyBindingIterator
    #define ExtendedNaming_PropertyBindingIterator SOMObject
#endif /* ExtendedNaming_PropertyBindingIterator */
#ifndef ExtendedNaming_PropertyIterator
    #define ExtendedNaming_PropertyIterator SOMObject
#endif /* ExtendedNaming_PropertyIterator */
#ifndef ExtendedNaming_IndexIterator
    #define ExtendedNaming_IndexIterator SOMObject
#endif /* ExtendedNaming_IndexIterator */
#ifndef Container
    #define Container SOMObject
#endif /* Container */
#ifndef SOMDObject
    #define SOMDObject SOMObject
#endif /* SOMDObject */
#ifndef Principal
    #define Principal SOMObject
#endif /* Principal */
#ifndef ImplementationDef
    #define ImplementationDef SOMObject
#endif /* ImplementationDef */
#ifndef InterfaceDef
    #define InterfaceDef SOMObject
#endif /* InterfaceDef */
#ifndef NVList
    #define NVList SOMObject
#endif /* NVList */
#ifndef Context
    #define Context SOMObject
#endif /* Context */
#ifndef Request
    #define Request SOMObject
#endif /* Request */
#ifndef CosObjectIdentity_IdentifiableObject
    #define CosObjectIdentity_IdentifiableObject SOMObject
#endif /* CosObjectIdentity_IdentifiableObject */
#ifndef DataBase
    #define DataBase SOMObject
#endif /* DataBase */
#ifndef BackingStore
    #define BackingStore SOMObject
#endif /* BackingStore */
#define FileXNaming_STARTINGLENGTH 16 /* 16 */
#define FileXNaming_MAXSTACK 100 /* 100 */
/*
 *  File system based ENC. Concrete implementation of
 *  ExtendedNamingContext
 */


#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_STARTINGLENGTH
    #ifdef STARTINGLENGTH
        #undef STARTINGLENGTH
        #define SOMTGD_STARTINGLENGTH 1
    #else
        #define STARTINGLENGTH FileXNaming_STARTINGLENGTH
    #endif /* STARTINGLENGTH */
#endif /* SOMTGD_STARTINGLENGTH */
#ifndef SOMTGD_MAXSTACK
    #ifdef MAXSTACK
        #undef MAXSTACK
        #define SOMTGD_MAXSTACK 1
    #else
        #define MAXSTACK FileXNaming_MAXSTACK
    #endif /* MAXSTACK */
#endif /* SOMTGD_MAXSTACK */
#endif /* SOM_DONT_USE_SHORT_NAMES */

/*
 * End of bindings for IDL types.
 */
#endif /* SOM_Module_xnamingf_FileXNaming_defined */

#ifndef SOM_FileXNaming_FileENC_h
#define SOM_FileXNaming_FileENC_h


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


#include <som.h>
#ifndef SOM_IMPORTEXPORT_somnmf_xnamingf
#ifdef SOM_DLL_somnmf
	/* export semantics */
	#if defined(SOM_DEFFILE_somnmf)\
	||(defined(SOM_DEFFILE_BY_DEFAULT)&&!defined(SOM_NODEFFILE_somnmf))\
	|| !defined(SOM_Module_xnamingf_Source)
	#define SOM_IMPORTEXPORT_somnmf_xnamingf
	#else
	#define SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLLEXPORT
	#endif
#else
	#define SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLLIMPORT
#endif
#endif

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))

/*
 * Define the class name as an object type
 */
#ifndef FileXNaming_FileENC
#define FileXNaming_FileENC SOMObject
#endif
/*
 *  default implementation of BindingIterator
 */

/*
 * Include Parent Bindings
 */
#ifndef SOM_ExtendedNaming_ExtendedNamingContext_h
#ifdef SOMLOCALINCLUDES
#include "xnaming.h"
#else
#include <xnaming.h>
#endif
#endif
#ifndef SOM_somOS_ServiceBase_h
#ifdef SOMLOCALINCLUDES
#include "somos.h"
#else
#include <somos.h>
#endif
#endif

/*
 * Start of bindings for IDL types
 */

typedef
string  FileXNaming_FileENC_Constraint;
typedef
char * FileXNaming_FileENC_Strings;
#ifndef _IDL_SEQUENCE_FileXNaming_FileENC_Strings_defined
#define _IDL_SEQUENCE_FileXNaming_FileENC_Strings_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    FileXNaming_FileENC_Strings *_buffer;
} _IDL_SEQUENCE_FileXNaming_FileENC_Strings;
#endif /* _IDL_SEQUENCE_FileXNaming_FileENC_Strings_defined */ 

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_Constraint
    #ifdef Constraint
        #undef Constraint
        #define SOMTGD_Constraint 1
    #else
        #define Constraint FileXNaming_FileENC_Constraint
    #endif /* Constraint */
#endif /* SOMTGD_Constraint */
#endif /* SOM_DONT_USE_SHORT_NAMES */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_Strings
    #ifdef Strings
        #undef Strings
        #define SOMTGD_Strings 1
    #else
        #define Strings FileXNaming_FileENC_Strings
    #endif /* Strings */
#endif /* SOMTGD_Strings */
#endif /* SOM_DONT_USE_SHORT_NAMES */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD__IDL_SEQUENCE_Strings
    #ifdef _IDL_SEQUENCE_Strings
        #undef _IDL_SEQUENCE_Strings
        #define SOMTGD__IDL_SEQUENCE_Strings 1
    #else
        #define _IDL_SEQUENCE_Strings _IDL_SEQUENCE_FileXNaming_FileENC_Strings
    #endif /* _IDL_SEQUENCE_Strings */
#endif /* SOMTGD__IDL_SEQUENCE_Strings */
#endif /* SOM_DONT_USE_SHORT_NAMES */

/*
 * End of bindings for IDL types.
 */

#define FileXNaming_FileENC_MajorVersion 0
#define FileXNaming_FileENC_MinorVersion 0

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOM_IMPORTEXPORT_somnmf_xnamingf SOMClass  SOMLINK FileXNaming_FileENCNewClass(integer4 somtmajorVersion,
		integer4 somtminorVersion);

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct FileXNaming_FileENCClassDataStructure {
	SOMClass classObject;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FileENCClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct FileXNaming_FileENCCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FileENCCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_FileXNaming_FileENC (FileXNaming_FileENCClassData.classObject)
#ifndef SOMGD_FileXNaming_FileENC
    #if (defined(_FileXNaming_FileENC) || defined(__FileXNaming_FileENC))
        #undef _FileXNaming_FileENC
        #undef __FileXNaming_FileENC
        #define SOMGD_FileXNaming_FileENC 1
    #else
        #define _FileXNaming_FileENC _SOMCLASS_FileXNaming_FileENC
    #endif /* _FileXNaming_FileENC */
#endif /* SOMGD_FileXNaming_FileENC */
#define FileXNaming_FileENC_classObj _SOMCLASS_FileXNaming_FileENC
#define _SOMMTOKEN_FileXNaming_FileENC(method) ((somMToken)FileXNaming_FileENCClassData.method)

/*
 * New and Renew macros for FileXNaming_FileENC
 */
#define FileXNaming_FileENCNew() \
   ( _FileXNaming_FileENC ? \
	_somNew(_FileXNaming_FileENC) \
	: ( FileXNaming_FileENCNewClass(\
		FileXNaming_FileENC_MajorVersion, \
		FileXNaming_FileENC_MinorVersion),\
	   _somNew(_FileXNaming_FileENC)))
#define FileXNaming_FileENCRenew(buf) \
   ( _FileXNaming_FileENC ? \
	_somRenew(_FileXNaming_FileENC, buf) \
	: ( FileXNaming_FileENCNewClass(\
		FileXNaming_FileENC_MajorVersion, \
		FileXNaming_FileENC_MinorVersion),\
	   _somRenew(_FileXNaming_FileENC, buf)))

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define FileXNaming_FileENC__get_allowed_object_types ExtendedNaming_ExtendedNamingContext__get_allowed_object_types
#define FileXNaming_FileENC__get_allowed_property_types ExtendedNaming_ExtendedNamingContext__get_allowed_property_types
#define FileXNaming_FileENC__get_allowed_property_names ExtendedNaming_ExtendedNamingContext__get_allowed_property_names
#define FileXNaming_FileENC__get_shared_property_types ExtendedNaming_ExtendedNamingContext__get_shared_property_types
#define FileXNaming_FileENC__get_shared_property_names ExtendedNaming_ExtendedNamingContext__get_shared_property_names
#define FileXNaming_FileENC_get_features_supported ExtendedNaming_ExtendedNamingContext_get_features_supported
#define FileXNaming_FileENC_add_property ExtendedNaming_ExtendedNamingContext_add_property
#define FileXNaming_FileENC_add_properties ExtendedNaming_ExtendedNamingContext_add_properties
#define FileXNaming_FileENC_bind_with_properties ExtendedNaming_ExtendedNamingContext_bind_with_properties
#define FileXNaming_FileENC_bind_context_with_properties ExtendedNaming_ExtendedNamingContext_bind_context_with_properties
#define FileXNaming_FileENC_rebind_with_properties ExtendedNaming_ExtendedNamingContext_rebind_with_properties
#define FileXNaming_FileENC_rebind_context_with_properties ExtendedNaming_ExtendedNamingContext_rebind_context_with_properties
#define FileXNaming_FileENC_share_property ExtendedNaming_ExtendedNamingContext_share_property
#define FileXNaming_FileENC_share_properties ExtendedNaming_ExtendedNamingContext_share_properties
#define FileXNaming_FileENC_unshare_property ExtendedNaming_ExtendedNamingContext_unshare_property
#define FileXNaming_FileENC_unshare_properties ExtendedNaming_ExtendedNamingContext_unshare_properties
#define FileXNaming_FileENC_list_properties ExtendedNaming_ExtendedNamingContext_list_properties
#define FileXNaming_FileENC_get_property ExtendedNaming_ExtendedNamingContext_get_property
#define FileXNaming_FileENC_get_properties ExtendedNaming_ExtendedNamingContext_get_properties
#define FileXNaming_FileENC_get_all_properties ExtendedNaming_ExtendedNamingContext_get_all_properties
#define FileXNaming_FileENC_resolve_with_property ExtendedNaming_ExtendedNamingContext_resolve_with_property
#define FileXNaming_FileENC_resolve_with_properties ExtendedNaming_ExtendedNamingContext_resolve_with_properties
#define FileXNaming_FileENC_resolve_with_all_properties ExtendedNaming_ExtendedNamingContext_resolve_with_all_properties
#define FileXNaming_FileENC_remove_property ExtendedNaming_ExtendedNamingContext_remove_property
#define FileXNaming_FileENC_remove_properties ExtendedNaming_ExtendedNamingContext_remove_properties
#define FileXNaming_FileENC_remove_all_properties ExtendedNaming_ExtendedNamingContext_remove_all_properties
#define FileXNaming_FileENC_find_any ExtendedNaming_ExtendedNamingContext_find_any
#define FileXNaming_FileENC_find_all ExtendedNaming_ExtendedNamingContext_find_all
#define FileXNaming_FileENC_find_any_name_binding ExtendedNaming_ExtendedNamingContext_find_any_name_binding
#define FileXNaming_FileENC_add_index ExtendedNaming_ExtendedNamingContext_add_index
#define FileXNaming_FileENC_list_indexes ExtendedNaming_ExtendedNamingContext_list_indexes
#define FileXNaming_FileENC_remove_index ExtendedNaming_ExtendedNamingContext_remove_index
#define FileXNaming_FileENC_somDestruct SOMObject_somDestruct
#define FileXNaming_FileENC_somDefaultInit SOMObject_somDefaultInit
#define FileXNaming_FileENC_bind CosNaming_NamingContext_bind
#define FileXNaming_FileENC_rebind CosNaming_NamingContext_rebind
#define FileXNaming_FileENC_bind_context CosNaming_NamingContext_bind_context
#define FileXNaming_FileENC_rebind_context CosNaming_NamingContext_rebind_context
#define FileXNaming_FileENC_resolve CosNaming_NamingContext_resolve
#define FileXNaming_FileENC_unbind CosNaming_NamingContext_unbind
#define FileXNaming_FileENC_new_context CosNaming_NamingContext_new_context
#define FileXNaming_FileENC_bind_new_context CosNaming_NamingContext_bind_new_context
#define FileXNaming_FileENC_destroy CosNaming_NamingContext_destroy
#define FileXNaming_FileENC_list CosNaming_NamingContext_list
#define FileXNaming_FileENC_somDumpSelfInt SOMObject_somDumpSelfInt
#define FileXNaming_FileENC_reinit somOS_ServiceBase_reinit
#define FileXNaming_FileENC_capture somOS_ServiceBase_capture
#define FileXNaming_FileENC_init_for_object_creation somOS_ServiceBase_init_for_object_creation
#define FileXNaming_FileENC_uninit_for_object_destruction somOS_ServiceBase_uninit_for_object_destruction

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define FileXNaming_FileENC_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define FileXNaming_FileENC_somDefaultAssign SOMObject_somDefaultAssign
#define FileXNaming_FileENC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define FileXNaming_FileENC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define FileXNaming_FileENC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define FileXNaming_FileENC_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define FileXNaming_FileENC_somDefaultVAssign SOMObject_somDefaultVAssign
#define FileXNaming_FileENC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define FileXNaming_FileENC_somInit SOMObject_somInit
#define FileXNaming_FileENC_somUninit SOMObject_somUninit
#define FileXNaming_FileENC_somFree SOMObject_somFree
#define FileXNaming_FileENC_somGetClass SOMObject_somGetClass
#define FileXNaming_FileENC_somGetClassName SOMObject_somGetClassName
#define FileXNaming_FileENC_somGetSize SOMObject_somGetSize
#define FileXNaming_FileENC_somIsA SOMObject_somIsA
#define FileXNaming_FileENC_somIsInstanceOf SOMObject_somIsInstanceOf
#define FileXNaming_FileENC_somRespondsTo SOMObject_somRespondsTo
#define FileXNaming_FileENC_somDispatch SOMObject_somDispatch
#define FileXNaming_FileENC_somClassDispatch SOMObject_somClassDispatch
#define FileXNaming_FileENC_somCastObj SOMObject_somCastObj
#define FileXNaming_FileENC_somResetObj SOMObject_somResetObj
#define FileXNaming_FileENC_somPrintSelf SOMObject_somPrintSelf
#define FileXNaming_FileENC_somDumpSelf SOMObject_somDumpSelf
#define FileXNaming_FileENC_GetInstanceManager somOS_ServiceBase_GetInstanceManager
#define FileXNaming_FileENC_init_for_object_reactivation somOS_ServiceBase_init_for_object_reactivation
#define FileXNaming_FileENC_init_for_object_copy somOS_ServiceBase_init_for_object_copy
#define FileXNaming_FileENC_uninit_for_object_move somOS_ServiceBase_uninit_for_object_move
#define FileXNaming_FileENC_uninit_for_object_passivation somOS_ServiceBase_uninit_for_object_passivation
#define FileXNaming_FileENC_is_identical CosObjectIdentity_IdentifiableObject_is_identical
#define FileXNaming_FileENC__get_constant_random_id CosObjectIdentity_IdentifiableObject__get_constant_random_id
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_FileXNaming_FileENC_h */

#ifndef SOM_FileXNaming_FileBindingIterator_h
#define SOM_FileXNaming_FileBindingIterator_h


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


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))

/*
 * Define the class name as an object type
 */
#ifndef FileXNaming_FileBindingIterator
#define FileXNaming_FileBindingIterator SOMObject
#endif

/*
 * Include Parent Bindings
 */
#ifndef SOM_CosNaming_BindingIterator_h
#ifdef SOMLOCALINCLUDES
#include "naming.h"
#else
#include <naming.h>
#endif
#endif

/*
 * Start of bindings for IDL types
 */

#ifndef _IDL_SEQUENCE_string_defined
#define _IDL_SEQUENCE_string_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    string *_buffer;
} _IDL_SEQUENCE_string;
#endif /* _IDL_SEQUENCE_string_defined */ 
typedef
_IDL_SEQUENCE_string FileXNaming_FileBindingIterator_stringSeq;

#ifndef SOM_DONT_USE_SHORT_NAMES

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_stringSeq
    #ifdef stringSeq
        #undef stringSeq
        #define SOMTGD_stringSeq 1
    #else
        #define stringSeq FileXNaming_FileBindingIterator_stringSeq
    #endif /* stringSeq */
#endif /* SOMTGD_stringSeq */
#endif /* SOM_DONT_USE_SHORT_NAMES */
#endif /* SOM_DONT_USE_SHORT_NAMES */

/*
 * End of bindings for IDL types.
 */

#define FileXNaming_FileBindingIterator_MajorVersion 0
#define FileXNaming_FileBindingIterator_MinorVersion 0

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOM_IMPORTEXPORT_somnmf_xnamingf SOMClass  SOMLINK FileXNaming_FileBindingIteratorNewClass(integer4 somtmajorVersion,
		integer4 somtminorVersion);

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct FileXNaming_FileBindingIteratorClassDataStructure {
	SOMClass classObject;
	somMToken FileBindingIterator_Init1;
	somMToken FileBindingIterator_Init2;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FileBindingIteratorClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct FileXNaming_FileBindingIteratorCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FileBindingIteratorCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_FileXNaming_FileBindingIterator (FileXNaming_FileBindingIteratorClassData.classObject)
#ifndef SOMGD_FileXNaming_FileBindingIterator
    #if (defined(_FileXNaming_FileBindingIterator) || defined(__FileXNaming_FileBindingIterator))
        #undef _FileXNaming_FileBindingIterator
        #undef __FileXNaming_FileBindingIterator
        #define SOMGD_FileXNaming_FileBindingIterator 1
    #else
        #define _FileXNaming_FileBindingIterator _SOMCLASS_FileXNaming_FileBindingIterator
    #endif /* _FileXNaming_FileBindingIterator */
#endif /* SOMGD_FileXNaming_FileBindingIterator */
#define FileXNaming_FileBindingIterator_classObj _SOMCLASS_FileXNaming_FileBindingIterator
#define _SOMMTOKEN_FileXNaming_FileBindingIterator(method) ((somMToken)FileXNaming_FileBindingIteratorClassData.method)

/*
 * New and Renew macros for FileXNaming_FileBindingIterator
 */
#define FileXNaming_FileBindingIteratorNew() \
   ( _FileXNaming_FileBindingIterator ? \
	_somNew(_FileXNaming_FileBindingIterator) \
	: ( FileXNaming_FileBindingIteratorNewClass(\
		FileXNaming_FileBindingIterator_MajorVersion, \
		FileXNaming_FileBindingIterator_MinorVersion),\
	   _somNew(_FileXNaming_FileBindingIterator)))
#define FileXNaming_FileBindingIteratorRenew(buf) \
   ( _FileXNaming_FileBindingIterator ? \
	_somRenew(_FileXNaming_FileBindingIterator, buf) \
	: ( FileXNaming_FileBindingIteratorNewClass(\
		FileXNaming_FileBindingIterator_MajorVersion, \
		FileXNaming_FileBindingIterator_MinorVersion),\
	   _somRenew(_FileXNaming_FileBindingIterator, buf)))

/*
 * New Method: FileBindingIterator_Init1
 */
typedef void   SOMLINK somTP_FileXNaming_FileBindingIterator_FileBindingIterator_Init1(FileXNaming_FileBindingIterator somSelf, Environment *ev, 
		somInitCtrl* ctrl, 
		FileXNaming_FileBindingIterator_stringSeq* key, 
		string databaseFile);
typedef somTP_FileXNaming_FileBindingIterator_FileBindingIterator_Init1 *somTD_FileXNaming_FileBindingIterator_FileBindingIterator_Init1;
#define somMD_FileXNaming_FileBindingIterator_FileBindingIterator_Init1 "::FileXNaming::FileBindingIterator::FileBindingIterator_Init1"
#define FileXNaming_FileBindingIterator_FileBindingIterator_Init1(somSelf,ev,ctrl,key,databaseFile) \
    (SOM_Resolve(somSelf, FileXNaming_FileBindingIterator, FileBindingIterator_Init1) \
	(somSelf,ev,ctrl,key,databaseFile))
#ifndef SOMGD_FileBindingIterator_Init1
    #if (defined(_FileBindingIterator_Init1) || defined(__FileBindingIterator_Init1))
        #undef _FileBindingIterator_Init1
        #undef __FileBindingIterator_Init1
        #define SOMGD_FileBindingIterator_Init1 1
    #else
        #define _FileBindingIterator_Init1 FileXNaming_FileBindingIterator_FileBindingIterator_Init1
    #endif /* _FileBindingIterator_Init1 */
#endif /* SOMGD_FileBindingIterator_Init1 */

/*
 * New Method: FileBindingIterator_Init2
 */
typedef void   SOMLINK somTP_FileXNaming_FileBindingIterator_FileBindingIterator_Init2(FileXNaming_FileBindingIterator somSelf, Environment *ev, 
		somInitCtrl* ctrl, 
		CosNaming_BindingList* bl);
typedef somTP_FileXNaming_FileBindingIterator_FileBindingIterator_Init2 *somTD_FileXNaming_FileBindingIterator_FileBindingIterator_Init2;
#define somMD_FileXNaming_FileBindingIterator_FileBindingIterator_Init2 "::FileXNaming::FileBindingIterator::FileBindingIterator_Init2"
#define FileXNaming_FileBindingIterator_FileBindingIterator_Init2(somSelf,ev,ctrl,bl) \
    (SOM_Resolve(somSelf, FileXNaming_FileBindingIterator, FileBindingIterator_Init2) \
	(somSelf,ev,ctrl,bl))
#ifndef SOMGD_FileBindingIterator_Init2
    #if (defined(_FileBindingIterator_Init2) || defined(__FileBindingIterator_Init2))
        #undef _FileBindingIterator_Init2
        #undef __FileBindingIterator_Init2
        #define SOMGD_FileBindingIterator_Init2 1
    #else
        #define _FileBindingIterator_Init2 FileXNaming_FileBindingIterator_FileBindingIterator_Init2
    #endif /* _FileBindingIterator_Init2 */
#endif /* SOMGD_FileBindingIterator_Init2 */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define FileXNaming_FileBindingIterator_next_one CosNaming_BindingIterator_next_one
#define FileXNaming_FileBindingIterator_next_n CosNaming_BindingIterator_next_n
#define FileXNaming_FileBindingIterator_destroy CosNaming_BindingIterator_destroy

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define FileXNaming_FileBindingIterator_somDefaultInit SOMObject_somDefaultInit
#define FileXNaming_FileBindingIterator_somDestruct SOMObject_somDestruct
#define FileXNaming_FileBindingIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define FileXNaming_FileBindingIterator_somDefaultAssign SOMObject_somDefaultAssign
#define FileXNaming_FileBindingIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define FileXNaming_FileBindingIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define FileXNaming_FileBindingIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define FileXNaming_FileBindingIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define FileXNaming_FileBindingIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define FileXNaming_FileBindingIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define FileXNaming_FileBindingIterator_somInit SOMObject_somInit
#define FileXNaming_FileBindingIterator_somUninit SOMObject_somUninit
#define FileXNaming_FileBindingIterator_somFree SOMObject_somFree
#define FileXNaming_FileBindingIterator_somGetClass SOMObject_somGetClass
#define FileXNaming_FileBindingIterator_somGetClassName SOMObject_somGetClassName
#define FileXNaming_FileBindingIterator_somGetSize SOMObject_somGetSize
#define FileXNaming_FileBindingIterator_somIsA SOMObject_somIsA
#define FileXNaming_FileBindingIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define FileXNaming_FileBindingIterator_somRespondsTo SOMObject_somRespondsTo
#define FileXNaming_FileBindingIterator_somDispatch SOMObject_somDispatch
#define FileXNaming_FileBindingIterator_somClassDispatch SOMObject_somClassDispatch
#define FileXNaming_FileBindingIterator_somCastObj SOMObject_somCastObj
#define FileXNaming_FileBindingIterator_somResetObj SOMObject_somResetObj
#define FileXNaming_FileBindingIterator_somPrintSelf SOMObject_somPrintSelf
#define FileXNaming_FileBindingIterator_somDumpSelf SOMObject_somDumpSelf
#define FileXNaming_FileBindingIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

/*
 * Constructors for FileXNaming_FileBindingIterator objects
 */
static FileXNaming_FileBindingIterator FileXNaming_FileBindingIteratorNew_FileBindingIterator_Init1(Environment *ev,FileXNaming_FileBindingIterator_stringSeq* key,string databaseFile)
{
   FileXNaming_FileBindingIterator __somtmp_FileXNaming_FileBindingIterator;
   if (!_FileXNaming_FileBindingIterator) FileXNaming_FileBindingIteratorNewClass(FileXNaming_FileBindingIterator_MajorVersion, FileXNaming_FileBindingIterator_MinorVersion);
   __somtmp_FileXNaming_FileBindingIterator = SOMClass_somNewNoInit(_FileXNaming_FileBindingIterator);
   FileXNaming_FileBindingIterator_FileBindingIterator_Init1(__somtmp_FileXNaming_FileBindingIterator,ev,0,key,databaseFile);
   return __somtmp_FileXNaming_FileBindingIterator;
}

static FileXNaming_FileBindingIterator FileXNaming_FileBindingIteratorNew_FileBindingIterator_Init2(Environment *ev,CosNaming_BindingList* bl)
{
   FileXNaming_FileBindingIterator __somtmp_FileXNaming_FileBindingIterator;
   if (!_FileXNaming_FileBindingIterator) FileXNaming_FileBindingIteratorNewClass(FileXNaming_FileBindingIterator_MajorVersion, FileXNaming_FileBindingIterator_MinorVersion);
   __somtmp_FileXNaming_FileBindingIterator = SOMClass_somNewNoInit(_FileXNaming_FileBindingIterator);
   FileXNaming_FileBindingIterator_FileBindingIterator_Init2(__somtmp_FileXNaming_FileBindingIterator,ev,0,bl);
   return __somtmp_FileXNaming_FileBindingIterator;
}


#endif       /* SOM_FileXNaming_FileBindingIterator_h */

#ifndef SOM_FileXNaming_FPropertyBindingIterator_h
#define SOM_FileXNaming_FPropertyBindingIterator_h


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


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))

/*
 * Define the class name as an object type
 */
#ifndef FileXNaming_FPropertyBindingIterator
#define FileXNaming_FPropertyBindingIterator SOMObject
#endif

/*
 * Include Parent Bindings
 */
#ifndef SOM_ExtendedNaming_PropertyBindingIterator_h
#ifdef SOMLOCALINCLUDES
#include "xnaming.h"
#else
#include <xnaming.h>
#endif
#endif

/*
 * Start of bindings for IDL types
 */


/*
 * End of bindings for IDL types.
 */

#define FileXNaming_FPropertyBindingIterator_MajorVersion 0
#define FileXNaming_FPropertyBindingIterator_MinorVersion 0

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOM_IMPORTEXPORT_somnmf_xnamingf SOMClass  SOMLINK FileXNaming_FPropertyBindingIteratorNewClass(integer4 somtmajorVersion,
		integer4 somtminorVersion);

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct FileXNaming_FPropertyBindingIteratorClassDataStructure {
	SOMClass classObject;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FPropertyBindingIteratorClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct FileXNaming_FPropertyBindingIteratorCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FPropertyBindingIteratorCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_FileXNaming_FPropertyBindingIterator (FileXNaming_FPropertyBindingIteratorClassData.classObject)
#ifndef SOMGD_FileXNaming_FPropertyBindingIterator
    #if (defined(_FileXNaming_FPropertyBindingIterator) || defined(__FileXNaming_FPropertyBindingIterator))
        #undef _FileXNaming_FPropertyBindingIterator
        #undef __FileXNaming_FPropertyBindingIterator
        #define SOMGD_FileXNaming_FPropertyBindingIterator 1
    #else
        #define _FileXNaming_FPropertyBindingIterator _SOMCLASS_FileXNaming_FPropertyBindingIterator
    #endif /* _FileXNaming_FPropertyBindingIterator */
#endif /* SOMGD_FileXNaming_FPropertyBindingIterator */
#define FileXNaming_FPropertyBindingIterator_classObj _SOMCLASS_FileXNaming_FPropertyBindingIterator
#define _SOMMTOKEN_FileXNaming_FPropertyBindingIterator(method) ((somMToken)FileXNaming_FPropertyBindingIteratorClassData.method)

/*
 * New and Renew macros for FileXNaming_FPropertyBindingIterator
 */
#define FileXNaming_FPropertyBindingIteratorNew() \
   ( _FileXNaming_FPropertyBindingIterator ? \
	_somNew(_FileXNaming_FPropertyBindingIterator) \
	: ( FileXNaming_FPropertyBindingIteratorNewClass(\
		FileXNaming_FPropertyBindingIterator_MajorVersion, \
		FileXNaming_FPropertyBindingIterator_MinorVersion),\
	   _somNew(_FileXNaming_FPropertyBindingIterator)))
#define FileXNaming_FPropertyBindingIteratorRenew(buf) \
   ( _FileXNaming_FPropertyBindingIterator ? \
	_somRenew(_FileXNaming_FPropertyBindingIterator, buf) \
	: ( FileXNaming_FPropertyBindingIteratorNewClass(\
		FileXNaming_FPropertyBindingIterator_MajorVersion, \
		FileXNaming_FPropertyBindingIterator_MinorVersion),\
	   _somRenew(_FileXNaming_FPropertyBindingIterator, buf)))

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define FileXNaming_FPropertyBindingIterator_next_one ExtendedNaming_PropertyBindingIterator_next_one
#define FileXNaming_FPropertyBindingIterator_next_n ExtendedNaming_PropertyBindingIterator_next_n
#define FileXNaming_FPropertyBindingIterator_destroy ExtendedNaming_PropertyBindingIterator_destroy

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define FileXNaming_FPropertyBindingIterator_somDefaultInit SOMObject_somDefaultInit
#define FileXNaming_FPropertyBindingIterator_somDestruct SOMObject_somDestruct
#define FileXNaming_FPropertyBindingIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define FileXNaming_FPropertyBindingIterator_somDefaultAssign SOMObject_somDefaultAssign
#define FileXNaming_FPropertyBindingIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define FileXNaming_FPropertyBindingIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define FileXNaming_FPropertyBindingIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define FileXNaming_FPropertyBindingIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define FileXNaming_FPropertyBindingIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define FileXNaming_FPropertyBindingIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define FileXNaming_FPropertyBindingIterator_somInit SOMObject_somInit
#define FileXNaming_FPropertyBindingIterator_somUninit SOMObject_somUninit
#define FileXNaming_FPropertyBindingIterator_somFree SOMObject_somFree
#define FileXNaming_FPropertyBindingIterator_somGetClass SOMObject_somGetClass
#define FileXNaming_FPropertyBindingIterator_somGetClassName SOMObject_somGetClassName
#define FileXNaming_FPropertyBindingIterator_somGetSize SOMObject_somGetSize
#define FileXNaming_FPropertyBindingIterator_somIsA SOMObject_somIsA
#define FileXNaming_FPropertyBindingIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define FileXNaming_FPropertyBindingIterator_somRespondsTo SOMObject_somRespondsTo
#define FileXNaming_FPropertyBindingIterator_somDispatch SOMObject_somDispatch
#define FileXNaming_FPropertyBindingIterator_somClassDispatch SOMObject_somClassDispatch
#define FileXNaming_FPropertyBindingIterator_somCastObj SOMObject_somCastObj
#define FileXNaming_FPropertyBindingIterator_somResetObj SOMObject_somResetObj
#define FileXNaming_FPropertyBindingIterator_somPrintSelf SOMObject_somPrintSelf
#define FileXNaming_FPropertyBindingIterator_somDumpSelf SOMObject_somDumpSelf
#define FileXNaming_FPropertyBindingIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_FileXNaming_FPropertyBindingIterator_h */

#ifndef SOM_FileXNaming_FPropertyIterator_h
#define SOM_FileXNaming_FPropertyIterator_h


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


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))

/*
 * Define the class name as an object type
 */
#ifndef FileXNaming_FPropertyIterator
#define FileXNaming_FPropertyIterator SOMObject
#endif

/*
 * Include Parent Bindings
 */
#ifndef SOM_ExtendedNaming_PropertyIterator_h
#ifdef SOMLOCALINCLUDES
#include "xnaming.h"
#else
#include <xnaming.h>
#endif
#endif

/*
 * Start of bindings for IDL types
 */


/*
 * End of bindings for IDL types.
 */

#define FileXNaming_FPropertyIterator_MajorVersion 0
#define FileXNaming_FPropertyIterator_MinorVersion 0

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOM_IMPORTEXPORT_somnmf_xnamingf SOMClass  SOMLINK FileXNaming_FPropertyIteratorNewClass(integer4 somtmajorVersion,
		integer4 somtminorVersion);

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct FileXNaming_FPropertyIteratorClassDataStructure {
	SOMClass classObject;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FPropertyIteratorClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct FileXNaming_FPropertyIteratorCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FPropertyIteratorCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_FileXNaming_FPropertyIterator (FileXNaming_FPropertyIteratorClassData.classObject)
#ifndef SOMGD_FileXNaming_FPropertyIterator
    #if (defined(_FileXNaming_FPropertyIterator) || defined(__FileXNaming_FPropertyIterator))
        #undef _FileXNaming_FPropertyIterator
        #undef __FileXNaming_FPropertyIterator
        #define SOMGD_FileXNaming_FPropertyIterator 1
    #else
        #define _FileXNaming_FPropertyIterator _SOMCLASS_FileXNaming_FPropertyIterator
    #endif /* _FileXNaming_FPropertyIterator */
#endif /* SOMGD_FileXNaming_FPropertyIterator */
#define FileXNaming_FPropertyIterator_classObj _SOMCLASS_FileXNaming_FPropertyIterator
#define _SOMMTOKEN_FileXNaming_FPropertyIterator(method) ((somMToken)FileXNaming_FPropertyIteratorClassData.method)

/*
 * New and Renew macros for FileXNaming_FPropertyIterator
 */
#define FileXNaming_FPropertyIteratorNew() \
   ( _FileXNaming_FPropertyIterator ? \
	_somNew(_FileXNaming_FPropertyIterator) \
	: ( FileXNaming_FPropertyIteratorNewClass(\
		FileXNaming_FPropertyIterator_MajorVersion, \
		FileXNaming_FPropertyIterator_MinorVersion),\
	   _somNew(_FileXNaming_FPropertyIterator)))
#define FileXNaming_FPropertyIteratorRenew(buf) \
   ( _FileXNaming_FPropertyIterator ? \
	_somRenew(_FileXNaming_FPropertyIterator, buf) \
	: ( FileXNaming_FPropertyIteratorNewClass(\
		FileXNaming_FPropertyIterator_MajorVersion, \
		FileXNaming_FPropertyIterator_MinorVersion),\
	   _somRenew(_FileXNaming_FPropertyIterator, buf)))

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define FileXNaming_FPropertyIterator_next_one ExtendedNaming_PropertyIterator_next_one
#define FileXNaming_FPropertyIterator_next_n ExtendedNaming_PropertyIterator_next_n
#define FileXNaming_FPropertyIterator_destroy ExtendedNaming_PropertyIterator_destroy

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define FileXNaming_FPropertyIterator_somInit SOMObject_somInit
#define FileXNaming_FPropertyIterator_somDefaultInit SOMObject_somDefaultInit
#define FileXNaming_FPropertyIterator_somDestruct SOMObject_somDestruct
#define FileXNaming_FPropertyIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define FileXNaming_FPropertyIterator_somDefaultAssign SOMObject_somDefaultAssign
#define FileXNaming_FPropertyIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define FileXNaming_FPropertyIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define FileXNaming_FPropertyIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define FileXNaming_FPropertyIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define FileXNaming_FPropertyIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define FileXNaming_FPropertyIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define FileXNaming_FPropertyIterator_somUninit SOMObject_somUninit
#define FileXNaming_FPropertyIterator_somFree SOMObject_somFree
#define FileXNaming_FPropertyIterator_somGetClass SOMObject_somGetClass
#define FileXNaming_FPropertyIterator_somGetClassName SOMObject_somGetClassName
#define FileXNaming_FPropertyIterator_somGetSize SOMObject_somGetSize
#define FileXNaming_FPropertyIterator_somIsA SOMObject_somIsA
#define FileXNaming_FPropertyIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define FileXNaming_FPropertyIterator_somRespondsTo SOMObject_somRespondsTo
#define FileXNaming_FPropertyIterator_somDispatch SOMObject_somDispatch
#define FileXNaming_FPropertyIterator_somClassDispatch SOMObject_somClassDispatch
#define FileXNaming_FPropertyIterator_somCastObj SOMObject_somCastObj
#define FileXNaming_FPropertyIterator_somResetObj SOMObject_somResetObj
#define FileXNaming_FPropertyIterator_somPrintSelf SOMObject_somPrintSelf
#define FileXNaming_FPropertyIterator_somDumpSelf SOMObject_somDumpSelf
#define FileXNaming_FPropertyIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_FileXNaming_FPropertyIterator_h */

#ifndef SOM_FileXNaming_FileIndexIterator_h
#define SOM_FileXNaming_FileIndexIterator_h


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


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))

/*
 * Define the class name as an object type
 */
#ifndef FileXNaming_FileIndexIterator
#define FileXNaming_FileIndexIterator SOMObject
#endif

/*
 * Include Parent Bindings
 */
#ifndef SOM_ExtendedNaming_IndexIterator_h
#ifdef SOMLOCALINCLUDES
#include "xnaming.h"
#else
#include <xnaming.h>
#endif
#endif

/*
 * Start of bindings for IDL types
 */

#ifndef _IDL_SEQUENCE_octet_defined
#define _IDL_SEQUENCE_octet_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    octet *_buffer;
} _IDL_SEQUENCE_octet;
#endif /* _IDL_SEQUENCE_octet_defined */ 

#ifndef SOM_DONT_USE_SHORT_NAMES
#endif /* SOM_DONT_USE_SHORT_NAMES */

/*
 * End of bindings for IDL types.
 */

#define FileXNaming_FileIndexIterator_MajorVersion 0
#define FileXNaming_FileIndexIterator_MinorVersion 0

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOM_IMPORTEXPORT_somnmf_xnamingf SOMClass  SOMLINK FileXNaming_FileIndexIteratorNewClass(integer4 somtmajorVersion,
		integer4 somtminorVersion);

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct FileXNaming_FileIndexIteratorClassDataStructure {
	SOMClass classObject;
	somMToken FileIndexIterator_Init;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FileIndexIteratorClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct FileXNaming_FileIndexIteratorCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnamingf SOMDLINK FileXNaming_FileIndexIteratorCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_FileXNaming_FileIndexIterator (FileXNaming_FileIndexIteratorClassData.classObject)
#ifndef SOMGD_FileXNaming_FileIndexIterator
    #if (defined(_FileXNaming_FileIndexIterator) || defined(__FileXNaming_FileIndexIterator))
        #undef _FileXNaming_FileIndexIterator
        #undef __FileXNaming_FileIndexIterator
        #define SOMGD_FileXNaming_FileIndexIterator 1
    #else
        #define _FileXNaming_FileIndexIterator _SOMCLASS_FileXNaming_FileIndexIterator
    #endif /* _FileXNaming_FileIndexIterator */
#endif /* SOMGD_FileXNaming_FileIndexIterator */
#define FileXNaming_FileIndexIterator_classObj _SOMCLASS_FileXNaming_FileIndexIterator
#define _SOMMTOKEN_FileXNaming_FileIndexIterator(method) ((somMToken)FileXNaming_FileIndexIteratorClassData.method)

/*
 * New and Renew macros for FileXNaming_FileIndexIterator
 */
#define FileXNaming_FileIndexIteratorNew() \
   ( _FileXNaming_FileIndexIterator ? \
	_somNew(_FileXNaming_FileIndexIterator) \
	: ( FileXNaming_FileIndexIteratorNewClass(\
		FileXNaming_FileIndexIterator_MajorVersion, \
		FileXNaming_FileIndexIterator_MinorVersion),\
	   _somNew(_FileXNaming_FileIndexIterator)))
#define FileXNaming_FileIndexIteratorRenew(buf) \
   ( _FileXNaming_FileIndexIterator ? \
	_somRenew(_FileXNaming_FileIndexIterator, buf) \
	: ( FileXNaming_FileIndexIteratorNewClass(\
		FileXNaming_FileIndexIterator_MajorVersion, \
		FileXNaming_FileIndexIterator_MinorVersion),\
	   _somRenew(_FileXNaming_FileIndexIterator, buf)))

/*
 * New Method: FileIndexIterator_Init
 */
typedef void   SOMLINK somTP_FileXNaming_FileIndexIterator_FileIndexIterator_Init(FileXNaming_FileIndexIterator somSelf, Environment *ev, 
		somInitCtrl* ctrl, 
		_IDL_SEQUENCE_octet* key, 
		string databaseFile);
typedef somTP_FileXNaming_FileIndexIterator_FileIndexIterator_Init *somTD_FileXNaming_FileIndexIterator_FileIndexIterator_Init;
#define somMD_FileXNaming_FileIndexIterator_FileIndexIterator_Init "::FileXNaming::FileIndexIterator::FileIndexIterator_Init"
#define FileXNaming_FileIndexIterator_FileIndexIterator_Init(somSelf,ev,ctrl,key,databaseFile) \
    (SOM_Resolve(somSelf, FileXNaming_FileIndexIterator, FileIndexIterator_Init) \
	(somSelf,ev,ctrl,key,databaseFile))
#ifndef SOMGD_FileIndexIterator_Init
    #if (defined(_FileIndexIterator_Init) || defined(__FileIndexIterator_Init))
        #undef _FileIndexIterator_Init
        #undef __FileIndexIterator_Init
        #define SOMGD_FileIndexIterator_Init 1
    #else
        #define _FileIndexIterator_Init FileXNaming_FileIndexIterator_FileIndexIterator_Init
    #endif /* _FileIndexIterator_Init */
#endif /* SOMGD_FileIndexIterator_Init */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define FileXNaming_FileIndexIterator_next_one ExtendedNaming_IndexIterator_next_one
#define FileXNaming_FileIndexIterator_next_n ExtendedNaming_IndexIterator_next_n
#define FileXNaming_FileIndexIterator_destroy ExtendedNaming_IndexIterator_destroy

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define FileXNaming_FileIndexIterator_somDefaultInit SOMObject_somDefaultInit
#define FileXNaming_FileIndexIterator_somDestruct SOMObject_somDestruct
#define FileXNaming_FileIndexIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define FileXNaming_FileIndexIterator_somDefaultAssign SOMObject_somDefaultAssign
#define FileXNaming_FileIndexIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define FileXNaming_FileIndexIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define FileXNaming_FileIndexIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define FileXNaming_FileIndexIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define FileXNaming_FileIndexIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define FileXNaming_FileIndexIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define FileXNaming_FileIndexIterator_somInit SOMObject_somInit
#define FileXNaming_FileIndexIterator_somUninit SOMObject_somUninit
#define FileXNaming_FileIndexIterator_somFree SOMObject_somFree
#define FileXNaming_FileIndexIterator_somGetClass SOMObject_somGetClass
#define FileXNaming_FileIndexIterator_somGetClassName SOMObject_somGetClassName
#define FileXNaming_FileIndexIterator_somGetSize SOMObject_somGetSize
#define FileXNaming_FileIndexIterator_somIsA SOMObject_somIsA
#define FileXNaming_FileIndexIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define FileXNaming_FileIndexIterator_somRespondsTo SOMObject_somRespondsTo
#define FileXNaming_FileIndexIterator_somDispatch SOMObject_somDispatch
#define FileXNaming_FileIndexIterator_somClassDispatch SOMObject_somClassDispatch
#define FileXNaming_FileIndexIterator_somCastObj SOMObject_somCastObj
#define FileXNaming_FileIndexIterator_somResetObj SOMObject_somResetObj
#define FileXNaming_FileIndexIterator_somPrintSelf SOMObject_somPrintSelf
#define FileXNaming_FileIndexIterator_somDumpSelf SOMObject_somDumpSelf
#define FileXNaming_FileIndexIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

/*
 * Constructors for FileXNaming_FileIndexIterator objects
 */
static FileXNaming_FileIndexIterator FileXNaming_FileIndexIteratorNew_FileIndexIterator_Init(Environment *ev,_IDL_SEQUENCE_octet* key,string databaseFile)
{
   FileXNaming_FileIndexIterator __somtmp_FileXNaming_FileIndexIterator;
   if (!_FileXNaming_FileIndexIterator) FileXNaming_FileIndexIteratorNewClass(FileXNaming_FileIndexIterator_MajorVersion, FileXNaming_FileIndexIterator_MinorVersion);
   __somtmp_FileXNaming_FileIndexIterator = SOMClass_somNewNoInit(_FileXNaming_FileIndexIterator);
   FileXNaming_FileIndexIterator_FileIndexIterator_Init(__somtmp_FileXNaming_FileIndexIterator,ev,0,key,databaseFile);
   return __somtmp_FileXNaming_FileIndexIterator;
}


#endif       /* SOM_FileXNaming_FileIndexIterator_h */
