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

#ifndef SOM_Module_xnaming_ExtendedNaming_defined
#define SOM_Module_xnaming_ExtendedNaming_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 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 _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 ExtendedNaming_IList;
typedef
struct ExtendedNaming_PropertyBinding_struct {
CosNaming_Istring property_name;
boolean  sharable;
} ExtendedNaming_PropertyBinding_struct, ExtendedNaming_PropertyBinding;
#ifndef _IDL_SEQUENCE_ExtendedNaming_PropertyBinding_struct_defined
#define _IDL_SEQUENCE_ExtendedNaming_PropertyBinding_struct_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    ExtendedNaming_PropertyBinding_struct *_buffer;
} _IDL_SEQUENCE_ExtendedNaming_PropertyBinding_struct;
#endif /* _IDL_SEQUENCE_ExtendedNaming_PropertyBinding_struct_defined */ 
typedef
_IDL_SEQUENCE_ExtendedNaming_PropertyBinding_struct ExtendedNaming_PropertyBindingList;
typedef
struct ExtendedNaming_Property_struct {
ExtendedNaming_PropertyBinding binding;
any  value;
} ExtendedNaming_Property_struct, ExtendedNaming_Property;
#ifndef _IDL_SEQUENCE_ExtendedNaming_Property_struct_defined
#define _IDL_SEQUENCE_ExtendedNaming_Property_struct_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    ExtendedNaming_Property_struct *_buffer;
} _IDL_SEQUENCE_ExtendedNaming_Property_struct;
#endif /* _IDL_SEQUENCE_ExtendedNaming_Property_struct_defined */ 
typedef
_IDL_SEQUENCE_ExtendedNaming_Property_struct ExtendedNaming_PropertyList;
typedef
struct ExtendedNaming_IndexDescriptor_struct {
CosNaming_Istring property_name;
TypeCode property_type;
unsigned long  distance;
} ExtendedNaming_IndexDescriptor_struct, ExtendedNaming_IndexDescriptor;
#ifndef _IDL_SEQUENCE_ExtendedNaming_IndexDescriptor_struct_defined
#define _IDL_SEQUENCE_ExtendedNaming_IndexDescriptor_struct_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    ExtendedNaming_IndexDescriptor_struct *_buffer;
} _IDL_SEQUENCE_ExtendedNaming_IndexDescriptor_struct;
#endif /* _IDL_SEQUENCE_ExtendedNaming_IndexDescriptor_struct_defined */ 
typedef
_IDL_SEQUENCE_ExtendedNaming_IndexDescriptor_struct ExtendedNaming_IndexDescriptorList;

#ifndef SOM_DONT_USE_SHORT_NAMES

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_IList
    #ifdef IList
        #undef IList
        #define SOMTGD_IList 1
    #else
        #define IList ExtendedNaming_IList
    #endif /* IList */
#endif /* SOMTGD_IList */
#endif /* SOM_DONT_USE_SHORT_NAMES */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_PropertyBinding
    #ifdef PropertyBinding
        #undef PropertyBinding
        #define SOMTGD_PropertyBinding 1
    #else
        #define PropertyBinding ExtendedNaming_PropertyBinding
    #endif /* PropertyBinding */
#endif /* SOMTGD_PropertyBinding */
#endif /* SOM_DONT_USE_SHORT_NAMES */
#ifndef SOMTGD__IDL_SEQUENCE_PropertyBinding_struct
    #ifdef _IDL_SEQUENCE_PropertyBinding_struct
        #undef _IDL_SEQUENCE_PropertyBinding_struct
        #define SOMTGD__IDL_SEQUENCE_PropertyBinding_struct 1
    #else
        #define _IDL_SEQUENCE_PropertyBinding_struct _IDL_SEQUENCE_ExtendedNaming_PropertyBinding_struct
    #endif /* _IDL_SEQUENCE_PropertyBinding_struct */
#endif /* SOMTGD__IDL_SEQUENCE_PropertyBinding_struct */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_PropertyBindingList
    #ifdef PropertyBindingList
        #undef PropertyBindingList
        #define SOMTGD_PropertyBindingList 1
    #else
        #define PropertyBindingList ExtendedNaming_PropertyBindingList
    #endif /* PropertyBindingList */
#endif /* SOMTGD_PropertyBindingList */
#endif /* SOM_DONT_USE_SHORT_NAMES */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_Property
    #ifdef Property
        #undef Property
        #define SOMTGD_Property 1
    #else
        #define Property ExtendedNaming_Property
    #endif /* Property */
#endif /* SOMTGD_Property */
#endif /* SOM_DONT_USE_SHORT_NAMES */
#ifndef SOMTGD__IDL_SEQUENCE_Property_struct
    #ifdef _IDL_SEQUENCE_Property_struct
        #undef _IDL_SEQUENCE_Property_struct
        #define SOMTGD__IDL_SEQUENCE_Property_struct 1
    #else
        #define _IDL_SEQUENCE_Property_struct _IDL_SEQUENCE_ExtendedNaming_Property_struct
    #endif /* _IDL_SEQUENCE_Property_struct */
#endif /* SOMTGD__IDL_SEQUENCE_Property_struct */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_PropertyList
    #ifdef PropertyList
        #undef PropertyList
        #define SOMTGD_PropertyList 1
    #else
        #define PropertyList ExtendedNaming_PropertyList
    #endif /* PropertyList */
#endif /* SOMTGD_PropertyList */
#endif /* SOM_DONT_USE_SHORT_NAMES */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_IndexDescriptor
    #ifdef IndexDescriptor
        #undef IndexDescriptor
        #define SOMTGD_IndexDescriptor 1
    #else
        #define IndexDescriptor ExtendedNaming_IndexDescriptor
    #endif /* IndexDescriptor */
#endif /* SOMTGD_IndexDescriptor */
#endif /* SOM_DONT_USE_SHORT_NAMES */
#ifndef SOMTGD__IDL_SEQUENCE_IndexDescriptor_struct
    #ifdef _IDL_SEQUENCE_IndexDescriptor_struct
        #undef _IDL_SEQUENCE_IndexDescriptor_struct
        #define SOMTGD__IDL_SEQUENCE_IndexDescriptor_struct 1
    #else
        #define _IDL_SEQUENCE_IndexDescriptor_struct _IDL_SEQUENCE_ExtendedNaming_IndexDescriptor_struct
    #endif /* _IDL_SEQUENCE_IndexDescriptor_struct */
#endif /* SOMTGD__IDL_SEQUENCE_IndexDescriptor_struct */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_IndexDescriptorList
    #ifdef IndexDescriptorList
        #undef IndexDescriptorList
        #define SOMTGD_IndexDescriptorList 1
    #else
        #define IndexDescriptorList ExtendedNaming_IndexDescriptorList
    #endif /* IndexDescriptorList */
#endif /* SOMTGD_IndexDescriptorList */
#endif /* SOM_DONT_USE_SHORT_NAMES */
#endif /* SOM_DONT_USE_SHORT_NAMES */

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

#ifndef SOM_ExtendedNaming_PropertyBindingIterator_h
#define SOM_ExtendedNaming_PropertyBindingIterator_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_xnaming
#ifdef SOM_DLL_somnmf
	/* export semantics */
	#if defined(SOM_DEFFILE_somnmf)\
	||(defined(SOM_DEFFILE_BY_DEFAULT)&&!defined(SOM_NODEFFILE_somnmf))\
	|| !defined(SOM_Module_xnaming_Source)
	#define SOM_IMPORTEXPORT_somnmf_xnaming
	#else
	#define SOM_IMPORTEXPORT_somnmf_xnaming SOMDLLEXPORT
	#endif
#else
	#define SOM_IMPORTEXPORT_somnmf_xnaming 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 ExtendedNaming_PropertyBindingIterator
#define ExtendedNaming_PropertyBindingIterator SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */


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

#define ExtendedNaming_PropertyBindingIterator_MajorVersion 3
#define ExtendedNaming_PropertyBindingIterator_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct ExtendedNaming_PropertyBindingIteratorClassDataStructure {
	SOMClass classObject;
	somMToken next_one;
	somMToken next_n;
	somMToken destroy;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_PropertyBindingIteratorClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct ExtendedNaming_PropertyBindingIteratorCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_PropertyBindingIteratorCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_ExtendedNaming_PropertyBindingIterator (ExtendedNaming_PropertyBindingIteratorClassData.classObject)
#ifndef SOMGD_ExtendedNaming_PropertyBindingIterator
    #if (defined(_ExtendedNaming_PropertyBindingIterator) || defined(__ExtendedNaming_PropertyBindingIterator))
        #undef _ExtendedNaming_PropertyBindingIterator
        #undef __ExtendedNaming_PropertyBindingIterator
        #define SOMGD_ExtendedNaming_PropertyBindingIterator 1
    #else
        #define _ExtendedNaming_PropertyBindingIterator _SOMCLASS_ExtendedNaming_PropertyBindingIterator
    #endif /* _ExtendedNaming_PropertyBindingIterator */
#endif /* SOMGD_ExtendedNaming_PropertyBindingIterator */
#define ExtendedNaming_PropertyBindingIterator_classObj _SOMCLASS_ExtendedNaming_PropertyBindingIterator
#define _SOMMTOKEN_ExtendedNaming_PropertyBindingIterator(method) ((somMToken)ExtendedNaming_PropertyBindingIteratorClassData.method)

/*
 * New and Renew macros for ExtendedNaming_PropertyBindingIterator
 */
#define ExtendedNaming_PropertyBindingIteratorNew() \
   ( _ExtendedNaming_PropertyBindingIterator ? \
	_somNew(_ExtendedNaming_PropertyBindingIterator) \
	: ( ExtendedNaming_PropertyBindingIteratorNewClass(\
		ExtendedNaming_PropertyBindingIterator_MajorVersion, \
		ExtendedNaming_PropertyBindingIterator_MinorVersion),\
	   _somNew(_ExtendedNaming_PropertyBindingIterator)))
#define ExtendedNaming_PropertyBindingIteratorRenew(buf) \
   ( _ExtendedNaming_PropertyBindingIterator ? \
	_somRenew(_ExtendedNaming_PropertyBindingIterator, buf) \
	: ( ExtendedNaming_PropertyBindingIteratorNewClass(\
		ExtendedNaming_PropertyBindingIterator_MajorVersion, \
		ExtendedNaming_PropertyBindingIterator_MinorVersion),\
	   _somRenew(_ExtendedNaming_PropertyBindingIterator, buf)))

/*
 * New Method: next_one
 */
typedef boolean   SOMLINK somTP_ExtendedNaming_PropertyBindingIterator_next_one(ExtendedNaming_PropertyBindingIterator somSelf, Environment *ev, 
		ExtendedNaming_PropertyBinding* pb);
typedef somTP_ExtendedNaming_PropertyBindingIterator_next_one *somTD_ExtendedNaming_PropertyBindingIterator_next_one;
/*
 *  returns the next binding. If there are no more bindings
 *  'false' is returned
 */
#define somMD_ExtendedNaming_PropertyBindingIterator_next_one "::ExtendedNaming::PropertyBindingIterator::next_one"
#define ExtendedNaming_PropertyBindingIterator_next_one(somSelf,ev,pb) \
    (SOM_Resolve(somSelf, ExtendedNaming_PropertyBindingIterator, next_one) \
	(somSelf,ev,pb))
#ifndef SOMGD_next_one
    #if (defined(_next_one) || defined(__next_one))
        #undef _next_one
        #undef __next_one
        #define SOMGD_next_one 1
    #else
        #define _next_one ExtendedNaming_PropertyBindingIterator_next_one
    #endif /* _next_one */
#endif /* SOMGD_next_one */

/*
 * New Method: next_n
 */
typedef boolean   SOMLINK somTP_ExtendedNaming_PropertyBindingIterator_next_n(ExtendedNaming_PropertyBindingIterator somSelf, Environment *ev, 
		unsigned long howMany, 
		ExtendedNaming_PropertyBindingList* il);
typedef somTP_ExtendedNaming_PropertyBindingIterator_next_n *somTD_ExtendedNaming_PropertyBindingIterator_next_n;
/*
 *  returns at most the requested number of bindings
 */
#define somMD_ExtendedNaming_PropertyBindingIterator_next_n "::ExtendedNaming::PropertyBindingIterator::next_n"
#define ExtendedNaming_PropertyBindingIterator_next_n(somSelf,ev,howMany,il) \
    (SOM_Resolve(somSelf, ExtendedNaming_PropertyBindingIterator, next_n) \
	(somSelf,ev,howMany,il))
#ifndef SOMGD_next_n
    #if (defined(_next_n) || defined(__next_n))
        #undef _next_n
        #undef __next_n
        #define SOMGD_next_n 1
    #else
        #define _next_n ExtendedNaming_PropertyBindingIterator_next_n
    #endif /* _next_n */
#endif /* SOMGD_next_n */

/*
 * New Method: destroy
 */
typedef void   SOMLINK somTP_ExtendedNaming_PropertyBindingIterator_destroy(ExtendedNaming_PropertyBindingIterator somSelf, Environment *ev);
typedef somTP_ExtendedNaming_PropertyBindingIterator_destroy *somTD_ExtendedNaming_PropertyBindingIterator_destroy;
/*
 *  destroys the iterator
 */
#define somMD_ExtendedNaming_PropertyBindingIterator_destroy "::ExtendedNaming::PropertyBindingIterator::destroy"
#define ExtendedNaming_PropertyBindingIterator_destroy(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_PropertyBindingIterator, destroy) \
	(somSelf,ev))
#ifndef SOMGD_destroy
    #if (defined(_destroy) || defined(__destroy))
        #undef _destroy
        #undef __destroy
        #define SOMGD_destroy 1
    #else
        #define _destroy ExtendedNaming_PropertyBindingIterator_destroy
    #endif /* _destroy */
#endif /* SOMGD_destroy */

/*
 * Full Names for Inherited Methods
 */

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ExtendedNaming_PropertyBindingIterator_somDefaultInit SOMObject_somDefaultInit
#define ExtendedNaming_PropertyBindingIterator_somDestruct SOMObject_somDestruct
#define ExtendedNaming_PropertyBindingIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ExtendedNaming_PropertyBindingIterator_somDefaultAssign SOMObject_somDefaultAssign
#define ExtendedNaming_PropertyBindingIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ExtendedNaming_PropertyBindingIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ExtendedNaming_PropertyBindingIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ExtendedNaming_PropertyBindingIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ExtendedNaming_PropertyBindingIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define ExtendedNaming_PropertyBindingIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ExtendedNaming_PropertyBindingIterator_somInit SOMObject_somInit
#define ExtendedNaming_PropertyBindingIterator_somUninit SOMObject_somUninit
#define ExtendedNaming_PropertyBindingIterator_somFree SOMObject_somFree
#define ExtendedNaming_PropertyBindingIterator_somGetClass SOMObject_somGetClass
#define ExtendedNaming_PropertyBindingIterator_somGetClassName SOMObject_somGetClassName
#define ExtendedNaming_PropertyBindingIterator_somGetSize SOMObject_somGetSize
#define ExtendedNaming_PropertyBindingIterator_somIsA SOMObject_somIsA
#define ExtendedNaming_PropertyBindingIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define ExtendedNaming_PropertyBindingIterator_somRespondsTo SOMObject_somRespondsTo
#define ExtendedNaming_PropertyBindingIterator_somDispatch SOMObject_somDispatch
#define ExtendedNaming_PropertyBindingIterator_somClassDispatch SOMObject_somClassDispatch
#define ExtendedNaming_PropertyBindingIterator_somCastObj SOMObject_somCastObj
#define ExtendedNaming_PropertyBindingIterator_somResetObj SOMObject_somResetObj
#define ExtendedNaming_PropertyBindingIterator_somPrintSelf SOMObject_somPrintSelf
#define ExtendedNaming_PropertyBindingIterator_somDumpSelf SOMObject_somDumpSelf
#define ExtendedNaming_PropertyBindingIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ExtendedNaming_PropertyBindingIterator_h */

#ifndef SOM_ExtendedNaming_PropertyIterator_h
#define SOM_ExtendedNaming_PropertyIterator_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 ExtendedNaming_PropertyIterator
#define ExtendedNaming_PropertyIterator SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */


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

#define ExtendedNaming_PropertyIterator_MajorVersion 3
#define ExtendedNaming_PropertyIterator_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct ExtendedNaming_PropertyIteratorClassDataStructure {
	SOMClass classObject;
	somMToken next_one;
	somMToken next_n;
	somMToken destroy;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_PropertyIteratorClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct ExtendedNaming_PropertyIteratorCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_PropertyIteratorCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_ExtendedNaming_PropertyIterator (ExtendedNaming_PropertyIteratorClassData.classObject)
#ifndef SOMGD_ExtendedNaming_PropertyIterator
    #if (defined(_ExtendedNaming_PropertyIterator) || defined(__ExtendedNaming_PropertyIterator))
        #undef _ExtendedNaming_PropertyIterator
        #undef __ExtendedNaming_PropertyIterator
        #define SOMGD_ExtendedNaming_PropertyIterator 1
    #else
        #define _ExtendedNaming_PropertyIterator _SOMCLASS_ExtendedNaming_PropertyIterator
    #endif /* _ExtendedNaming_PropertyIterator */
#endif /* SOMGD_ExtendedNaming_PropertyIterator */
#define ExtendedNaming_PropertyIterator_classObj _SOMCLASS_ExtendedNaming_PropertyIterator
#define _SOMMTOKEN_ExtendedNaming_PropertyIterator(method) ((somMToken)ExtendedNaming_PropertyIteratorClassData.method)

/*
 * New and Renew macros for ExtendedNaming_PropertyIterator
 */
#define ExtendedNaming_PropertyIteratorNew() \
   ( _ExtendedNaming_PropertyIterator ? \
	_somNew(_ExtendedNaming_PropertyIterator) \
	: ( ExtendedNaming_PropertyIteratorNewClass(\
		ExtendedNaming_PropertyIterator_MajorVersion, \
		ExtendedNaming_PropertyIterator_MinorVersion),\
	   _somNew(_ExtendedNaming_PropertyIterator)))
#define ExtendedNaming_PropertyIteratorRenew(buf) \
   ( _ExtendedNaming_PropertyIterator ? \
	_somRenew(_ExtendedNaming_PropertyIterator, buf) \
	: ( ExtendedNaming_PropertyIteratorNewClass(\
		ExtendedNaming_PropertyIterator_MajorVersion, \
		ExtendedNaming_PropertyIterator_MinorVersion),\
	   _somRenew(_ExtendedNaming_PropertyIterator, buf)))

/*
 * New Method: next_one
 */
typedef boolean   SOMLINK somTP_ExtendedNaming_PropertyIterator_next_one(ExtendedNaming_PropertyIterator somSelf, Environment *ev, 
		ExtendedNaming_Property* p);
typedef somTP_ExtendedNaming_PropertyIterator_next_one *somTD_ExtendedNaming_PropertyIterator_next_one;
/*
 *  returns the next binding. If there are no more bindings
 *  'false' is returned
 */
#define somMD_ExtendedNaming_PropertyIterator_next_one "::ExtendedNaming::PropertyIterator::next_one"
#define ExtendedNaming_PropertyIterator_next_one(somSelf,ev,p) \
    (SOM_Resolve(somSelf, ExtendedNaming_PropertyIterator, next_one) \
	(somSelf,ev,p))
#ifndef SOMGD_next_one
    #if (defined(_next_one) || defined(__next_one))
        #undef _next_one
        #undef __next_one
        #define SOMGD_next_one 1
    #else
        #define _next_one ExtendedNaming_PropertyIterator_next_one
    #endif /* _next_one */
#endif /* SOMGD_next_one */

/*
 * New Method: next_n
 */
typedef boolean   SOMLINK somTP_ExtendedNaming_PropertyIterator_next_n(ExtendedNaming_PropertyIterator somSelf, Environment *ev, 
		unsigned long howMany, 
		ExtendedNaming_PropertyList* pl);
typedef somTP_ExtendedNaming_PropertyIterator_next_n *somTD_ExtendedNaming_PropertyIterator_next_n;
/*
 *  returns at most the requested number of bindings
 */
#define somMD_ExtendedNaming_PropertyIterator_next_n "::ExtendedNaming::PropertyIterator::next_n"
#define ExtendedNaming_PropertyIterator_next_n(somSelf,ev,howMany,pl) \
    (SOM_Resolve(somSelf, ExtendedNaming_PropertyIterator, next_n) \
	(somSelf,ev,howMany,pl))
#ifndef SOMGD_next_n
    #if (defined(_next_n) || defined(__next_n))
        #undef _next_n
        #undef __next_n
        #define SOMGD_next_n 1
    #else
        #define _next_n ExtendedNaming_PropertyIterator_next_n
    #endif /* _next_n */
#endif /* SOMGD_next_n */

/*
 * New Method: destroy
 */
typedef void   SOMLINK somTP_ExtendedNaming_PropertyIterator_destroy(ExtendedNaming_PropertyIterator somSelf, Environment *ev);
typedef somTP_ExtendedNaming_PropertyIterator_destroy *somTD_ExtendedNaming_PropertyIterator_destroy;
/*
 *  destroys the iterator
 */
#define somMD_ExtendedNaming_PropertyIterator_destroy "::ExtendedNaming::PropertyIterator::destroy"
#define ExtendedNaming_PropertyIterator_destroy(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_PropertyIterator, destroy) \
	(somSelf,ev))
#ifndef SOMGD_destroy
    #if (defined(_destroy) || defined(__destroy))
        #undef _destroy
        #undef __destroy
        #define SOMGD_destroy 1
    #else
        #define _destroy ExtendedNaming_PropertyIterator_destroy
    #endif /* _destroy */
#endif /* SOMGD_destroy */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define ExtendedNaming_PropertyIterator_somInit SOMObject_somInit

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ExtendedNaming_PropertyIterator_somDefaultInit SOMObject_somDefaultInit
#define ExtendedNaming_PropertyIterator_somDestruct SOMObject_somDestruct
#define ExtendedNaming_PropertyIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ExtendedNaming_PropertyIterator_somDefaultAssign SOMObject_somDefaultAssign
#define ExtendedNaming_PropertyIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ExtendedNaming_PropertyIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ExtendedNaming_PropertyIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ExtendedNaming_PropertyIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ExtendedNaming_PropertyIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define ExtendedNaming_PropertyIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ExtendedNaming_PropertyIterator_somUninit SOMObject_somUninit
#define ExtendedNaming_PropertyIterator_somFree SOMObject_somFree
#define ExtendedNaming_PropertyIterator_somGetClass SOMObject_somGetClass
#define ExtendedNaming_PropertyIterator_somGetClassName SOMObject_somGetClassName
#define ExtendedNaming_PropertyIterator_somGetSize SOMObject_somGetSize
#define ExtendedNaming_PropertyIterator_somIsA SOMObject_somIsA
#define ExtendedNaming_PropertyIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define ExtendedNaming_PropertyIterator_somRespondsTo SOMObject_somRespondsTo
#define ExtendedNaming_PropertyIterator_somDispatch SOMObject_somDispatch
#define ExtendedNaming_PropertyIterator_somClassDispatch SOMObject_somClassDispatch
#define ExtendedNaming_PropertyIterator_somCastObj SOMObject_somCastObj
#define ExtendedNaming_PropertyIterator_somResetObj SOMObject_somResetObj
#define ExtendedNaming_PropertyIterator_somPrintSelf SOMObject_somPrintSelf
#define ExtendedNaming_PropertyIterator_somDumpSelf SOMObject_somDumpSelf
#define ExtendedNaming_PropertyIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ExtendedNaming_PropertyIterator_h */

#ifndef SOM_ExtendedNaming_IndexIterator_h
#define SOM_ExtendedNaming_IndexIterator_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 ExtendedNaming_IndexIterator
#define ExtendedNaming_IndexIterator SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */


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

#define ExtendedNaming_IndexIterator_MajorVersion 3
#define ExtendedNaming_IndexIterator_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct ExtendedNaming_IndexIteratorClassDataStructure {
	SOMClass classObject;
	somMToken next_one;
	somMToken next_n;
	somMToken destroy;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_IndexIteratorClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct ExtendedNaming_IndexIteratorCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_IndexIteratorCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_ExtendedNaming_IndexIterator (ExtendedNaming_IndexIteratorClassData.classObject)
#ifndef SOMGD_ExtendedNaming_IndexIterator
    #if (defined(_ExtendedNaming_IndexIterator) || defined(__ExtendedNaming_IndexIterator))
        #undef _ExtendedNaming_IndexIterator
        #undef __ExtendedNaming_IndexIterator
        #define SOMGD_ExtendedNaming_IndexIterator 1
    #else
        #define _ExtendedNaming_IndexIterator _SOMCLASS_ExtendedNaming_IndexIterator
    #endif /* _ExtendedNaming_IndexIterator */
#endif /* SOMGD_ExtendedNaming_IndexIterator */
#define ExtendedNaming_IndexIterator_classObj _SOMCLASS_ExtendedNaming_IndexIterator
#define _SOMMTOKEN_ExtendedNaming_IndexIterator(method) ((somMToken)ExtendedNaming_IndexIteratorClassData.method)

/*
 * New and Renew macros for ExtendedNaming_IndexIterator
 */
#define ExtendedNaming_IndexIteratorNew() \
   ( _ExtendedNaming_IndexIterator ? \
	_somNew(_ExtendedNaming_IndexIterator) \
	: ( ExtendedNaming_IndexIteratorNewClass(\
		ExtendedNaming_IndexIterator_MajorVersion, \
		ExtendedNaming_IndexIterator_MinorVersion),\
	   _somNew(_ExtendedNaming_IndexIterator)))
#define ExtendedNaming_IndexIteratorRenew(buf) \
   ( _ExtendedNaming_IndexIterator ? \
	_somRenew(_ExtendedNaming_IndexIterator, buf) \
	: ( ExtendedNaming_IndexIteratorNewClass(\
		ExtendedNaming_IndexIterator_MajorVersion, \
		ExtendedNaming_IndexIterator_MinorVersion),\
	   _somRenew(_ExtendedNaming_IndexIterator, buf)))

/*
 * New Method: next_one
 */
typedef boolean   SOMLINK somTP_ExtendedNaming_IndexIterator_next_one(ExtendedNaming_IndexIterator somSelf, Environment *ev, 
		ExtendedNaming_IndexDescriptor* p);
typedef somTP_ExtendedNaming_IndexIterator_next_one *somTD_ExtendedNaming_IndexIterator_next_one;
/*
 *  returns the next binding. If there are no more bindings
 *  'false' is returned
 */
#define somMD_ExtendedNaming_IndexIterator_next_one "::ExtendedNaming::IndexIterator::next_one"
#define ExtendedNaming_IndexIterator_next_one(somSelf,ev,p) \
    (SOM_Resolve(somSelf, ExtendedNaming_IndexIterator, next_one) \
	(somSelf,ev,p))
#ifndef SOMGD_next_one
    #if (defined(_next_one) || defined(__next_one))
        #undef _next_one
        #undef __next_one
        #define SOMGD_next_one 1
    #else
        #define _next_one ExtendedNaming_IndexIterator_next_one
    #endif /* _next_one */
#endif /* SOMGD_next_one */

/*
 * New Method: next_n
 */
typedef boolean   SOMLINK somTP_ExtendedNaming_IndexIterator_next_n(ExtendedNaming_IndexIterator somSelf, Environment *ev, 
		unsigned long howMany, 
		ExtendedNaming_IndexDescriptorList* il);
typedef somTP_ExtendedNaming_IndexIterator_next_n *somTD_ExtendedNaming_IndexIterator_next_n;
/*
 *  returns at most the requested number of bindings
 */
#define somMD_ExtendedNaming_IndexIterator_next_n "::ExtendedNaming::IndexIterator::next_n"
#define ExtendedNaming_IndexIterator_next_n(somSelf,ev,howMany,il) \
    (SOM_Resolve(somSelf, ExtendedNaming_IndexIterator, next_n) \
	(somSelf,ev,howMany,il))
#ifndef SOMGD_next_n
    #if (defined(_next_n) || defined(__next_n))
        #undef _next_n
        #undef __next_n
        #define SOMGD_next_n 1
    #else
        #define _next_n ExtendedNaming_IndexIterator_next_n
    #endif /* _next_n */
#endif /* SOMGD_next_n */

/*
 * New Method: destroy
 */
typedef void   SOMLINK somTP_ExtendedNaming_IndexIterator_destroy(ExtendedNaming_IndexIterator somSelf, Environment *ev);
typedef somTP_ExtendedNaming_IndexIterator_destroy *somTD_ExtendedNaming_IndexIterator_destroy;
/*
 *  destroys the iterator
 */
#define somMD_ExtendedNaming_IndexIterator_destroy "::ExtendedNaming::IndexIterator::destroy"
#define ExtendedNaming_IndexIterator_destroy(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_IndexIterator, destroy) \
	(somSelf,ev))
#ifndef SOMGD_destroy
    #if (defined(_destroy) || defined(__destroy))
        #undef _destroy
        #undef __destroy
        #define SOMGD_destroy 1
    #else
        #define _destroy ExtendedNaming_IndexIterator_destroy
    #endif /* _destroy */
#endif /* SOMGD_destroy */

/*
 * Full Names for Inherited Methods
 */

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ExtendedNaming_IndexIterator_somDefaultInit SOMObject_somDefaultInit
#define ExtendedNaming_IndexIterator_somDestruct SOMObject_somDestruct
#define ExtendedNaming_IndexIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ExtendedNaming_IndexIterator_somDefaultAssign SOMObject_somDefaultAssign
#define ExtendedNaming_IndexIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ExtendedNaming_IndexIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ExtendedNaming_IndexIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ExtendedNaming_IndexIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ExtendedNaming_IndexIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define ExtendedNaming_IndexIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ExtendedNaming_IndexIterator_somInit SOMObject_somInit
#define ExtendedNaming_IndexIterator_somUninit SOMObject_somUninit
#define ExtendedNaming_IndexIterator_somFree SOMObject_somFree
#define ExtendedNaming_IndexIterator_somGetClass SOMObject_somGetClass
#define ExtendedNaming_IndexIterator_somGetClassName SOMObject_somGetClassName
#define ExtendedNaming_IndexIterator_somGetSize SOMObject_somGetSize
#define ExtendedNaming_IndexIterator_somIsA SOMObject_somIsA
#define ExtendedNaming_IndexIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define ExtendedNaming_IndexIterator_somRespondsTo SOMObject_somRespondsTo
#define ExtendedNaming_IndexIterator_somDispatch SOMObject_somDispatch
#define ExtendedNaming_IndexIterator_somClassDispatch SOMObject_somClassDispatch
#define ExtendedNaming_IndexIterator_somCastObj SOMObject_somCastObj
#define ExtendedNaming_IndexIterator_somResetObj SOMObject_somResetObj
#define ExtendedNaming_IndexIterator_somPrintSelf SOMObject_somPrintSelf
#define ExtendedNaming_IndexIterator_somDumpSelf SOMObject_somDumpSelf
#define ExtendedNaming_IndexIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ExtendedNaming_IndexIterator_h */

#ifndef SOM_ExtendedNaming_ExtendedNamingContext_h
#define SOM_ExtendedNaming_ExtendedNamingContext_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 ExtendedNaming_ExtendedNamingContext
#define ExtendedNaming_ExtendedNamingContext SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */

typedef
string  ExtendedNaming_ExtendedNamingContext_Constraint;
typedef
char * ExtendedNaming_ExtendedNamingContext_Strings;
#define ex_ExtendedNaming_ExtendedNamingContext_InvalidPropertyName "::ExtendedNaming::ExtendedNamingContext::InvalidPropertyName"
#define ExtendedNaming_ExtendedNamingContext_InvalidPropertyName NULL
#define ex_ExtendedNaming_ExtendedNamingContext_NotSupported "::ExtendedNaming::ExtendedNamingContext::NotSupported"
#define ExtendedNaming_ExtendedNamingContext_NotSupported NULL
#define ex_ExtendedNaming_ExtendedNamingContext_ConflictingPropertyName "::ExtendedNaming::ExtendedNamingContext::ConflictingPropertyName"
#define ExtendedNaming_ExtendedNamingContext_ConflictingPropertyName NULL
#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 */ 
#define ex_ExtendedNaming_ExtendedNamingContext_PropertyNotFound "::ExtendedNaming::ExtendedNamingContext::PropertyNotFound"
typedef
struct ExtendedNaming_ExtendedNamingContext_PropertyNotFound {
_IDL_SEQUENCE_string property_name;
} ExtendedNaming_ExtendedNamingContext_PropertyNotFound;
#define ex_ExtendedNaming_ExtendedNamingContext_NonSharableProperties "::ExtendedNaming::ExtendedNamingContext::NonSharableProperties"
#define ExtendedNaming_ExtendedNamingContext_NonSharableProperties NULL
#define ex_ExtendedNaming_ExtendedNamingContext_PropertiesNotShared "::ExtendedNaming::ExtendedNamingContext::PropertiesNotShared"
#define ExtendedNaming_ExtendedNamingContext_PropertiesNotShared NULL
#define ex_ExtendedNaming_ExtendedNamingContext_IllegalConstraintExpression "::ExtendedNaming::ExtendedNamingContext::IllegalConstraintExpression"
#define ExtendedNaming_ExtendedNamingContext_IllegalConstraintExpression NULL
#define ex_ExtendedNaming_ExtendedNamingContext_BindingNotFound "::ExtendedNaming::ExtendedNamingContext::BindingNotFound"
#define ExtendedNaming_ExtendedNamingContext_BindingNotFound NULL
#ifndef _IDL_SEQUENCE_TypeCode_defined
#define _IDL_SEQUENCE_TypeCode_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    TypeCode *_buffer;
} _IDL_SEQUENCE_TypeCode;
#endif /* _IDL_SEQUENCE_TypeCode_defined */ 

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_Constraint
    #ifdef Constraint
        #undef Constraint
        #define SOMTGD_Constraint 1
    #else
        #define Constraint ExtendedNaming_ExtendedNamingContext_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 ExtendedNaming_ExtendedNamingContext_Strings
    #endif /* Strings */
#endif /* SOMTGD_Strings */
#endif /* SOM_DONT_USE_SHORT_NAMES */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_ex_InvalidPropertyName
    #ifdef ex_InvalidPropertyName
        #undef ex_InvalidPropertyName
        #define SOMTGD_ex_InvalidPropertyName 1
    #else
        #define ex_InvalidPropertyName ex_ExtendedNaming_ExtendedNamingContext_InvalidPropertyName
    #endif /* ex_InvalidPropertyName */
#endif /* SOMTGD_ex_InvalidPropertyName */
#ifndef SOMTGD_InvalidPropertyName
    #ifdef InvalidPropertyName
        #undef InvalidPropertyName
        #define SOMTGD_InvalidPropertyName 1
    #else
        #define InvalidPropertyName ExtendedNaming_ExtendedNamingContext_InvalidPropertyName
    #endif /* InvalidPropertyName */
#endif /* SOMTGD_InvalidPropertyName */
#ifndef SOMTGD_ex_NotSupported
    #ifdef ex_NotSupported
        #undef ex_NotSupported
        #define SOMTGD_ex_NotSupported 1
    #else
        #define ex_NotSupported ex_ExtendedNaming_ExtendedNamingContext_NotSupported
    #endif /* ex_NotSupported */
#endif /* SOMTGD_ex_NotSupported */
#ifndef SOMTGD_NotSupported
    #ifdef NotSupported
        #undef NotSupported
        #define SOMTGD_NotSupported 1
    #else
        #define NotSupported ExtendedNaming_ExtendedNamingContext_NotSupported
    #endif /* NotSupported */
#endif /* SOMTGD_NotSupported */
#ifndef SOMTGD_ex_ConflictingPropertyName
    #ifdef ex_ConflictingPropertyName
        #undef ex_ConflictingPropertyName
        #define SOMTGD_ex_ConflictingPropertyName 1
    #else
        #define ex_ConflictingPropertyName ex_ExtendedNaming_ExtendedNamingContext_ConflictingPropertyName
    #endif /* ex_ConflictingPropertyName */
#endif /* SOMTGD_ex_ConflictingPropertyName */
#ifndef SOMTGD_ConflictingPropertyName
    #ifdef ConflictingPropertyName
        #undef ConflictingPropertyName
        #define SOMTGD_ConflictingPropertyName 1
    #else
        #define ConflictingPropertyName ExtendedNaming_ExtendedNamingContext_ConflictingPropertyName
    #endif /* ConflictingPropertyName */
#endif /* SOMTGD_ConflictingPropertyName */
#ifndef SOMTGD_ex_PropertyNotFound
    #ifdef ex_PropertyNotFound
        #undef ex_PropertyNotFound
        #define SOMTGD_ex_PropertyNotFound 1
    #else
        #define ex_PropertyNotFound ex_ExtendedNaming_ExtendedNamingContext_PropertyNotFound
    #endif /* ex_PropertyNotFound */
#endif /* SOMTGD_ex_PropertyNotFound */
#ifndef SOMTGD_PropertyNotFound
    #ifdef PropertyNotFound
        #undef PropertyNotFound
        #define SOMTGD_PropertyNotFound 1
    #else
        #define PropertyNotFound ExtendedNaming_ExtendedNamingContext_PropertyNotFound
    #endif /* PropertyNotFound */
#endif /* SOMTGD_PropertyNotFound */
#ifndef SOMTGD_ex_NonSharableProperties
    #ifdef ex_NonSharableProperties
        #undef ex_NonSharableProperties
        #define SOMTGD_ex_NonSharableProperties 1
    #else
        #define ex_NonSharableProperties ex_ExtendedNaming_ExtendedNamingContext_NonSharableProperties
    #endif /* ex_NonSharableProperties */
#endif /* SOMTGD_ex_NonSharableProperties */
#ifndef SOMTGD_NonSharableProperties
    #ifdef NonSharableProperties
        #undef NonSharableProperties
        #define SOMTGD_NonSharableProperties 1
    #else
        #define NonSharableProperties ExtendedNaming_ExtendedNamingContext_NonSharableProperties
    #endif /* NonSharableProperties */
#endif /* SOMTGD_NonSharableProperties */
#ifndef SOMTGD_ex_PropertiesNotShared
    #ifdef ex_PropertiesNotShared
        #undef ex_PropertiesNotShared
        #define SOMTGD_ex_PropertiesNotShared 1
    #else
        #define ex_PropertiesNotShared ex_ExtendedNaming_ExtendedNamingContext_PropertiesNotShared
    #endif /* ex_PropertiesNotShared */
#endif /* SOMTGD_ex_PropertiesNotShared */
#ifndef SOMTGD_PropertiesNotShared
    #ifdef PropertiesNotShared
        #undef PropertiesNotShared
        #define SOMTGD_PropertiesNotShared 1
    #else
        #define PropertiesNotShared ExtendedNaming_ExtendedNamingContext_PropertiesNotShared
    #endif /* PropertiesNotShared */
#endif /* SOMTGD_PropertiesNotShared */
#ifndef SOMTGD_ex_IllegalConstraintExpression
    #ifdef ex_IllegalConstraintExpression
        #undef ex_IllegalConstraintExpression
        #define SOMTGD_ex_IllegalConstraintExpression 1
    #else
        #define ex_IllegalConstraintExpression ex_ExtendedNaming_ExtendedNamingContext_IllegalConstraintExpression
    #endif /* ex_IllegalConstraintExpression */
#endif /* SOMTGD_ex_IllegalConstraintExpression */
#ifndef SOMTGD_IllegalConstraintExpression
    #ifdef IllegalConstraintExpression
        #undef IllegalConstraintExpression
        #define SOMTGD_IllegalConstraintExpression 1
    #else
        #define IllegalConstraintExpression ExtendedNaming_ExtendedNamingContext_IllegalConstraintExpression
    #endif /* IllegalConstraintExpression */
#endif /* SOMTGD_IllegalConstraintExpression */
#ifndef SOMTGD_ex_BindingNotFound
    #ifdef ex_BindingNotFound
        #undef ex_BindingNotFound
        #define SOMTGD_ex_BindingNotFound 1
    #else
        #define ex_BindingNotFound ex_ExtendedNaming_ExtendedNamingContext_BindingNotFound
    #endif /* ex_BindingNotFound */
#endif /* SOMTGD_ex_BindingNotFound */
#ifndef SOMTGD_BindingNotFound
    #ifdef BindingNotFound
        #undef BindingNotFound
        #define SOMTGD_BindingNotFound 1
    #else
        #define BindingNotFound ExtendedNaming_ExtendedNamingContext_BindingNotFound
    #endif /* BindingNotFound */
#endif /* SOMTGD_BindingNotFound */
#endif /* SOM_DONT_USE_SHORT_NAMES */

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

#define ExtendedNaming_ExtendedNamingContext_MajorVersion 3
#define ExtendedNaming_ExtendedNamingContext_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct ExtendedNaming_ExtendedNamingContextClassDataStructure {
	SOMClass classObject;
	somMToken get_features_supported;
	somMToken add_property;
	somMToken add_properties;
	somMToken bind_with_properties;
	somMToken bind_context_with_properties;
	somMToken rebind_with_properties;
	somMToken rebind_context_with_properties;
	somMToken share_property;
	somMToken share_properties;
	somMToken unshare_property;
	somMToken unshare_properties;
	somMToken list_properties;
	somMToken get_property;
	somMToken get_properties;
	somMToken get_all_properties;
	somMToken resolve_with_property;
	somMToken resolve_with_properties;
	somMToken resolve_with_all_properties;
	somMToken remove_property;
	somMToken remove_properties;
	somMToken remove_all_properties;
	somMToken find_any;
	somMToken find_all;
	somMToken add_index;
	somMToken list_indexes;
	somMToken remove_index;
	somMToken _get_allowed_object_types;
	somMToken find_any_name_binding;
	somMToken _set_allowed_object_types;
	somMToken _get_allowed_property_types;
	somMToken _set_allowed_property_types;
	somMToken _get_allowed_property_names;
	somMToken _set_allowed_property_names;
	somMToken _get_shared_property_names;
	somMToken _set_shared_property_names;
	somMToken _get_shared_property_types;
	somMToken _set_shared_property_types;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_ExtendedNamingContextClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct ExtendedNaming_ExtendedNamingContextCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somnmf_xnaming SOMDLINK ExtendedNaming_ExtendedNamingContextCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_ExtendedNaming_ExtendedNamingContext (ExtendedNaming_ExtendedNamingContextClassData.classObject)
#ifndef SOMGD_ExtendedNaming_ExtendedNamingContext
    #if (defined(_ExtendedNaming_ExtendedNamingContext) || defined(__ExtendedNaming_ExtendedNamingContext))
        #undef _ExtendedNaming_ExtendedNamingContext
        #undef __ExtendedNaming_ExtendedNamingContext
        #define SOMGD_ExtendedNaming_ExtendedNamingContext 1
    #else
        #define _ExtendedNaming_ExtendedNamingContext _SOMCLASS_ExtendedNaming_ExtendedNamingContext
    #endif /* _ExtendedNaming_ExtendedNamingContext */
#endif /* SOMGD_ExtendedNaming_ExtendedNamingContext */
#define ExtendedNaming_ExtendedNamingContext_classObj _SOMCLASS_ExtendedNaming_ExtendedNamingContext
#define _SOMMTOKEN_ExtendedNaming_ExtendedNamingContext(method) ((somMToken)ExtendedNaming_ExtendedNamingContextClassData.method)

/*
 * New and Renew macros for ExtendedNaming_ExtendedNamingContext
 */
#define ExtendedNaming_ExtendedNamingContextNew() \
   ( _ExtendedNaming_ExtendedNamingContext ? \
	_somNew(_ExtendedNaming_ExtendedNamingContext) \
	: ( ExtendedNaming_ExtendedNamingContextNewClass(\
		ExtendedNaming_ExtendedNamingContext_MajorVersion, \
		ExtendedNaming_ExtendedNamingContext_MinorVersion),\
	   _somNew(_ExtendedNaming_ExtendedNamingContext)))
#define ExtendedNaming_ExtendedNamingContextRenew(buf) \
   ( _ExtendedNaming_ExtendedNamingContext ? \
	_somRenew(_ExtendedNaming_ExtendedNamingContext, buf) \
	: ( ExtendedNaming_ExtendedNamingContextNewClass(\
		ExtendedNaming_ExtendedNamingContext_MajorVersion, \
		ExtendedNaming_ExtendedNamingContext_MinorVersion),\
	   _somRenew(_ExtendedNaming_ExtendedNamingContext, buf)))

/*
 * New Method: _get_allowed_object_types
 */
typedef _IDL_SEQUENCE_TypeCode   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext__get_allowed_object_types(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev);
typedef somTP_ExtendedNaming_ExtendedNamingContext__get_allowed_object_types *somTD_ExtendedNaming_ExtendedNamingContext__get_allowed_object_types;
/*
 *  A list of types of objects that can be bound
 *  into this ENC. Empty implies no restrictions
 */
#define somMD_ExtendedNaming_ExtendedNamingContext__get_allowed_object_types "::ExtendedNaming::ExtendedNamingContext::_get_allowed_object_types"
#define ExtendedNaming_ExtendedNamingContext__get_allowed_object_types(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, _get_allowed_object_types) \
	(somSelf,ev))
#ifndef SOMGD_get_allowed_object_types
    #if (defined(_get_allowed_object_types) || defined(__get_allowed_object_types))
        #undef _get_allowed_object_types
        #undef __get_allowed_object_types
        #define SOMGD_get_allowed_object_types 1
    #else
        #define __get_allowed_object_types ExtendedNaming_ExtendedNamingContext__get_allowed_object_types
    #endif /* __get_allowed_object_types */
#endif /* SOMGD_get_allowed_object_types */

/*
 * New Method: _get_allowed_property_types
 */
typedef _IDL_SEQUENCE_TypeCode   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext__get_allowed_property_types(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev);
typedef somTP_ExtendedNaming_ExtendedNamingContext__get_allowed_property_types *somTD_ExtendedNaming_ExtendedNamingContext__get_allowed_property_types;
/*
 *  a list of the types of the properties that can be
 *  added to the entries in this ENC. Empty indicates
 *  no restrictions
 */
#define somMD_ExtendedNaming_ExtendedNamingContext__get_allowed_property_types "::ExtendedNaming::ExtendedNamingContext::_get_allowed_property_types"
#define ExtendedNaming_ExtendedNamingContext__get_allowed_property_types(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, _get_allowed_property_types) \
	(somSelf,ev))
#ifndef SOMGD_get_allowed_property_types
    #if (defined(_get_allowed_property_types) || defined(__get_allowed_property_types))
        #undef _get_allowed_property_types
        #undef __get_allowed_property_types
        #define SOMGD_get_allowed_property_types 1
    #else
        #define __get_allowed_property_types ExtendedNaming_ExtendedNamingContext__get_allowed_property_types
    #endif /* __get_allowed_property_types */
#endif /* SOMGD_get_allowed_property_types */

/*
 * New Method: _get_allowed_property_names
 */
typedef _IDL_SEQUENCE_string   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext__get_allowed_property_names(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev);
typedef somTP_ExtendedNaming_ExtendedNamingContext__get_allowed_property_names *somTD_ExtendedNaming_ExtendedNamingContext__get_allowed_property_names;
/*
 *  a list of names of properties that can be added
 *  to the entries in this ENC. Empty implies no
 *  restrictions
 */
#define somMD_ExtendedNaming_ExtendedNamingContext__get_allowed_property_names "::ExtendedNaming::ExtendedNamingContext::_get_allowed_property_names"
#define ExtendedNaming_ExtendedNamingContext__get_allowed_property_names(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, _get_allowed_property_names) \
	(somSelf,ev))
#ifndef SOMGD_get_allowed_property_names
    #if (defined(_get_allowed_property_names) || defined(__get_allowed_property_names))
        #undef _get_allowed_property_names
        #undef __get_allowed_property_names
        #define SOMGD_get_allowed_property_names 1
    #else
        #define __get_allowed_property_names ExtendedNaming_ExtendedNamingContext__get_allowed_property_names
    #endif /* __get_allowed_property_names */
#endif /* SOMGD_get_allowed_property_names */

/*
 * New Method: _get_shared_property_types
 */
typedef _IDL_SEQUENCE_TypeCode   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext__get_shared_property_types(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev);
typedef somTP_ExtendedNaming_ExtendedNamingContext__get_shared_property_types *somTD_ExtendedNaming_ExtendedNamingContext__get_shared_property_types;
/*
 *  a list of types of properties that can be shared
 *  Empty implies no restrictions
 */
#define somMD_ExtendedNaming_ExtendedNamingContext__get_shared_property_types "::ExtendedNaming::ExtendedNamingContext::_get_shared_property_types"
#define ExtendedNaming_ExtendedNamingContext__get_shared_property_types(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, _get_shared_property_types) \
	(somSelf,ev))
#ifndef SOMGD_get_shared_property_types
    #if (defined(_get_shared_property_types) || defined(__get_shared_property_types))
        #undef _get_shared_property_types
        #undef __get_shared_property_types
        #define SOMGD_get_shared_property_types 1
    #else
        #define __get_shared_property_types ExtendedNaming_ExtendedNamingContext__get_shared_property_types
    #endif /* __get_shared_property_types */
#endif /* SOMGD_get_shared_property_types */

/*
 * New Method: _get_shared_property_names
 */
typedef _IDL_SEQUENCE_string   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext__get_shared_property_names(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev);
typedef somTP_ExtendedNaming_ExtendedNamingContext__get_shared_property_names *somTD_ExtendedNaming_ExtendedNamingContext__get_shared_property_names;
/*
 *  a list of names of properties that can be shared
 *  Empty implies no restrictions
 */
#define somMD_ExtendedNaming_ExtendedNamingContext__get_shared_property_names "::ExtendedNaming::ExtendedNamingContext::_get_shared_property_names"
#define ExtendedNaming_ExtendedNamingContext__get_shared_property_names(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, _get_shared_property_names) \
	(somSelf,ev))
#ifndef SOMGD_get_shared_property_names
    #if (defined(_get_shared_property_names) || defined(__get_shared_property_names))
        #undef _get_shared_property_names
        #undef __get_shared_property_names
        #define SOMGD_get_shared_property_names 1
    #else
        #define __get_shared_property_names ExtendedNaming_ExtendedNamingContext__get_shared_property_names
    #endif /* __get_shared_property_names */
#endif /* SOMGD_get_shared_property_names */

/*
 * New Method: get_features_supported
 */
typedef unsigned short   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_get_features_supported(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev);
typedef somTP_ExtendedNaming_ExtendedNamingContext_get_features_supported *somTD_ExtendedNaming_ExtendedNamingContext_get_features_supported;
/*
 *  Gets a bit vector that this ENC implementation supports
 *  0 properties
 *  1 shared properties
 *  2 searching
 *  3 indexing
 *  4 restrictions on object types
 *  5 restrictions on property types
 *  6 restrictions on property names
 *  7 - 15 not used
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_get_features_supported "::ExtendedNaming::ExtendedNamingContext::get_features_supported"
#define ExtendedNaming_ExtendedNamingContext_get_features_supported(somSelf,ev) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, get_features_supported) \
	(somSelf,ev))
#ifndef SOMGD_get_features_supported
    #if (defined(_get_features_supported) || defined(__get_features_supported))
        #undef _get_features_supported
        #undef __get_features_supported
        #define SOMGD_get_features_supported 1
    #else
        #define _get_features_supported ExtendedNaming_ExtendedNamingContext_get_features_supported
    #endif /* _get_features_supported */
#endif /* SOMGD_get_features_supported */

/*
 * New Method: add_property
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_add_property(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		ExtendedNaming_Property* prop);
typedef somTP_ExtendedNaming_ExtendedNamingContext_add_property *somTD_ExtendedNaming_ExtendedNamingContext_add_property;
/*
 *  adds/sets property prop with name n in target enc.
 *  Name n need not be previously bound. If n has no
 *  binding, then it is bound to a null object. If
 *  property already exists, replaces old value
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_add_property "::ExtendedNaming::ExtendedNamingContext::add_property"
#define ExtendedNaming_ExtendedNamingContext_add_property(somSelf,ev,n,prop) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, add_property) \
	(somSelf,ev,n,prop))
#ifndef SOMGD_add_property
    #if (defined(_add_property) || defined(__add_property))
        #undef _add_property
        #undef __add_property
        #define SOMGD_add_property 1
    #else
        #define _add_property ExtendedNaming_ExtendedNamingContext_add_property
    #endif /* _add_property */
#endif /* SOMGD_add_property */

/*
 * New Method: add_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_add_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		ExtendedNaming_PropertyList* props);
typedef somTP_ExtendedNaming_ExtendedNamingContext_add_properties *somTD_ExtendedNaming_ExtendedNamingContext_add_properties;
/*
 *  variation of add property. adds/sets more than
 *  one property
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_add_properties "::ExtendedNaming::ExtendedNamingContext::add_properties"
#define ExtendedNaming_ExtendedNamingContext_add_properties(somSelf,ev,n,props) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, add_properties) \
	(somSelf,ev,n,props))
#ifndef SOMGD_add_properties
    #if (defined(_add_properties) || defined(__add_properties))
        #undef _add_properties
        #undef __add_properties
        #define SOMGD_add_properties 1
    #else
        #define _add_properties ExtendedNaming_ExtendedNamingContext_add_properties
    #endif /* _add_properties */
#endif /* SOMGD_add_properties */

/*
 * New Method: bind_with_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_bind_with_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		SOMObject obj, 
		ExtendedNaming_PropertyList* prop);
typedef somTP_ExtendedNaming_ExtendedNamingContext_bind_with_properties *somTD_ExtendedNaming_ExtendedNamingContext_bind_with_properties;
/*
 *  combination of add_properties and bind
 *  adds/sets property prop with name n in target enc.
 *  Name n need not be previously bound. If n has no
 *  binding, then it is bound to a null object. If
 *  property already exists, replaces old value
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_bind_with_properties "::ExtendedNaming::ExtendedNamingContext::bind_with_properties"
#define ExtendedNaming_ExtendedNamingContext_bind_with_properties(somSelf,ev,n,obj,prop) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, bind_with_properties) \
	(somSelf,ev,n,obj,prop))
#ifndef SOMGD_bind_with_properties
    #if (defined(_bind_with_properties) || defined(__bind_with_properties))
        #undef _bind_with_properties
        #undef __bind_with_properties
        #define SOMGD_bind_with_properties 1
    #else
        #define _bind_with_properties ExtendedNaming_ExtendedNamingContext_bind_with_properties
    #endif /* _bind_with_properties */
#endif /* SOMGD_bind_with_properties */

/*
 * New Method: bind_context_with_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_bind_context_with_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		ExtendedNaming_ExtendedNamingContext obj, 
		ExtendedNaming_PropertyList* props);
typedef somTP_ExtendedNaming_ExtendedNamingContext_bind_context_with_properties *somTD_ExtendedNaming_ExtendedNamingContext_bind_context_with_properties;
/*
 *  Names an object that is a naming context. Also
 *  associates properties with the name object binding.
 *  Naming contexts bound using this operation participate
 *  in name resolution when compound names are resolved.
 *  Cannot bind a nil naming context.
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_bind_context_with_properties "::ExtendedNaming::ExtendedNamingContext::bind_context_with_properties"
#define ExtendedNaming_ExtendedNamingContext_bind_context_with_properties(somSelf,ev,n,obj,props) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, bind_context_with_properties) \
	(somSelf,ev,n,obj,props))
#ifndef SOMGD_bind_context_with_properties
    #if (defined(_bind_context_with_properties) || defined(__bind_context_with_properties))
        #undef _bind_context_with_properties
        #undef __bind_context_with_properties
        #define SOMGD_bind_context_with_properties 1
    #else
        #define _bind_context_with_properties ExtendedNaming_ExtendedNamingContext_bind_context_with_properties
    #endif /* _bind_context_with_properties */
#endif /* SOMGD_bind_context_with_properties */

/*
 * New Method: rebind_with_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_rebind_with_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		SOMObject obj, 
		ExtendedNaming_PropertyList* prop);
typedef somTP_ExtendedNaming_ExtendedNamingContext_rebind_with_properties *somTD_ExtendedNaming_ExtendedNamingContext_rebind_with_properties;
/*
 *  combination of rebind and add_properties
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_rebind_with_properties "::ExtendedNaming::ExtendedNamingContext::rebind_with_properties"
#define ExtendedNaming_ExtendedNamingContext_rebind_with_properties(somSelf,ev,n,obj,prop) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, rebind_with_properties) \
	(somSelf,ev,n,obj,prop))
#ifndef SOMGD_rebind_with_properties
    #if (defined(_rebind_with_properties) || defined(__rebind_with_properties))
        #undef _rebind_with_properties
        #undef __rebind_with_properties
        #define SOMGD_rebind_with_properties 1
    #else
        #define _rebind_with_properties ExtendedNaming_ExtendedNamingContext_rebind_with_properties
    #endif /* _rebind_with_properties */
#endif /* SOMGD_rebind_with_properties */

/*
 * New Method: rebind_context_with_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_rebind_context_with_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		ExtendedNaming_ExtendedNamingContext obj, 
		ExtendedNaming_PropertyList* props);
typedef somTP_ExtendedNaming_ExtendedNamingContext_rebind_context_with_properties *somTD_ExtendedNaming_ExtendedNamingContext_rebind_context_with_properties;
#define somMD_ExtendedNaming_ExtendedNamingContext_rebind_context_with_properties "::ExtendedNaming::ExtendedNamingContext::rebind_context_with_properties"
#define ExtendedNaming_ExtendedNamingContext_rebind_context_with_properties(somSelf,ev,n,obj,props) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, rebind_context_with_properties) \
	(somSelf,ev,n,obj,props))
#ifndef SOMGD_rebind_context_with_properties
    #if (defined(_rebind_context_with_properties) || defined(__rebind_context_with_properties))
        #undef _rebind_context_with_properties
        #undef __rebind_context_with_properties
        #define SOMGD_rebind_context_with_properties 1
    #else
        #define _rebind_context_with_properties ExtendedNaming_ExtendedNamingContext_rebind_context_with_properties
    #endif /* _rebind_context_with_properties */
#endif /* SOMGD_rebind_context_with_properties */

/*
 * New Method: share_property
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_share_property(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* target_n, 
		ExtendedNaming_ExtendedNamingContext source_enc, 
		CosNaming_Name* source_n, 
		CosNaming_Istring pname);
typedef somTP_ExtendedNaming_ExtendedNamingContext_share_property *somTD_ExtendedNaming_ExtendedNamingContext_share_property;
/*
 *  Adds property to the binding indicated by target_n
 *  of the target naming context that are shared
 *  with the binding indicated
 *  by source_n in source_enc. Logically, all enc's that share
 *  properties are at the same level.
 *  If the property name is already defined as a local property,
 *  then ConflictingPropertyName is raised. If the property
 *  name is already defined as a shared property, then the
 *  property's source_n and source_enc are updated.
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_share_property "::ExtendedNaming::ExtendedNamingContext::share_property"
#define ExtendedNaming_ExtendedNamingContext_share_property(somSelf,ev,target_n,source_enc,source_n,pname) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, share_property) \
	(somSelf,ev,target_n,source_enc,source_n,pname))
#ifndef SOMGD_share_property
    #if (defined(_share_property) || defined(__share_property))
        #undef _share_property
        #undef __share_property
        #define SOMGD_share_property 1
    #else
        #define _share_property ExtendedNaming_ExtendedNamingContext_share_property
    #endif /* _share_property */
#endif /* SOMGD_share_property */

/*
 * New Method: share_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_share_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* target_n, 
		ExtendedNaming_ExtendedNamingContext source_enc, 
		CosNaming_Name* source_n, 
		ExtendedNaming_IList* pnames);
typedef somTP_ExtendedNaming_ExtendedNamingContext_share_properties *somTD_ExtendedNaming_ExtendedNamingContext_share_properties;
#define somMD_ExtendedNaming_ExtendedNamingContext_share_properties "::ExtendedNaming::ExtendedNamingContext::share_properties"
#define ExtendedNaming_ExtendedNamingContext_share_properties(somSelf,ev,target_n,source_enc,source_n,pnames) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, share_properties) \
	(somSelf,ev,target_n,source_enc,source_n,pnames))
#ifndef SOMGD_share_properties
    #if (defined(_share_properties) || defined(__share_properties))
        #undef _share_properties
        #undef __share_properties
        #define SOMGD_share_properties 1
    #else
        #define _share_properties ExtendedNaming_ExtendedNamingContext_share_properties
    #endif /* _share_properties */
#endif /* SOMGD_share_properties */

/*
 * New Method: unshare_property
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_unshare_property(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		CosNaming_Istring property_name);
typedef somTP_ExtendedNaming_ExtendedNamingContext_unshare_property *somTD_ExtendedNaming_ExtendedNamingContext_unshare_property;
#define somMD_ExtendedNaming_ExtendedNamingContext_unshare_property "::ExtendedNaming::ExtendedNamingContext::unshare_property"
#define ExtendedNaming_ExtendedNamingContext_unshare_property(somSelf,ev,n,property_name) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, unshare_property) \
	(somSelf,ev,n,property_name))
#ifndef SOMGD_unshare_property
    #if (defined(_unshare_property) || defined(__unshare_property))
        #undef _unshare_property
        #undef __unshare_property
        #define SOMGD_unshare_property 1
    #else
        #define _unshare_property ExtendedNaming_ExtendedNamingContext_unshare_property
    #endif /* _unshare_property */
#endif /* SOMGD_unshare_property */

/*
 * New Method: unshare_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_unshare_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		ExtendedNaming_IList* pnames);
typedef somTP_ExtendedNaming_ExtendedNamingContext_unshare_properties *somTD_ExtendedNaming_ExtendedNamingContext_unshare_properties;
#define somMD_ExtendedNaming_ExtendedNamingContext_unshare_properties "::ExtendedNaming::ExtendedNamingContext::unshare_properties"
#define ExtendedNaming_ExtendedNamingContext_unshare_properties(somSelf,ev,n,pnames) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, unshare_properties) \
	(somSelf,ev,n,pnames))
#ifndef SOMGD_unshare_properties
    #if (defined(_unshare_properties) || defined(__unshare_properties))
        #undef _unshare_properties
        #undef __unshare_properties
        #define SOMGD_unshare_properties 1
    #else
        #define _unshare_properties ExtendedNaming_ExtendedNamingContext_unshare_properties
    #endif /* _unshare_properties */
#endif /* SOMGD_unshare_properties */

/*
 * New Method: list_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_list_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		unsigned long howMany, 
		ExtendedNaming_PropertyBindingList* pbl, 
		ExtendedNaming_PropertyBindingIterator* rest);
typedef somTP_ExtendedNaming_ExtendedNamingContext_list_properties *somTD_ExtendedNaming_ExtendedNamingContext_list_properties;
/*
 *  resolves name n in target enc and returns atmost
 *  howMany property bindings. If more exist, an iterator
 *  is returned that holds the remaining names
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_list_properties "::ExtendedNaming::ExtendedNamingContext::list_properties"
#define ExtendedNaming_ExtendedNamingContext_list_properties(somSelf,ev,n,howMany,pbl,rest) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, list_properties) \
	(somSelf,ev,n,howMany,pbl,rest))
#ifndef SOMGD_list_properties
    #if (defined(_list_properties) || defined(__list_properties))
        #undef _list_properties
        #undef __list_properties
        #define SOMGD_list_properties 1
    #else
        #define _list_properties ExtendedNaming_ExtendedNamingContext_list_properties
    #endif /* _list_properties */
#endif /* SOMGD_list_properties */

/*
 * New Method: get_property
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_get_property(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		CosNaming_Istring pn, 
		ExtendedNaming_Property* prop);
typedef somTP_ExtendedNaming_ExtendedNamingContext_get_property *somTD_ExtendedNaming_ExtendedNamingContext_get_property;
/*
 *  resolves the name n in target enc and returns the value
 *  associated with property pn
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_get_property "::ExtendedNaming::ExtendedNamingContext::get_property"
#define ExtendedNaming_ExtendedNamingContext_get_property(somSelf,ev,n,pn,prop) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, get_property) \
	(somSelf,ev,n,pn,prop))
#ifndef SOMGD_get_property
    #if (defined(_get_property) || defined(__get_property))
        #undef _get_property
        #undef __get_property
        #define SOMGD_get_property 1
    #else
        #define _get_property ExtendedNaming_ExtendedNamingContext_get_property
    #endif /* _get_property */
#endif /* SOMGD_get_property */

/*
 * New Method: get_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_get_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		unsigned long howMany, 
		ExtendedNaming_IList* inames, 
		ExtendedNaming_PropertyList* props, 
		ExtendedNaming_PropertyIterator* rest);
typedef somTP_ExtendedNaming_ExtendedNamingContext_get_properties *somTD_ExtendedNaming_ExtendedNamingContext_get_properties;
#define somMD_ExtendedNaming_ExtendedNamingContext_get_properties "::ExtendedNaming::ExtendedNamingContext::get_properties"
#define ExtendedNaming_ExtendedNamingContext_get_properties(somSelf,ev,n,howMany,inames,props,rest) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, get_properties) \
	(somSelf,ev,n,howMany,inames,props,rest))
#ifndef SOMGD_get_properties
    #if (defined(_get_properties) || defined(__get_properties))
        #undef _get_properties
        #undef __get_properties
        #define SOMGD_get_properties 1
    #else
        #define _get_properties ExtendedNaming_ExtendedNamingContext_get_properties
    #endif /* _get_properties */
#endif /* SOMGD_get_properties */

/*
 * New Method: get_all_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_get_all_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		unsigned long howMany, 
		ExtendedNaming_PropertyList* props, 
		ExtendedNaming_PropertyIterator* rest);
typedef somTP_ExtendedNaming_ExtendedNamingContext_get_all_properties *somTD_ExtendedNaming_ExtendedNamingContext_get_all_properties;
#define somMD_ExtendedNaming_ExtendedNamingContext_get_all_properties "::ExtendedNaming::ExtendedNamingContext::get_all_properties"
#define ExtendedNaming_ExtendedNamingContext_get_all_properties(somSelf,ev,n,howMany,props,rest) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, get_all_properties) \
	(somSelf,ev,n,howMany,props,rest))
#ifndef SOMGD_get_all_properties
    #if (defined(_get_all_properties) || defined(__get_all_properties))
        #undef _get_all_properties
        #undef __get_all_properties
        #define SOMGD_get_all_properties 1
    #else
        #define _get_all_properties ExtendedNaming_ExtendedNamingContext_get_all_properties
    #endif /* _get_all_properties */
#endif /* SOMGD_get_all_properties */

/*
 * New Method: resolve_with_property
 */
typedef SOMObject   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_resolve_with_property(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		CosNaming_Istring prop, 
		any* v);
typedef somTP_ExtendedNaming_ExtendedNamingContext_resolve_with_property *somTD_ExtendedNaming_ExtendedNamingContext_resolve_with_property;
/*
 *  combination of resolve and get_property
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_resolve_with_property "::ExtendedNaming::ExtendedNamingContext::resolve_with_property"
#define ExtendedNaming_ExtendedNamingContext_resolve_with_property(somSelf,ev,n,prop,v) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, resolve_with_property) \
	(somSelf,ev,n,prop,v))
#ifndef SOMGD_resolve_with_property
    #if (defined(_resolve_with_property) || defined(__resolve_with_property))
        #undef _resolve_with_property
        #undef __resolve_with_property
        #define SOMGD_resolve_with_property 1
    #else
        #define _resolve_with_property ExtendedNaming_ExtendedNamingContext_resolve_with_property
    #endif /* _resolve_with_property */
#endif /* SOMGD_resolve_with_property */

/*
 * New Method: resolve_with_properties
 */
typedef SOMObject   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_resolve_with_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		unsigned long howMany, 
		ExtendedNaming_IList* inames, 
		ExtendedNaming_PropertyList* props, 
		ExtendedNaming_PropertyIterator* rest);
typedef somTP_ExtendedNaming_ExtendedNamingContext_resolve_with_properties *somTD_ExtendedNaming_ExtendedNamingContext_resolve_with_properties;
#define somMD_ExtendedNaming_ExtendedNamingContext_resolve_with_properties "::ExtendedNaming::ExtendedNamingContext::resolve_with_properties"
#define ExtendedNaming_ExtendedNamingContext_resolve_with_properties(somSelf,ev,n,howMany,inames,props,rest) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, resolve_with_properties) \
	(somSelf,ev,n,howMany,inames,props,rest))
#ifndef SOMGD_resolve_with_properties
    #if (defined(_resolve_with_properties) || defined(__resolve_with_properties))
        #undef _resolve_with_properties
        #undef __resolve_with_properties
        #define SOMGD_resolve_with_properties 1
    #else
        #define _resolve_with_properties ExtendedNaming_ExtendedNamingContext_resolve_with_properties
    #endif /* _resolve_with_properties */
#endif /* SOMGD_resolve_with_properties */

/*
 * New Method: resolve_with_all_properties
 */
typedef SOMObject   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_resolve_with_all_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		unsigned long howMany, 
		ExtendedNaming_PropertyList* props, 
		ExtendedNaming_PropertyIterator* rest);
typedef somTP_ExtendedNaming_ExtendedNamingContext_resolve_with_all_properties *somTD_ExtendedNaming_ExtendedNamingContext_resolve_with_all_properties;
#define somMD_ExtendedNaming_ExtendedNamingContext_resolve_with_all_properties "::ExtendedNaming::ExtendedNamingContext::resolve_with_all_properties"
#define ExtendedNaming_ExtendedNamingContext_resolve_with_all_properties(somSelf,ev,n,howMany,props,rest) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, resolve_with_all_properties) \
	(somSelf,ev,n,howMany,props,rest))
#ifndef SOMGD_resolve_with_all_properties
    #if (defined(_resolve_with_all_properties) || defined(__resolve_with_all_properties))
        #undef _resolve_with_all_properties
        #undef __resolve_with_all_properties
        #define SOMGD_resolve_with_all_properties 1
    #else
        #define _resolve_with_all_properties ExtendedNaming_ExtendedNamingContext_resolve_with_all_properties
    #endif /* _resolve_with_all_properties */
#endif /* SOMGD_resolve_with_all_properties */

/*
 * New Method: remove_property
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_remove_property(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		CosNaming_Istring prop);
typedef somTP_ExtendedNaming_ExtendedNamingContext_remove_property *somTD_ExtendedNaming_ExtendedNamingContext_remove_property;
/*
 *  resolves name n in target and removes property prop
 *  If the property is a shared property, then the sharing
 *  relationship between the physical enc and the property
 *  in severed. If the target enc happens to be the physical
 *  owner of the property (if it is a shared property),
 *  then the property is moved to someother enc
 *  (logical owner) and the sharing relationship
 *  between the property and the physical enc is severed.
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_remove_property "::ExtendedNaming::ExtendedNamingContext::remove_property"
#define ExtendedNaming_ExtendedNamingContext_remove_property(somSelf,ev,n,prop) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, remove_property) \
	(somSelf,ev,n,prop))
#ifndef SOMGD_remove_property
    #if (defined(_remove_property) || defined(__remove_property))
        #undef _remove_property
        #undef __remove_property
        #define SOMGD_remove_property 1
    #else
        #define _remove_property ExtendedNaming_ExtendedNamingContext_remove_property
    #endif /* _remove_property */
#endif /* SOMGD_remove_property */

/*
 * New Method: remove_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_remove_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n, 
		ExtendedNaming_IList* plist);
typedef somTP_ExtendedNaming_ExtendedNamingContext_remove_properties *somTD_ExtendedNaming_ExtendedNamingContext_remove_properties;
/*
 *  resolves name n in target and removes properties plist.
 *  If a property is a shared property, then the sharing
 *  relationship between the physical enc and the property
 *  in severed. If the target enc happens to be the physical
 *  owner of a shared property, then the property is moved to
 *  someother enc (logical owner) and the
 *  sharing relationship  between the property
 *  and the physical enc is severed.
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_remove_properties "::ExtendedNaming::ExtendedNamingContext::remove_properties"
#define ExtendedNaming_ExtendedNamingContext_remove_properties(somSelf,ev,n,plist) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, remove_properties) \
	(somSelf,ev,n,plist))
#ifndef SOMGD_remove_properties
    #if (defined(_remove_properties) || defined(__remove_properties))
        #undef _remove_properties
        #undef __remove_properties
        #define SOMGD_remove_properties 1
    #else
        #define _remove_properties ExtendedNaming_ExtendedNamingContext_remove_properties
    #endif /* _remove_properties */
#endif /* SOMGD_remove_properties */

/*
 * New Method: remove_all_properties
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_remove_all_properties(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		CosNaming_Name* n);
typedef somTP_ExtendedNaming_ExtendedNamingContext_remove_all_properties *somTD_ExtendedNaming_ExtendedNamingContext_remove_all_properties;
/*
 *  resolves name n in target and removes all properties.
 *  If a property is a shared property, then the sharing
 *  relationship between the physical enc and the property
 *  in severed. If the target enc happens to be the physical
 *  owner of a shared property, then the property is moved to
 *  someother enc (logical owner) and the sharing relationshi
 *  between the property and the physical enc is severed.
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_remove_all_properties "::ExtendedNaming::ExtendedNamingContext::remove_all_properties"
#define ExtendedNaming_ExtendedNamingContext_remove_all_properties(somSelf,ev,n) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, remove_all_properties) \
	(somSelf,ev,n))
#ifndef SOMGD_remove_all_properties
    #if (defined(_remove_all_properties) || defined(__remove_all_properties))
        #undef _remove_all_properties
        #undef __remove_all_properties
        #define SOMGD_remove_all_properties 1
    #else
        #define _remove_all_properties ExtendedNaming_ExtendedNamingContext_remove_all_properties
    #endif /* _remove_all_properties */
#endif /* SOMGD_remove_all_properties */

/*
 * New Method: find_any
 */
typedef SOMObject   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_find_any(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		ExtendedNaming_ExtendedNamingContext_Constraint c, 
		unsigned long distance);
typedef somTP_ExtendedNaming_ExtendedNamingContext_find_any *somTD_ExtendedNaming_ExtendedNamingContext_find_any;
#define somMD_ExtendedNaming_ExtendedNamingContext_find_any "::ExtendedNaming::ExtendedNamingContext::find_any"
#define ExtendedNaming_ExtendedNamingContext_find_any(somSelf,ev,c,distance) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, find_any) \
	(somSelf,ev,c,distance))
#ifndef SOMGD_find_any
    #if (defined(_find_any) || defined(__find_any))
        #undef _find_any
        #undef __find_any
        #define SOMGD_find_any 1
    #else
        #define _find_any ExtendedNaming_ExtendedNamingContext_find_any
    #endif /* _find_any */
#endif /* SOMGD_find_any */

/*
 * New Method: find_all
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_find_all(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		ExtendedNaming_ExtendedNamingContext_Constraint c, 
		unsigned long distance, 
		unsigned long howMany, 
		CosNaming_BindingList* bl, 
		CosNaming_BindingIterator* bi);
typedef somTP_ExtendedNaming_ExtendedNamingContext_find_all *somTD_ExtendedNaming_ExtendedNamingContext_find_all;
/*
 *  Returns all binding names whose
 *  properties satisfy Constraint "c".
 *  It will search up to a depth of "distance"
 *  for all bindings that satisfy the
 *  given constraint. if distance is set to 0
 *  this operation will only search the
 *  targeted context. Up to how_many
 *  name-object-bindings will be put into
 *  the BindingList "bl". If more than how_many
 *  objects are found to satifsy the
 *  constraint, then the remaining
 *  name-object-bindings are put into the
 *  BindingIterator, "bi".
 */
#define somMD_ExtendedNaming_ExtendedNamingContext_find_all "::ExtendedNaming::ExtendedNamingContext::find_all"
#define ExtendedNaming_ExtendedNamingContext_find_all(somSelf,ev,c,distance,howMany,bl,bi) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, find_all) \
	(somSelf,ev,c,distance,howMany,bl,bi))
#ifndef SOMGD_find_all
    #if (defined(_find_all) || defined(__find_all))
        #undef _find_all
        #undef __find_all
        #define SOMGD_find_all 1
    #else
        #define _find_all ExtendedNaming_ExtendedNamingContext_find_all
    #endif /* _find_all */
#endif /* SOMGD_find_all */

/*
 * New Method: find_any_name_binding
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_find_any_name_binding(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		ExtendedNaming_ExtendedNamingContext_Constraint c, 
		unsigned long distance, 
		CosNaming_Binding* bi);
typedef somTP_ExtendedNaming_ExtendedNamingContext_find_any_name_binding *somTD_ExtendedNaming_ExtendedNamingContext_find_any_name_binding;
#define somMD_ExtendedNaming_ExtendedNamingContext_find_any_name_binding "::ExtendedNaming::ExtendedNamingContext::find_any_name_binding"
#define ExtendedNaming_ExtendedNamingContext_find_any_name_binding(somSelf,ev,c,distance,bi) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, find_any_name_binding) \
	(somSelf,ev,c,distance,bi))
#ifndef SOMGD_find_any_name_binding
    #if (defined(_find_any_name_binding) || defined(__find_any_name_binding))
        #undef _find_any_name_binding
        #undef __find_any_name_binding
        #define SOMGD_find_any_name_binding 1
    #else
        #define _find_any_name_binding ExtendedNaming_ExtendedNamingContext_find_any_name_binding
    #endif /* _find_any_name_binding */
#endif /* SOMGD_find_any_name_binding */

/*
 * New Method: add_index
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_add_index(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		ExtendedNaming_IndexDescriptor* i);
typedef somTP_ExtendedNaming_ExtendedNamingContext_add_index *somTD_ExtendedNaming_ExtendedNamingContext_add_index;
#define somMD_ExtendedNaming_ExtendedNamingContext_add_index "::ExtendedNaming::ExtendedNamingContext::add_index"
#define ExtendedNaming_ExtendedNamingContext_add_index(somSelf,ev,i) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, add_index) \
	(somSelf,ev,i))
#ifndef SOMGD_add_index
    #if (defined(_add_index) || defined(__add_index))
        #undef _add_index
        #undef __add_index
        #define SOMGD_add_index 1
    #else
        #define _add_index ExtendedNaming_ExtendedNamingContext_add_index
    #endif /* _add_index */
#endif /* SOMGD_add_index */

/*
 * New Method: list_indexes
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_list_indexes(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		unsigned long howMany, 
		ExtendedNaming_IndexDescriptorList* il, 
		ExtendedNaming_IndexIterator* rest);
typedef somTP_ExtendedNaming_ExtendedNamingContext_list_indexes *somTD_ExtendedNaming_ExtendedNamingContext_list_indexes;
#define somMD_ExtendedNaming_ExtendedNamingContext_list_indexes "::ExtendedNaming::ExtendedNamingContext::list_indexes"
#define ExtendedNaming_ExtendedNamingContext_list_indexes(somSelf,ev,howMany,il,rest) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, list_indexes) \
	(somSelf,ev,howMany,il,rest))
#ifndef SOMGD_list_indexes
    #if (defined(_list_indexes) || defined(__list_indexes))
        #undef _list_indexes
        #undef __list_indexes
        #define SOMGD_list_indexes 1
    #else
        #define _list_indexes ExtendedNaming_ExtendedNamingContext_list_indexes
    #endif /* _list_indexes */
#endif /* SOMGD_list_indexes */

/*
 * New Method: remove_index
 */
typedef void   SOMLINK somTP_ExtendedNaming_ExtendedNamingContext_remove_index(ExtendedNaming_ExtendedNamingContext somSelf, Environment *ev, 
		ExtendedNaming_IndexDescriptor* i);
typedef somTP_ExtendedNaming_ExtendedNamingContext_remove_index *somTD_ExtendedNaming_ExtendedNamingContext_remove_index;
#define somMD_ExtendedNaming_ExtendedNamingContext_remove_index "::ExtendedNaming::ExtendedNamingContext::remove_index"
#define ExtendedNaming_ExtendedNamingContext_remove_index(somSelf,ev,i) \
    (SOM_Resolve(somSelf, ExtendedNaming_ExtendedNamingContext, remove_index) \
	(somSelf,ev,i))
#ifndef SOMGD_remove_index
    #if (defined(_remove_index) || defined(__remove_index))
        #undef _remove_index
        #undef __remove_index
        #define SOMGD_remove_index 1
    #else
        #define _remove_index ExtendedNaming_ExtendedNamingContext_remove_index
    #endif /* _remove_index */
#endif /* SOMGD_remove_index */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define ExtendedNaming_ExtendedNamingContext_somDefaultInit SOMObject_somDefaultInit
#define ExtendedNaming_ExtendedNamingContext_somDestruct SOMObject_somDestruct

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ExtendedNaming_ExtendedNamingContext_bind CosNaming_NamingContext_bind
#define ExtendedNaming_ExtendedNamingContext_rebind CosNaming_NamingContext_rebind
#define ExtendedNaming_ExtendedNamingContext_bind_context CosNaming_NamingContext_bind_context
#define ExtendedNaming_ExtendedNamingContext_rebind_context CosNaming_NamingContext_rebind_context
#define ExtendedNaming_ExtendedNamingContext_resolve CosNaming_NamingContext_resolve
#define ExtendedNaming_ExtendedNamingContext_unbind CosNaming_NamingContext_unbind
#define ExtendedNaming_ExtendedNamingContext_new_context CosNaming_NamingContext_new_context
#define ExtendedNaming_ExtendedNamingContext_bind_new_context CosNaming_NamingContext_bind_new_context
#define ExtendedNaming_ExtendedNamingContext_destroy CosNaming_NamingContext_destroy
#define ExtendedNaming_ExtendedNamingContext_list CosNaming_NamingContext_list
#define ExtendedNaming_ExtendedNamingContext_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ExtendedNaming_ExtendedNamingContext_somDefaultAssign SOMObject_somDefaultAssign
#define ExtendedNaming_ExtendedNamingContext_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ExtendedNaming_ExtendedNamingContext_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ExtendedNaming_ExtendedNamingContext_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ExtendedNaming_ExtendedNamingContext_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ExtendedNaming_ExtendedNamingContext_somDefaultVAssign SOMObject_somDefaultVAssign
#define ExtendedNaming_ExtendedNamingContext_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ExtendedNaming_ExtendedNamingContext_somInit SOMObject_somInit
#define ExtendedNaming_ExtendedNamingContext_somUninit SOMObject_somUninit
#define ExtendedNaming_ExtendedNamingContext_somFree SOMObject_somFree
#define ExtendedNaming_ExtendedNamingContext_somGetClass SOMObject_somGetClass
#define ExtendedNaming_ExtendedNamingContext_somGetClassName SOMObject_somGetClassName
#define ExtendedNaming_ExtendedNamingContext_somGetSize SOMObject_somGetSize
#define ExtendedNaming_ExtendedNamingContext_somIsA SOMObject_somIsA
#define ExtendedNaming_ExtendedNamingContext_somIsInstanceOf SOMObject_somIsInstanceOf
#define ExtendedNaming_ExtendedNamingContext_somRespondsTo SOMObject_somRespondsTo
#define ExtendedNaming_ExtendedNamingContext_somDispatch SOMObject_somDispatch
#define ExtendedNaming_ExtendedNamingContext_somClassDispatch SOMObject_somClassDispatch
#define ExtendedNaming_ExtendedNamingContext_somCastObj SOMObject_somCastObj
#define ExtendedNaming_ExtendedNamingContext_somResetObj SOMObject_somResetObj
#define ExtendedNaming_ExtendedNamingContext_somPrintSelf SOMObject_somPrintSelf
#define ExtendedNaming_ExtendedNamingContext_somDumpSelf SOMObject_somDumpSelf
#define ExtendedNaming_ExtendedNamingContext_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ExtendedNaming_ExtendedNamingContext_h */
