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

#ifndef SOM_Module_somos_somOS_defined
#define SOM_Module_somos_somOS_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 Container
    #define Container SOMObject
#endif /* Container */
#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 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 */
typedef unsigned long somOS_service_id;
#define somOS_somOSNaming 1UL
#define somOS_somOSEvents 2UL
#define somOS_somOSLifeCycle 3UL
#define somOS_somOSPersistence 4UL
#define somOS_somOSSecurity 5UL
#define somOS_somOSObjectIdentity 6UL
#define somOS_somOSTransactions 7UL
#define somOS_somOSConcurrecny 8UL
#define somOS_somOSExternalization 9UL
#define somOS_somOSAttributePersistence 10UL
#define somOS_somOSLastEnum 11UL
typedef somOS_service_id somOS_service_id_e;
typedef
struct somOS_metastate_struct {
somOS_service_id_e svc_id;
unsigned short  version_major;
unsigned short  version_minor;
any  service_metastate;
} somOS_metastate_struct, somOS_metastate_struct_t;

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_service_id
    #ifdef service_id
        #undef service_id
        #define SOMTGD_service_id 1
    #else
        #define service_id somOS_service_id
    #endif /* service_id */
#endif /* SOMTGD_service_id */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_service_id_e
    #ifdef service_id_e
        #undef service_id_e
        #define SOMTGD_service_id_e 1
    #else
        #define service_id_e somOS_service_id_e
    #endif /* service_id_e */
#endif /* SOMTGD_service_id_e */
#endif /* SOM_DONT_USE_SHORT_NAMES */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_metastate_struct_t
    #ifdef metastate_struct_t
        #undef metastate_struct_t
        #define SOMTGD_metastate_struct_t 1
    #else
        #define metastate_struct_t somOS_metastate_struct_t
    #endif /* metastate_struct_t */
#endif /* SOMTGD_metastate_struct_t */
#endif /* SOM_DONT_USE_SHORT_NAMES */
#endif /* SOM_DONT_USE_SHORT_NAMES */

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

#ifndef SOM_somOS_Server_h
#define SOM_somOS_Server_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_somos_somos
#ifdef SOM_DLL_somos
	/* export semantics */
	#if defined(SOM_DEFFILE_somos)\
	||(defined(SOM_DEFFILE_BY_DEFAULT)&&!defined(SOM_NODEFFILE_somos))\
	|| !defined(SOM_Module_somos_Source)
	#define SOM_IMPORTEXPORT_somos_somos
	#else
	#define SOM_IMPORTEXPORT_somos_somos SOMDLLEXPORT
	#endif
#else
	#define SOM_IMPORTEXPORT_somos_somos 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 somOS_Server
#define somOS_Server SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */


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

#define somOS_Server_MajorVersion 3
#define somOS_Server_MinorVersion 0

/*
 * Include the metaclass file
 */
#ifndef SOM_SOMMSingleInstance_h
#ifdef SOMLOCALINCLUDES
#include "snglicls.h"
#else
#include <snglicls.h>
#endif
#endif

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct somOS_ServerClassDataStructure {
	SOMClass classObject;
	somMToken make_persistent_ref;
	somMToken delete_ref;
	somMToken passivate_object;
	somMToken passivate_all_objects;
	somMToken store_metastate;
	somMToken restore_metastate;
	somMToken has_persistent_ref;
	somMToken store_service_metastate;
	somMToken private1;
	somMToken private2;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServerClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct somOS_ServerCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServerCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_somOS_Server (somOS_ServerClassData.classObject)
#ifndef SOMGD_somOS_Server
    #if (defined(_somOS_Server) || defined(__somOS_Server))
        #undef _somOS_Server
        #undef __somOS_Server
        #define SOMGD_somOS_Server 1
    #else
        #define _somOS_Server _SOMCLASS_somOS_Server
    #endif /* _somOS_Server */
#endif /* SOMGD_somOS_Server */
#define somOS_Server_classObj _SOMCLASS_somOS_Server
#define _SOMMTOKEN_somOS_Server(method) ((somMToken)somOS_ServerClassData.method)

/*
 * New and Renew macros for somOS_Server
 */
#define somOS_ServerNew() \
   ( _somOS_Server ? \
	_somNew(_somOS_Server) \
	: ( somOS_ServerNewClass(\
		somOS_Server_MajorVersion, \
		somOS_Server_MinorVersion),\
	   _somNew(_somOS_Server)))
#define somOS_ServerRenew(buf) \
   ( _somOS_Server ? \
	_somRenew(_somOS_Server, buf) \
	: ( somOS_ServerNewClass(\
		somOS_Server_MajorVersion, \
		somOS_Server_MinorVersion),\
	   _somRenew(_somOS_Server, buf)))

/*
 * New Method: make_persistent_ref
 */
typedef SOMObject   SOMLINK somTP_somOS_Server_make_persistent_ref(somOS_Server somSelf, Environment *ev, 
		SOMObject referenced_object);
typedef somTP_somOS_Server_make_persistent_ref *somTD_somOS_Server_make_persistent_ref;
/*
 *  - Make an entry in the reference-data-table and persistent storage.
 *    An empty metadata (place holder) is stored in the persistent storage.
 *  - If an entry already exists then no action is taken and the operation
 *    is considered successful but the exception
 *    SysAdminException::ExExists is returned (see RETURN value below).
 *  - RETURNS OBJECT_NIL              if unsuccessful
 *            referenced_object        if successful
 */
#define somMD_somOS_Server_make_persistent_ref "::somOS::Server::make_persistent_ref"
#define somOS_Server_make_persistent_ref(somSelf,ev,referenced_object) \
    (SOM_Resolve(somSelf, somOS_Server, make_persistent_ref) \
	(somSelf,ev,referenced_object))
#ifndef SOMGD_make_persistent_ref
    #if (defined(_make_persistent_ref) || defined(__make_persistent_ref))
        #undef _make_persistent_ref
        #undef __make_persistent_ref
        #define SOMGD_make_persistent_ref 1
    #else
        #define _make_persistent_ref somOS_Server_make_persistent_ref
    #endif /* _make_persistent_ref */
#endif /* SOMGD_make_persistent_ref */

/*
 * New Method: delete_ref
 */
typedef void   SOMLINK somTP_somOS_Server_delete_ref(somOS_Server somSelf, Environment *ev, 
		SOMObject referenced_object);
typedef somTP_somOS_Server_delete_ref *somTD_somOS_Server_delete_ref;
/*
 *  Remove its entry in the persistent storage.
 *  It does not delete the in-memory object or the entry in reference-data-table.
 */
#define somMD_somOS_Server_delete_ref "::somOS::Server::delete_ref"
#define somOS_Server_delete_ref(somSelf,ev,referenced_object) \
    (SOM_Resolve(somSelf, somOS_Server, delete_ref) \
	(somSelf,ev,referenced_object))
#ifndef SOMGD_delete_ref
    #if (defined(_delete_ref) || defined(__delete_ref))
        #undef _delete_ref
        #undef __delete_ref
        #define SOMGD_delete_ref 1
    #else
        #define _delete_ref somOS_Server_delete_ref
    #endif /* _delete_ref */
#endif /* SOMGD_delete_ref */

/*
 * New Method: has_persistent_ref
 */
typedef boolean   SOMLINK somTP_somOS_Server_has_persistent_ref(somOS_Server somSelf, Environment *ev, 
		SOMObject referenced_object);
typedef somTP_somOS_Server_has_persistent_ref *somTD_somOS_Server_has_persistent_ref;
/*
 *  Indicate whether the specified object has a persistent reference.
 *  RETURNS TRUE iff an entry exists in reference-data-table or in the
 *                   persistent storage, or it is a transaction ref.
 */
#define somMD_somOS_Server_has_persistent_ref "::somOS::Server::has_persistent_ref"
#define somOS_Server_has_persistent_ref(somSelf,ev,referenced_object) \
    (SOM_Resolve(somSelf, somOS_Server, has_persistent_ref) \
	(somSelf,ev,referenced_object))
#ifndef SOMGD_has_persistent_ref
    #if (defined(_has_persistent_ref) || defined(__has_persistent_ref))
        #undef _has_persistent_ref
        #undef __has_persistent_ref
        #define SOMGD_has_persistent_ref 1
    #else
        #define _has_persistent_ref somOS_Server_has_persistent_ref
    #endif /* _has_persistent_ref */
#endif /* SOMGD_has_persistent_ref */

/*
 * New Method: passivate_object
 */
typedef void   SOMLINK somTP_somOS_Server_passivate_object(somOS_Server somSelf, Environment *ev, 
		SOMObject referenced_object);
typedef somTP_somOS_Server_passivate_object *somTD_somOS_Server_passivate_object;
/*
 *  Capture and store the metastate,
 *  uninit_for_object_passivation (removes entries from reference table),
 *  and somdestruct
 *  It DOES NOT delete references on persistent storage.
 */
#define somMD_somOS_Server_passivate_object "::somOS::Server::passivate_object"
#define somOS_Server_passivate_object(somSelf,ev,referenced_object) \
    (SOM_Resolve(somSelf, somOS_Server, passivate_object) \
	(somSelf,ev,referenced_object))
#ifndef SOMGD_passivate_object
    #if (defined(_passivate_object) || defined(__passivate_object))
        #undef _passivate_object
        #undef __passivate_object
        #define SOMGD_passivate_object 1
    #else
        #define _passivate_object somOS_Server_passivate_object
    #endif /* _passivate_object */
#endif /* SOMGD_passivate_object */

/*
 * New Method: passivate_all_objects
 */
typedef void   SOMLINK somTP_somOS_Server_passivate_all_objects(somOS_Server somSelf, Environment *ev);
typedef somTP_somOS_Server_passivate_all_objects *somTD_somOS_Server_passivate_all_objects;
/*
 *  passivate all active objects.
 */
#define somMD_somOS_Server_passivate_all_objects "::somOS::Server::passivate_all_objects"
#define somOS_Server_passivate_all_objects(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_Server, passivate_all_objects) \
	(somSelf,ev))
#ifndef SOMGD_passivate_all_objects
    #if (defined(_passivate_all_objects) || defined(__passivate_all_objects))
        #undef _passivate_all_objects
        #undef __passivate_all_objects
        #define SOMGD_passivate_all_objects 1
    #else
        #define _passivate_all_objects somOS_Server_passivate_all_objects
    #endif /* _passivate_all_objects */
#endif /* SOMGD_passivate_all_objects */

/*
 * New Method: store_service_metastate
 */
typedef void   SOMLINK somTP_somOS_Server_store_service_metastate(somOS_Server somSelf, Environment *ev, 
		SOMObject referenced_object, 
		somOS_service_id_e somos_service_id, 
		any* service_metadata);
typedef somTP_somOS_Server_store_service_metastate *somTD_somOS_Server_store_service_metastate;
/*
 *  Store the metastate (service_metadata) of a service (somos_service_id)
 *  for the specified object (referenced_object).
 */
#define somMD_somOS_Server_store_service_metastate "::somOS::Server::store_service_metastate"
#define somOS_Server_store_service_metastate(somSelf,ev,referenced_object,somos_service_id,service_metadata) \
    (SOM_Resolve(somSelf, somOS_Server, store_service_metastate) \
	(somSelf,ev,referenced_object,somos_service_id,service_metadata))
#ifndef SOMGD_store_service_metastate
    #if (defined(_store_service_metastate) || defined(__store_service_metastate))
        #undef _store_service_metastate
        #undef __store_service_metastate
        #define SOMGD_store_service_metastate 1
    #else
        #define _store_service_metastate somOS_Server_store_service_metastate
    #endif /* _store_service_metastate */
#endif /* SOMGD_store_service_metastate */

/*
 * New Method: store_metastate
 */
typedef void   SOMLINK somTP_somOS_Server_store_metastate(somOS_Server somSelf, Environment *ev, 
		SOMObject referenced_object);
typedef somTP_somOS_Server_store_metastate *somTD_somOS_Server_store_metastate;
/*
 *  Call capture on the specified object and put it in persistent storage.
 *  Stores metadata of all services.
 */
#define somMD_somOS_Server_store_metastate "::somOS::Server::store_metastate"
#define somOS_Server_store_metastate(somSelf,ev,referenced_object) \
    (SOM_Resolve(somSelf, somOS_Server, store_metastate) \
	(somSelf,ev,referenced_object))
#ifndef SOMGD_store_metastate
    #if (defined(_store_metastate) || defined(__store_metastate))
        #undef _store_metastate
        #undef __store_metastate
        #define SOMGD_store_metastate 1
    #else
        #define _store_metastate somOS_Server_store_metastate
    #endif /* _store_metastate */
#endif /* SOMGD_store_metastate */

/*
 * New Method: restore_metastate
 */
typedef void   SOMLINK somTP_somOS_Server_restore_metastate(somOS_Server somSelf, Environment *ev, 
		SOMObject referenced_object);
typedef somTP_somOS_Server_restore_metastate *somTD_somOS_Server_restore_metastate;
/*
 *  Get metadata from persistent storage and call reinit() on
 *  referenced_object
 */
#define somMD_somOS_Server_restore_metastate "::somOS::Server::restore_metastate"
#define somOS_Server_restore_metastate(somSelf,ev,referenced_object) \
    (SOM_Resolve(somSelf, somOS_Server, restore_metastate) \
	(somSelf,ev,referenced_object))
#ifndef SOMGD_restore_metastate
    #if (defined(_restore_metastate) || defined(__restore_metastate))
        #undef _restore_metastate
        #undef __restore_metastate
        #define SOMGD_restore_metastate 1
    #else
        #define _restore_metastate somOS_Server_restore_metastate
    #endif /* _restore_metastate */
#endif /* SOMGD_restore_metastate */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define somOS_Server_somdRefFromSOMObj SOMDServer_somdRefFromSOMObj
#define somOS_Server_somdSOMObjFromRef SOMDServer_somdSOMObjFromRef
#define somOS_Server_somdCreateObj SOMDServer_somdCreateObj
#define somOS_Server_somdDeleteObj SOMDServer_somdDeleteObj

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somOS_Server_somdDispatchMethod SOMDServer_somdDispatchMethod
#define somOS_Server_somdGetClassObj SOMDServer_somdGetClassObj
#define somOS_Server_somdObjReferencesCached SOMDServer_somdObjReferencesCached
#define somOS_Server_somdCreateFactory SOMDServer_somdCreateFactory
#define somOS_Server_somDefaultInit SOMObject_somDefaultInit
#define somOS_Server_somDestruct SOMObject_somDestruct
#define somOS_Server_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somOS_Server_somDefaultAssign SOMObject_somDefaultAssign
#define somOS_Server_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somOS_Server_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somOS_Server_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somOS_Server_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somOS_Server_somDefaultVAssign SOMObject_somDefaultVAssign
#define somOS_Server_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somOS_Server_somInit SOMObject_somInit
#define somOS_Server_somUninit SOMObject_somUninit
#define somOS_Server_somFree SOMObject_somFree
#define somOS_Server_somGetClass SOMObject_somGetClass
#define somOS_Server_somGetClassName SOMObject_somGetClassName
#define somOS_Server_somGetSize SOMObject_somGetSize
#define somOS_Server_somIsA SOMObject_somIsA
#define somOS_Server_somIsInstanceOf SOMObject_somIsInstanceOf
#define somOS_Server_somRespondsTo SOMObject_somRespondsTo
#define somOS_Server_somDispatch SOMObject_somDispatch
#define somOS_Server_somClassDispatch SOMObject_somClassDispatch
#define somOS_Server_somCastObj SOMObject_somCastObj
#define somOS_Server_somResetObj SOMObject_somResetObj
#define somOS_Server_somPrintSelf SOMObject_somPrintSelf
#define somOS_Server_somDumpSelf SOMObject_somDumpSelf
#define somOS_Server_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_somOS_Server_h */

#ifndef SOM_somOS_ServiceBase_h
#define SOM_somOS_ServiceBase_h


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


/*
 * Passthru lines: File: "C.h", "before"
 */

#include <omgidobj.h>


#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 somOS_ServiceBase
#define somOS_ServiceBase SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */

#ifndef _IDL_SEQUENCE_somOS_metastate_struct_defined
#define _IDL_SEQUENCE_somOS_metastate_struct_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    somOS_metastate_struct *_buffer;
} _IDL_SEQUENCE_somOS_metastate_struct;
#endif /* _IDL_SEQUENCE_somOS_metastate_struct_defined */ 
typedef
_IDL_SEQUENCE_somOS_metastate_struct somOS_ServiceBase_metastate_t;

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD__IDL_SEQUENCE_metastate_struct
    #ifdef _IDL_SEQUENCE_metastate_struct
        #undef _IDL_SEQUENCE_metastate_struct
        #define SOMTGD__IDL_SEQUENCE_metastate_struct 1
    #else
        #define _IDL_SEQUENCE_metastate_struct _IDL_SEQUENCE_somOS_metastate_struct
    #endif /* _IDL_SEQUENCE_metastate_struct */
#endif /* SOMTGD__IDL_SEQUENCE_metastate_struct */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_metastate_t
    #ifdef metastate_t
        #undef metastate_t
        #define SOMTGD_metastate_t 1
    #else
        #define metastate_t somOS_ServiceBase_metastate_t
    #endif /* metastate_t */
#endif /* SOMTGD_metastate_t */
#endif /* SOM_DONT_USE_SHORT_NAMES */
#endif /* SOM_DONT_USE_SHORT_NAMES */

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

#define somOS_ServiceBase_MajorVersion 3
#define somOS_ServiceBase_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct somOS_ServiceBaseClassDataStructure {
	SOMClass classObject;
	somMToken reinit;
	somMToken capture;
	somMToken init_for_object_creation;
	somMToken init_for_object_reactivation;
	somMToken init_for_object_copy;
	somMToken uninit_for_object_move;
	somMToken uninit_for_object_passivation;
	somMToken uninit_for_object_destruction;
	somMToken private1;
	somMToken GetInstanceManager;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBaseClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct somOS_ServiceBaseCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBaseCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_somOS_ServiceBase (somOS_ServiceBaseClassData.classObject)
#ifndef SOMGD_somOS_ServiceBase
    #if (defined(_somOS_ServiceBase) || defined(__somOS_ServiceBase))
        #undef _somOS_ServiceBase
        #undef __somOS_ServiceBase
        #define SOMGD_somOS_ServiceBase 1
    #else
        #define _somOS_ServiceBase _SOMCLASS_somOS_ServiceBase
    #endif /* _somOS_ServiceBase */
#endif /* SOMGD_somOS_ServiceBase */
#define somOS_ServiceBase_classObj _SOMCLASS_somOS_ServiceBase
#define _SOMMTOKEN_somOS_ServiceBase(method) ((somMToken)somOS_ServiceBaseClassData.method)

/*
 * New and Renew macros for somOS_ServiceBase
 */
#define somOS_ServiceBaseNew() \
   ( _somOS_ServiceBase ? \
	_somNew(_somOS_ServiceBase) \
	: ( somOS_ServiceBaseNewClass(\
		somOS_ServiceBase_MajorVersion, \
		somOS_ServiceBase_MinorVersion),\
	   _somNew(_somOS_ServiceBase)))
#define somOS_ServiceBaseRenew(buf) \
   ( _somOS_ServiceBase ? \
	_somRenew(_somOS_ServiceBase, buf) \
	: ( somOS_ServiceBaseNewClass(\
		somOS_ServiceBase_MajorVersion, \
		somOS_ServiceBase_MinorVersion),\
	   _somRenew(_somOS_ServiceBase, buf)))

/*
 * New Method: reinit
 */
typedef void   SOMLINK somTP_somOS_ServiceBase_reinit(somOS_ServiceBase somSelf, Environment *ev, 
		somOS_ServiceBase_metastate_t* meta_data);
typedef somTP_somOS_ServiceBase_reinit *somTD_somOS_ServiceBase_reinit;
/*
 *  - somOS::Server calls this method when (1) an object is reactivated
 *    (in somdSOMObjFromRef()) and (2) somOS::Server is asked to
 *    restore_metastate().
 *  - Services should override it do reinitialization using meta_data.
 *  - reinitializes the identity metadata
 */
#define somMD_somOS_ServiceBase_reinit "::somOS::ServiceBase::reinit"
#define somOS_ServiceBase_reinit(somSelf,ev,meta_data) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, reinit) \
	(somSelf,ev,meta_data))
#ifndef SOMGD_reinit
    #if (defined(_reinit) || defined(__reinit))
        #undef _reinit
        #undef __reinit
        #define SOMGD_reinit 1
    #else
        #define _reinit somOS_ServiceBase_reinit
    #endif /* _reinit */
#endif /* SOMGD_reinit */

/*
 * New Method: capture
 */
typedef void   SOMLINK somTP_somOS_ServiceBase_capture(somOS_ServiceBase somSelf, Environment *ev, 
		somOS_ServiceBase_metastate_t* meta_data);
typedef somTP_somOS_ServiceBase_capture *somTD_somOS_ServiceBase_capture;
/*
 *  - somos::Server call this method from store_metastate().
 *  - Services should override this method to supply proper metadata.
 *  - Capture() must free typecode in
 *           meta_data._buffer[service_id].service_metastate._type
 *     and data in ...._buffer prior to filling it using SOMFree
 *  - Allocates memory to store metastate. It is somOS::Server's
 *    resposibility to free the metastate returned by services.
 *  - captures identity metadata
 */
#define somMD_somOS_ServiceBase_capture "::somOS::ServiceBase::capture"
#define somOS_ServiceBase_capture(somSelf,ev,meta_data) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, capture) \
	(somSelf,ev,meta_data))
#ifndef SOMGD_capture
    #if (defined(_capture) || defined(__capture))
        #undef _capture
        #undef __capture
        #define SOMGD_capture 1
    #else
        #define _capture somOS_ServiceBase_capture
    #endif /* _capture */
#endif /* SOMGD_capture */

/*
 * New Method: GetInstanceManager
 */
typedef SOMObject   SOMLINK somTP_somOS_ServiceBase_GetInstanceManager(somOS_ServiceBase somSelf, Environment *ev);
typedef somTP_somOS_ServiceBase_GetInstanceManager *somTD_somOS_ServiceBase_GetInstanceManager;
/*
 *  - Returns the server object which is either
 *             an instance somOS::Server,
 *         OR  an instance of SOMDServer,
 *         OR  OBJECT_NIL
 *  This method is usually not overriden.
 *  This method allows clients to get a reference to the server
 *  object. It is introduced as somdFindServer... methods have been
 *  deprecated.
 */
#define somMD_somOS_ServiceBase_GetInstanceManager "::somOS::ServiceBase::GetInstanceManager"
#define somOS_ServiceBase_GetInstanceManager(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, GetInstanceManager) \
	(somSelf,ev))
#ifndef SOMGD_GetInstanceManager
    #if (defined(_GetInstanceManager) || defined(__GetInstanceManager))
        #undef _GetInstanceManager
        #undef __GetInstanceManager
        #define SOMGD_GetInstanceManager 1
    #else
        #define _GetInstanceManager somOS_ServiceBase_GetInstanceManager
    #endif /* _GetInstanceManager */
#endif /* SOMGD_GetInstanceManager */

/*
 * New Method: init_for_object_creation
 */
typedef SOMObject   SOMLINK somTP_somOS_ServiceBase_init_for_object_creation(somOS_ServiceBase somSelf, Environment *ev);
typedef somTP_somOS_ServiceBase_init_for_object_creation *somTD_somOS_ServiceBase_init_for_object_creation;
/*
 *  somOS::somOS::Server calls this method from somdCreateObj().
 *  - Services should override this method to do proper initialization
 *    at the time of object creation. (if necessary)
 *  - it initializes the data for CosObjectIdentity
 */
#define somMD_somOS_ServiceBase_init_for_object_creation "::somOS::ServiceBase::init_for_object_creation"
#define somOS_ServiceBase_init_for_object_creation(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, init_for_object_creation) \
	(somSelf,ev))
#ifndef SOMGD_init_for_object_creation
    #if (defined(_init_for_object_creation) || defined(__init_for_object_creation))
        #undef _init_for_object_creation
        #undef __init_for_object_creation
        #define SOMGD_init_for_object_creation 1
    #else
        #define _init_for_object_creation somOS_ServiceBase_init_for_object_creation
    #endif /* _init_for_object_creation */
#endif /* SOMGD_init_for_object_creation */

/*
 * New Method: init_for_object_reactivation
 */
typedef SOMObject   SOMLINK somTP_somOS_ServiceBase_init_for_object_reactivation(somOS_ServiceBase somSelf, Environment *ev);
typedef somTP_somOS_ServiceBase_init_for_object_reactivation *somTD_somOS_ServiceBase_init_for_object_reactivation;
/*
 *  - somOS::Server calls this method when an object is reactivated
 *    in somdSOMObjFromRef() (but prior to calling reinit())
 *  - Services should override this method to do proper initialization
 *    at the time of object reactivation. (if necessary)
 */
#define somMD_somOS_ServiceBase_init_for_object_reactivation "::somOS::ServiceBase::init_for_object_reactivation"
#define somOS_ServiceBase_init_for_object_reactivation(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, init_for_object_reactivation) \
	(somSelf,ev))
#ifndef SOMGD_init_for_object_reactivation
    #if (defined(_init_for_object_reactivation) || defined(__init_for_object_reactivation))
        #undef _init_for_object_reactivation
        #undef __init_for_object_reactivation
        #define SOMGD_init_for_object_reactivation 1
    #else
        #define _init_for_object_reactivation somOS_ServiceBase_init_for_object_reactivation
    #endif /* _init_for_object_reactivation */
#endif /* SOMGD_init_for_object_reactivation */

/*
 * New Method: init_for_object_copy
 */
typedef SOMObject   SOMLINK somTP_somOS_ServiceBase_init_for_object_copy(somOS_ServiceBase somSelf, Environment *ev);
typedef somTP_somOS_ServiceBase_init_for_object_copy *somTD_somOS_ServiceBase_init_for_object_copy;
/*
 *  Abstract method.
 *  - Services should override this method to do proper initialization
 *    at the time of object copy. (if necessary)
 */
#define somMD_somOS_ServiceBase_init_for_object_copy "::somOS::ServiceBase::init_for_object_copy"
#define somOS_ServiceBase_init_for_object_copy(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, init_for_object_copy) \
	(somSelf,ev))
#ifndef SOMGD_init_for_object_copy
    #if (defined(_init_for_object_copy) || defined(__init_for_object_copy))
        #undef _init_for_object_copy
        #undef __init_for_object_copy
        #define SOMGD_init_for_object_copy 1
    #else
        #define _init_for_object_copy somOS_ServiceBase_init_for_object_copy
    #endif /* _init_for_object_copy */
#endif /* SOMGD_init_for_object_copy */

/*
 * New Method: uninit_for_object_move
 */
typedef void   SOMLINK somTP_somOS_ServiceBase_uninit_for_object_move(somOS_ServiceBase somSelf, Environment *ev);
typedef somTP_somOS_ServiceBase_uninit_for_object_move *somTD_somOS_ServiceBase_uninit_for_object_move;
/*
 *  Abstract method.
 *  - Services should override this method to do proper uninitialization
 *    at the time of object move. (if necessary)
 */
#define somMD_somOS_ServiceBase_uninit_for_object_move "::somOS::ServiceBase::uninit_for_object_move"
#define somOS_ServiceBase_uninit_for_object_move(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, uninit_for_object_move) \
	(somSelf,ev))
#ifndef SOMGD_uninit_for_object_move
    #if (defined(_uninit_for_object_move) || defined(__uninit_for_object_move))
        #undef _uninit_for_object_move
        #undef __uninit_for_object_move
        #define SOMGD_uninit_for_object_move 1
    #else
        #define _uninit_for_object_move somOS_ServiceBase_uninit_for_object_move
    #endif /* _uninit_for_object_move */
#endif /* SOMGD_uninit_for_object_move */

/*
 * New Method: uninit_for_object_passivation
 */
typedef void   SOMLINK somTP_somOS_ServiceBase_uninit_for_object_passivation(somOS_ServiceBase somSelf, Environment *ev);
typedef somTP_somOS_ServiceBase_uninit_for_object_passivation *somTD_somOS_ServiceBase_uninit_for_object_passivation;
/*
 *  - Asks somOS::Server to remove an entry from reference-data-table.
 *  - No exceptions are raised. If there is no entry in the
 *    reference-data-table then the operation is considered to be successful.
 *  - somOS::Server calls this method when an object is passivated
 *    (passivate_object()).
 *  - Services should override this method to do proper uninitialization
 *    at the time of object passivation. (if necessary)
 */
#define somMD_somOS_ServiceBase_uninit_for_object_passivation "::somOS::ServiceBase::uninit_for_object_passivation"
#define somOS_ServiceBase_uninit_for_object_passivation(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, uninit_for_object_passivation) \
	(somSelf,ev))
#ifndef SOMGD_uninit_for_object_passivation
    #if (defined(_uninit_for_object_passivation) || defined(__uninit_for_object_passivation))
        #undef _uninit_for_object_passivation
        #undef __uninit_for_object_passivation
        #define SOMGD_uninit_for_object_passivation 1
    #else
        #define _uninit_for_object_passivation somOS_ServiceBase_uninit_for_object_passivation
    #endif /* _uninit_for_object_passivation */
#endif /* SOMGD_uninit_for_object_passivation */

/*
 * New Method: uninit_for_object_destruction
 */
typedef void   SOMLINK somTP_somOS_ServiceBase_uninit_for_object_destruction(somOS_ServiceBase somSelf, Environment *ev);
typedef somTP_somOS_ServiceBase_uninit_for_object_destruction *somTD_somOS_ServiceBase_uninit_for_object_destruction;
/*
 *  - somOS::Server calls this method when a properly initialized object
 *    is destroyed. In particular, from somdDeleteObj().
 *  - Services should override this method to do proper uninitialization
 *    at the time of object destruction. (if necessary)
 */
#define somMD_somOS_ServiceBase_uninit_for_object_destruction "::somOS::ServiceBase::uninit_for_object_destruction"
#define somOS_ServiceBase_uninit_for_object_destruction(somSelf,ev) \
    (SOM_Resolve(somSelf, somOS_ServiceBase, uninit_for_object_destruction) \
	(somSelf,ev))
#ifndef SOMGD_uninit_for_object_destruction
    #if (defined(_uninit_for_object_destruction) || defined(__uninit_for_object_destruction))
        #undef _uninit_for_object_destruction
        #undef __uninit_for_object_destruction
        #define SOMGD_uninit_for_object_destruction 1
    #else
        #define _uninit_for_object_destruction somOS_ServiceBase_uninit_for_object_destruction
    #endif /* _uninit_for_object_destruction */
#endif /* SOMGD_uninit_for_object_destruction */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define somOS_ServiceBase__get_constant_random_id CosObjectIdentity_IdentifiableObject__get_constant_random_id
#define somOS_ServiceBase_is_identical CosObjectIdentity_IdentifiableObject_is_identical
#define somOS_ServiceBase_somDefaultInit SOMObject_somDefaultInit
#define somOS_ServiceBase_somDestruct SOMObject_somDestruct

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somOS_ServiceBase_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somOS_ServiceBase_somDefaultAssign SOMObject_somDefaultAssign
#define somOS_ServiceBase_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somOS_ServiceBase_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somOS_ServiceBase_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somOS_ServiceBase_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somOS_ServiceBase_somDefaultVAssign SOMObject_somDefaultVAssign
#define somOS_ServiceBase_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somOS_ServiceBase_somInit SOMObject_somInit
#define somOS_ServiceBase_somUninit SOMObject_somUninit
#define somOS_ServiceBase_somFree SOMObject_somFree
#define somOS_ServiceBase_somGetClass SOMObject_somGetClass
#define somOS_ServiceBase_somGetClassName SOMObject_somGetClassName
#define somOS_ServiceBase_somGetSize SOMObject_somGetSize
#define somOS_ServiceBase_somIsA SOMObject_somIsA
#define somOS_ServiceBase_somIsInstanceOf SOMObject_somIsInstanceOf
#define somOS_ServiceBase_somRespondsTo SOMObject_somRespondsTo
#define somOS_ServiceBase_somDispatch SOMObject_somDispatch
#define somOS_ServiceBase_somClassDispatch SOMObject_somClassDispatch
#define somOS_ServiceBase_somCastObj SOMObject_somCastObj
#define somOS_ServiceBase_somResetObj SOMObject_somResetObj
#define somOS_ServiceBase_somPrintSelf SOMObject_somPrintSelf
#define somOS_ServiceBase_somDumpSelf SOMObject_somDumpSelf
#define somOS_ServiceBase_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_somOS_ServiceBase_h */

#ifndef SOM_somOS_ServiceBasePRef_h
#define SOM_somOS_ServiceBasePRef_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 somOS_ServiceBasePRef
#define somOS_ServiceBasePRef SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */


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

#define somOS_ServiceBasePRef_MajorVersion 3
#define somOS_ServiceBasePRef_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct somOS_ServiceBasePRefClassDataStructure {
	SOMClass classObject;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBasePRefClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct somOS_ServiceBasePRefCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBasePRefCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_somOS_ServiceBasePRef (somOS_ServiceBasePRefClassData.classObject)
#ifndef SOMGD_somOS_ServiceBasePRef
    #if (defined(_somOS_ServiceBasePRef) || defined(__somOS_ServiceBasePRef))
        #undef _somOS_ServiceBasePRef
        #undef __somOS_ServiceBasePRef
        #define SOMGD_somOS_ServiceBasePRef 1
    #else
        #define _somOS_ServiceBasePRef _SOMCLASS_somOS_ServiceBasePRef
    #endif /* _somOS_ServiceBasePRef */
#endif /* SOMGD_somOS_ServiceBasePRef */
#define somOS_ServiceBasePRef_classObj _SOMCLASS_somOS_ServiceBasePRef
#define _SOMMTOKEN_somOS_ServiceBasePRef(method) ((somMToken)somOS_ServiceBasePRefClassData.method)

/*
 * New and Renew macros for somOS_ServiceBasePRef
 */
#define somOS_ServiceBasePRefNew() \
   ( _somOS_ServiceBasePRef ? \
	_somNew(_somOS_ServiceBasePRef) \
	: ( somOS_ServiceBasePRefNewClass(\
		somOS_ServiceBasePRef_MajorVersion, \
		somOS_ServiceBasePRef_MinorVersion),\
	   _somNew(_somOS_ServiceBasePRef)))
#define somOS_ServiceBasePRefRenew(buf) \
   ( _somOS_ServiceBasePRef ? \
	_somRenew(_somOS_ServiceBasePRef, buf) \
	: ( somOS_ServiceBasePRefNewClass(\
		somOS_ServiceBasePRef_MajorVersion, \
		somOS_ServiceBasePRef_MinorVersion),\
	   _somRenew(_somOS_ServiceBasePRef, buf)))

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define somOS_ServiceBasePRef_init_for_object_creation somOS_ServiceBase_init_for_object_creation
#define somOS_ServiceBasePRef_uninit_for_object_destruction somOS_ServiceBase_uninit_for_object_destruction
#define somOS_ServiceBasePRef_somDefaultInit SOMObject_somDefaultInit
#define somOS_ServiceBasePRef_somDestruct SOMObject_somDestruct

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somOS_ServiceBasePRef_reinit somOS_ServiceBase_reinit
#define somOS_ServiceBasePRef_capture somOS_ServiceBase_capture
#define somOS_ServiceBasePRef_GetInstanceManager somOS_ServiceBase_GetInstanceManager
#define somOS_ServiceBasePRef_init_for_object_reactivation somOS_ServiceBase_init_for_object_reactivation
#define somOS_ServiceBasePRef_init_for_object_copy somOS_ServiceBase_init_for_object_copy
#define somOS_ServiceBasePRef_uninit_for_object_move somOS_ServiceBase_uninit_for_object_move
#define somOS_ServiceBasePRef_uninit_for_object_passivation somOS_ServiceBase_uninit_for_object_passivation
#define somOS_ServiceBasePRef_is_identical CosObjectIdentity_IdentifiableObject_is_identical
#define somOS_ServiceBasePRef__get_constant_random_id CosObjectIdentity_IdentifiableObject__get_constant_random_id
#define somOS_ServiceBasePRef_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somOS_ServiceBasePRef_somDefaultAssign SOMObject_somDefaultAssign
#define somOS_ServiceBasePRef_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somOS_ServiceBasePRef_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somOS_ServiceBasePRef_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somOS_ServiceBasePRef_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somOS_ServiceBasePRef_somDefaultVAssign SOMObject_somDefaultVAssign
#define somOS_ServiceBasePRef_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somOS_ServiceBasePRef_somInit SOMObject_somInit
#define somOS_ServiceBasePRef_somUninit SOMObject_somUninit
#define somOS_ServiceBasePRef_somFree SOMObject_somFree
#define somOS_ServiceBasePRef_somGetClass SOMObject_somGetClass
#define somOS_ServiceBasePRef_somGetClassName SOMObject_somGetClassName
#define somOS_ServiceBasePRef_somGetSize SOMObject_somGetSize
#define somOS_ServiceBasePRef_somIsA SOMObject_somIsA
#define somOS_ServiceBasePRef_somIsInstanceOf SOMObject_somIsInstanceOf
#define somOS_ServiceBasePRef_somRespondsTo SOMObject_somRespondsTo
#define somOS_ServiceBasePRef_somDispatch SOMObject_somDispatch
#define somOS_ServiceBasePRef_somClassDispatch SOMObject_somClassDispatch
#define somOS_ServiceBasePRef_somCastObj SOMObject_somCastObj
#define somOS_ServiceBasePRef_somResetObj SOMObject_somResetObj
#define somOS_ServiceBasePRef_somPrintSelf SOMObject_somPrintSelf
#define somOS_ServiceBasePRef_somDumpSelf SOMObject_somDumpSelf
#define somOS_ServiceBasePRef_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_somOS_ServiceBasePRef_h */

#ifndef SOM_somOS_ServiceBaseCORBA_h
#define SOM_somOS_ServiceBaseCORBA_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 somOS_ServiceBaseCORBA
#define somOS_ServiceBaseCORBA SOMObject
#endif

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

/*
 * Start of bindings for IDL types
 */


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

#define somOS_ServiceBaseCORBA_MajorVersion 3
#define somOS_ServiceBaseCORBA_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct somOS_ServiceBaseCORBAClassDataStructure {
	SOMClass classObject;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBaseCORBAClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct somOS_ServiceBaseCORBACClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBaseCORBACClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_somOS_ServiceBaseCORBA (somOS_ServiceBaseCORBAClassData.classObject)
#ifndef SOMGD_somOS_ServiceBaseCORBA
    #if (defined(_somOS_ServiceBaseCORBA) || defined(__somOS_ServiceBaseCORBA))
        #undef _somOS_ServiceBaseCORBA
        #undef __somOS_ServiceBaseCORBA
        #define SOMGD_somOS_ServiceBaseCORBA 1
    #else
        #define _somOS_ServiceBaseCORBA _SOMCLASS_somOS_ServiceBaseCORBA
    #endif /* _somOS_ServiceBaseCORBA */
#endif /* SOMGD_somOS_ServiceBaseCORBA */
#define somOS_ServiceBaseCORBA_classObj _SOMCLASS_somOS_ServiceBaseCORBA
#define _SOMMTOKEN_somOS_ServiceBaseCORBA(method) ((somMToken)somOS_ServiceBaseCORBAClassData.method)

/*
 * New and Renew macros for somOS_ServiceBaseCORBA
 */
#define somOS_ServiceBaseCORBANew() \
   ( _somOS_ServiceBaseCORBA ? \
	_somNew(_somOS_ServiceBaseCORBA) \
	: ( somOS_ServiceBaseCORBANewClass(\
		somOS_ServiceBaseCORBA_MajorVersion, \
		somOS_ServiceBaseCORBA_MinorVersion),\
	   _somNew(_somOS_ServiceBaseCORBA)))
#define somOS_ServiceBaseCORBARenew(buf) \
   ( _somOS_ServiceBaseCORBA ? \
	_somRenew(_somOS_ServiceBaseCORBA, buf) \
	: ( somOS_ServiceBaseCORBANewClass(\
		somOS_ServiceBaseCORBA_MajorVersion, \
		somOS_ServiceBaseCORBA_MinorVersion),\
	   _somRenew(_somOS_ServiceBaseCORBA, buf)))

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define somOS_ServiceBaseCORBA_init_for_object_reactivation somOS_ServiceBase_init_for_object_reactivation
#define somOS_ServiceBaseCORBA_somDefaultInit SOMObject_somDefaultInit
#define somOS_ServiceBaseCORBA_somDestruct SOMObject_somDestruct

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somOS_ServiceBaseCORBA_reinit somOS_ServiceBase_reinit
#define somOS_ServiceBaseCORBA_capture somOS_ServiceBase_capture
#define somOS_ServiceBaseCORBA_GetInstanceManager somOS_ServiceBase_GetInstanceManager
#define somOS_ServiceBaseCORBA_init_for_object_creation somOS_ServiceBase_init_for_object_creation
#define somOS_ServiceBaseCORBA_init_for_object_copy somOS_ServiceBase_init_for_object_copy
#define somOS_ServiceBaseCORBA_uninit_for_object_move somOS_ServiceBase_uninit_for_object_move
#define somOS_ServiceBaseCORBA_uninit_for_object_passivation somOS_ServiceBase_uninit_for_object_passivation
#define somOS_ServiceBaseCORBA_uninit_for_object_destruction somOS_ServiceBase_uninit_for_object_destruction
#define somOS_ServiceBaseCORBA_is_identical CosObjectIdentity_IdentifiableObject_is_identical
#define somOS_ServiceBaseCORBA__get_constant_random_id CosObjectIdentity_IdentifiableObject__get_constant_random_id
#define somOS_ServiceBaseCORBA_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somOS_ServiceBaseCORBA_somDefaultAssign SOMObject_somDefaultAssign
#define somOS_ServiceBaseCORBA_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somOS_ServiceBaseCORBA_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somOS_ServiceBaseCORBA_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somOS_ServiceBaseCORBA_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somOS_ServiceBaseCORBA_somDefaultVAssign SOMObject_somDefaultVAssign
#define somOS_ServiceBaseCORBA_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somOS_ServiceBaseCORBA_somInit SOMObject_somInit
#define somOS_ServiceBaseCORBA_somUninit SOMObject_somUninit
#define somOS_ServiceBaseCORBA_somFree SOMObject_somFree
#define somOS_ServiceBaseCORBA_somGetClass SOMObject_somGetClass
#define somOS_ServiceBaseCORBA_somGetClassName SOMObject_somGetClassName
#define somOS_ServiceBaseCORBA_somGetSize SOMObject_somGetSize
#define somOS_ServiceBaseCORBA_somIsA SOMObject_somIsA
#define somOS_ServiceBaseCORBA_somIsInstanceOf SOMObject_somIsInstanceOf
#define somOS_ServiceBaseCORBA_somRespondsTo SOMObject_somRespondsTo
#define somOS_ServiceBaseCORBA_somDispatch SOMObject_somDispatch
#define somOS_ServiceBaseCORBA_somClassDispatch SOMObject_somClassDispatch
#define somOS_ServiceBaseCORBA_somCastObj SOMObject_somCastObj
#define somOS_ServiceBaseCORBA_somResetObj SOMObject_somResetObj
#define somOS_ServiceBaseCORBA_somPrintSelf SOMObject_somPrintSelf
#define somOS_ServiceBaseCORBA_somDumpSelf SOMObject_somDumpSelf
#define somOS_ServiceBaseCORBA_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_somOS_ServiceBaseCORBA_h */

#ifndef SOM_somOS_ServiceBasePRefCORBA_h
#define SOM_somOS_ServiceBasePRefCORBA_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 somOS_ServiceBasePRefCORBA
#define somOS_ServiceBasePRefCORBA SOMObject
#endif

/*
 * Include Parent Bindings
 */
#ifndef SOM_somOS_ServiceBasePRef_h
#ifdef SOMLOCALINCLUDES
#include "somos.h"
#else
#include <somos.h>
#endif
#endif
#ifndef SOM_somOS_ServiceBaseCORBA_h
#ifdef SOMLOCALINCLUDES
#include "somos.h"
#else
#include <somos.h>
#endif
#endif

/*
 * Start of bindings for IDL types
 */


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

#define somOS_ServiceBasePRefCORBA_MajorVersion 3
#define somOS_ServiceBasePRefCORBA_MinorVersion 0

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct somOS_ServiceBasePRefCORBAClassDataStructure {
	SOMClass classObject;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBasePRefCORBAClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct somOS_ServiceBasePRefCORBACClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somos_somos SOMDLINK somOS_ServiceBasePRefCORBACClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_somOS_ServiceBasePRefCORBA (somOS_ServiceBasePRefCORBAClassData.classObject)
#ifndef SOMGD_somOS_ServiceBasePRefCORBA
    #if (defined(_somOS_ServiceBasePRefCORBA) || defined(__somOS_ServiceBasePRefCORBA))
        #undef _somOS_ServiceBasePRefCORBA
        #undef __somOS_ServiceBasePRefCORBA
        #define SOMGD_somOS_ServiceBasePRefCORBA 1
    #else
        #define _somOS_ServiceBasePRefCORBA _SOMCLASS_somOS_ServiceBasePRefCORBA
    #endif /* _somOS_ServiceBasePRefCORBA */
#endif /* SOMGD_somOS_ServiceBasePRefCORBA */
#define somOS_ServiceBasePRefCORBA_classObj _SOMCLASS_somOS_ServiceBasePRefCORBA
#define _SOMMTOKEN_somOS_ServiceBasePRefCORBA(method) ((somMToken)somOS_ServiceBasePRefCORBAClassData.method)

/*
 * New and Renew macros for somOS_ServiceBasePRefCORBA
 */
#define somOS_ServiceBasePRefCORBANew() \
   ( _somOS_ServiceBasePRefCORBA ? \
	_somNew(_somOS_ServiceBasePRefCORBA) \
	: ( somOS_ServiceBasePRefCORBANewClass(\
		somOS_ServiceBasePRefCORBA_MajorVersion, \
		somOS_ServiceBasePRefCORBA_MinorVersion),\
	   _somNew(_somOS_ServiceBasePRefCORBA)))
#define somOS_ServiceBasePRefCORBARenew(buf) \
   ( _somOS_ServiceBasePRefCORBA ? \
	_somRenew(_somOS_ServiceBasePRefCORBA, buf) \
	: ( somOS_ServiceBasePRefCORBANewClass(\
		somOS_ServiceBasePRefCORBA_MajorVersion, \
		somOS_ServiceBasePRefCORBA_MinorVersion),\
	   _somRenew(_somOS_ServiceBasePRefCORBA, buf)))

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define somOS_ServiceBasePRefCORBA_somDefaultInit SOMObject_somDefaultInit
#define somOS_ServiceBasePRefCORBA_somDestruct SOMObject_somDestruct
#define somOS_ServiceBasePRefCORBA_init_for_object_reactivation somOS_ServiceBase_init_for_object_reactivation

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somOS_ServiceBasePRefCORBA_init_for_object_creation somOS_ServiceBase_init_for_object_creation
#define somOS_ServiceBasePRefCORBA_uninit_for_object_destruction somOS_ServiceBase_uninit_for_object_destruction
#define somOS_ServiceBasePRefCORBA_reinit somOS_ServiceBase_reinit
#define somOS_ServiceBasePRefCORBA_capture somOS_ServiceBase_capture
#define somOS_ServiceBasePRefCORBA_GetInstanceManager somOS_ServiceBase_GetInstanceManager
#define somOS_ServiceBasePRefCORBA_init_for_object_copy somOS_ServiceBase_init_for_object_copy
#define somOS_ServiceBasePRefCORBA_uninit_for_object_move somOS_ServiceBase_uninit_for_object_move
#define somOS_ServiceBasePRefCORBA_uninit_for_object_passivation somOS_ServiceBase_uninit_for_object_passivation
#define somOS_ServiceBasePRefCORBA_is_identical CosObjectIdentity_IdentifiableObject_is_identical
#define somOS_ServiceBasePRefCORBA__get_constant_random_id CosObjectIdentity_IdentifiableObject__get_constant_random_id
#define somOS_ServiceBasePRefCORBA_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somOS_ServiceBasePRefCORBA_somDefaultAssign SOMObject_somDefaultAssign
#define somOS_ServiceBasePRefCORBA_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somOS_ServiceBasePRefCORBA_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somOS_ServiceBasePRefCORBA_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somOS_ServiceBasePRefCORBA_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somOS_ServiceBasePRefCORBA_somDefaultVAssign SOMObject_somDefaultVAssign
#define somOS_ServiceBasePRefCORBA_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somOS_ServiceBasePRefCORBA_somInit SOMObject_somInit
#define somOS_ServiceBasePRefCORBA_somUninit SOMObject_somUninit
#define somOS_ServiceBasePRefCORBA_somFree SOMObject_somFree
#define somOS_ServiceBasePRefCORBA_somGetClass SOMObject_somGetClass
#define somOS_ServiceBasePRefCORBA_somGetClassName SOMObject_somGetClassName
#define somOS_ServiceBasePRefCORBA_somGetSize SOMObject_somGetSize
#define somOS_ServiceBasePRefCORBA_somIsA SOMObject_somIsA
#define somOS_ServiceBasePRefCORBA_somIsInstanceOf SOMObject_somIsInstanceOf
#define somOS_ServiceBasePRefCORBA_somRespondsTo SOMObject_somRespondsTo
#define somOS_ServiceBasePRefCORBA_somDispatch SOMObject_somDispatch
#define somOS_ServiceBasePRefCORBA_somClassDispatch SOMObject_somClassDispatch
#define somOS_ServiceBasePRefCORBA_somCastObj SOMObject_somCastObj
#define somOS_ServiceBasePRefCORBA_somResetObj SOMObject_somResetObj
#define somOS_ServiceBasePRefCORBA_somPrintSelf SOMObject_somPrintSelf
#define somOS_ServiceBasePRefCORBA_somDumpSelf SOMObject_somDumpSelf
#define somOS_ServiceBasePRefCORBA_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_somOS_ServiceBasePRefCORBA_h */
