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

/*
 *    COMPONENT_NAME: somd
 * 
 *    ORIGINS: 27
 * 
 * 
 *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1996,1996
 *    All Rights Reserved
 *    Licensed Materials - Property of IBM
 *    US Government Users Restricted Rights - Use, duplication or
 *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 * 
 */


#ifndef SOM_SOMDServerMgr_h
#define SOM_SOMDServerMgr_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_somd_servmgr
#ifdef SOM_DLL_somd
	/* export semantics */
	#if defined(SOM_DEFFILE_somd)\
	||(defined(SOM_DEFFILE_BY_DEFAULT)&&!defined(SOM_NODEFFILE_somd))\
	|| !defined(SOM_Module_servmgr_Source)
	#define SOM_IMPORTEXPORT_somd_servmgr
	#else
	#define SOM_IMPORTEXPORT_somd_servmgr SOMDLLEXPORT
	#endif
#else
	#define SOM_IMPORTEXPORT_somd_servmgr 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 SOMDServerMgr
#define SOMDServerMgr 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
 */

#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef Container
    #define Container SOMObject
#endif /* Container */
#ifndef ImplementationDef
    #define ImplementationDef SOMObject
#endif /* ImplementationDef */

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

#define SOMDServerMgr_MajorVersion 2
#define SOMDServerMgr_MinorVersion 1

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct SOMDServerMgrClassDataStructure {
	SOMClass classObject;
	somMToken somdShutdownServer;
	somMToken somdStartServer;
	somMToken somdRestartServer;
	somMToken somdListServer;
	somMToken somdDisableServer;
	somMToken somdEnableServer;
	somMToken somdIsServerEnabled;
	somMToken somdShutdownImpl;
} SOM_IMPORTEXPORT_somd_servmgr SOMDLINK SOMDServerMgrClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct SOMDServerMgrCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somd_servmgr SOMDLINK SOMDServerMgrCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_SOMDServerMgr (SOMDServerMgrClassData.classObject)
#ifndef SOMGD_SOMDServerMgr
    #if (defined(_SOMDServerMgr) || defined(__SOMDServerMgr))
        #undef _SOMDServerMgr
        #undef __SOMDServerMgr
        #define SOMGD_SOMDServerMgr 1
    #else
        #define _SOMDServerMgr _SOMCLASS_SOMDServerMgr
    #endif /* _SOMDServerMgr */
#endif /* SOMGD_SOMDServerMgr */
#define SOMDServerMgr_classObj _SOMCLASS_SOMDServerMgr
#define _SOMMTOKEN_SOMDServerMgr(method) ((somMToken)SOMDServerMgrClassData.method)

/*
 * New and Renew macros for SOMDServerMgr
 */
#define SOMDServerMgrNew() \
   ( _SOMDServerMgr ? \
	_somNew(_SOMDServerMgr) \
	: ( SOMDServerMgrNewClass(\
		SOMDServerMgr_MajorVersion, \
		SOMDServerMgr_MinorVersion),\
	   _somNew(_SOMDServerMgr)))
#define SOMDServerMgrRenew(buf) \
   ( _SOMDServerMgr ? \
	_somRenew(_SOMDServerMgr, buf) \
	: ( SOMDServerMgrNewClass(\
		SOMDServerMgr_MajorVersion, \
		SOMDServerMgr_MinorVersion),\
	   _somRenew(_SOMDServerMgr, buf)))

/*
 * New Method: somdShutdownServer
 */
typedef ORBStatus   SOMLINK somTP_SOMDServerMgr_somdShutdownServer(SOMDServerMgr somSelf, Environment *ev, 
		string server_alias);
typedef somTP_SOMDServerMgr_somdShutdownServer *somTD_SOMDServerMgr_somdShutdownServer;
/*
 *  Responsibility of caller to ensure that the server is finished
 *  processing requests before invoking somdShutdownServer.
 */
#define somMD_SOMDServerMgr_somdShutdownServer "::SOMDServerMgr::somdShutdownServer"
#define SOMDServerMgr_somdShutdownServer(somSelf,ev,server_alias) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdShutdownServer) \
	(somSelf,ev,server_alias))
#ifndef SOMGD_somdShutdownServer
    #if (defined(_somdShutdownServer) || defined(__somdShutdownServer))
        #undef _somdShutdownServer
        #undef __somdShutdownServer
        #define SOMGD_somdShutdownServer 1
    #else
        #define _somdShutdownServer SOMDServerMgr_somdShutdownServer
    #endif /* _somdShutdownServer */
#endif /* SOMGD_somdShutdownServer */

/*
 * New Method: somdShutdownImpl
 */
typedef ORBStatus   SOMLINK somTP_SOMDServerMgr_somdShutdownImpl(SOMDServerMgr somSelf, Environment *ev, 
		ImplementationDef impldef);
typedef somTP_SOMDServerMgr_somdShutdownImpl *somTD_SOMDServerMgr_somdShutdownImpl;
#define somMD_SOMDServerMgr_somdShutdownImpl "::SOMDServerMgr::somdShutdownImpl"
#define SOMDServerMgr_somdShutdownImpl(somSelf,ev,impldef) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdShutdownImpl) \
	(somSelf,ev,impldef))
#ifndef SOMGD_somdShutdownImpl
    #if (defined(_somdShutdownImpl) || defined(__somdShutdownImpl))
        #undef _somdShutdownImpl
        #undef __somdShutdownImpl
        #define SOMGD_somdShutdownImpl 1
    #else
        #define _somdShutdownImpl SOMDServerMgr_somdShutdownImpl
    #endif /* _somdShutdownImpl */
#endif /* SOMGD_somdShutdownImpl */

/*
 * New Method: somdStartServer
 */
typedef ORBStatus   SOMLINK somTP_SOMDServerMgr_somdStartServer(SOMDServerMgr somSelf, Environment *ev, 
		string server_alias);
typedef somTP_SOMDServerMgr_somdStartServer *somTD_SOMDServerMgr_somdStartServer;
#define somMD_SOMDServerMgr_somdStartServer "::SOMDServerMgr::somdStartServer"
#define SOMDServerMgr_somdStartServer(somSelf,ev,server_alias) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdStartServer) \
	(somSelf,ev,server_alias))
#ifndef SOMGD_somdStartServer
    #if (defined(_somdStartServer) || defined(__somdStartServer))
        #undef _somdStartServer
        #undef __somdStartServer
        #define SOMGD_somdStartServer 1
    #else
        #define _somdStartServer SOMDServerMgr_somdStartServer
    #endif /* _somdStartServer */
#endif /* SOMGD_somdStartServer */

/*
 * New Method: somdRestartServer
 */
typedef ORBStatus   SOMLINK somTP_SOMDServerMgr_somdRestartServer(SOMDServerMgr somSelf, Environment *ev, 
		string server_alias);
typedef somTP_SOMDServerMgr_somdRestartServer *somTD_SOMDServerMgr_somdRestartServer;
#define somMD_SOMDServerMgr_somdRestartServer "::SOMDServerMgr::somdRestartServer"
#define SOMDServerMgr_somdRestartServer(somSelf,ev,server_alias) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdRestartServer) \
	(somSelf,ev,server_alias))
#ifndef SOMGD_somdRestartServer
    #if (defined(_somdRestartServer) || defined(__somdRestartServer))
        #undef _somdRestartServer
        #undef __somdRestartServer
        #define SOMGD_somdRestartServer 1
    #else
        #define _somdRestartServer SOMDServerMgr_somdRestartServer
    #endif /* _somdRestartServer */
#endif /* SOMGD_somdRestartServer */

/*
 * New Method: somdListServer
 */
typedef ORBStatus   SOMLINK somTP_SOMDServerMgr_somdListServer(SOMDServerMgr somSelf, Environment *ev, 
		string server_alias);
typedef somTP_SOMDServerMgr_somdListServer *somTD_SOMDServerMgr_somdListServer;
#define somMD_SOMDServerMgr_somdListServer "::SOMDServerMgr::somdListServer"
#define SOMDServerMgr_somdListServer(somSelf,ev,server_alias) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdListServer) \
	(somSelf,ev,server_alias))
#ifndef SOMGD_somdListServer
    #if (defined(_somdListServer) || defined(__somdListServer))
        #undef _somdListServer
        #undef __somdListServer
        #define SOMGD_somdListServer 1
    #else
        #define _somdListServer SOMDServerMgr_somdListServer
    #endif /* _somdListServer */
#endif /* SOMGD_somdListServer */

/*
 * New Method: somdDisableServer
 */
typedef ORBStatus   SOMLINK somTP_SOMDServerMgr_somdDisableServer(SOMDServerMgr somSelf, Environment *ev, 
		string server_alias);
typedef somTP_SOMDServerMgr_somdDisableServer *somTD_SOMDServerMgr_somdDisableServer;
#define somMD_SOMDServerMgr_somdDisableServer "::SOMDServerMgr::somdDisableServer"
#define SOMDServerMgr_somdDisableServer(somSelf,ev,server_alias) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdDisableServer) \
	(somSelf,ev,server_alias))
#ifndef SOMGD_somdDisableServer
    #if (defined(_somdDisableServer) || defined(__somdDisableServer))
        #undef _somdDisableServer
        #undef __somdDisableServer
        #define SOMGD_somdDisableServer 1
    #else
        #define _somdDisableServer SOMDServerMgr_somdDisableServer
    #endif /* _somdDisableServer */
#endif /* SOMGD_somdDisableServer */

/*
 * New Method: somdEnableServer
 */
typedef ORBStatus   SOMLINK somTP_SOMDServerMgr_somdEnableServer(SOMDServerMgr somSelf, Environment *ev, 
		string server_alias);
typedef somTP_SOMDServerMgr_somdEnableServer *somTD_SOMDServerMgr_somdEnableServer;
#define somMD_SOMDServerMgr_somdEnableServer "::SOMDServerMgr::somdEnableServer"
#define SOMDServerMgr_somdEnableServer(somSelf,ev,server_alias) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdEnableServer) \
	(somSelf,ev,server_alias))
#ifndef SOMGD_somdEnableServer
    #if (defined(_somdEnableServer) || defined(__somdEnableServer))
        #undef _somdEnableServer
        #undef __somdEnableServer
        #define SOMGD_somdEnableServer 1
    #else
        #define _somdEnableServer SOMDServerMgr_somdEnableServer
    #endif /* _somdEnableServer */
#endif /* SOMGD_somdEnableServer */

/*
 * New Method: somdIsServerEnabled
 */
typedef boolean   SOMLINK somTP_SOMDServerMgr_somdIsServerEnabled(SOMDServerMgr somSelf, Environment *ev, 
		ImplementationDef impldef);
typedef somTP_SOMDServerMgr_somdIsServerEnabled *somTD_SOMDServerMgr_somdIsServerEnabled;
#define somMD_SOMDServerMgr_somdIsServerEnabled "::SOMDServerMgr::somdIsServerEnabled"
#define SOMDServerMgr_somdIsServerEnabled(somSelf,ev,impldef) \
    (SOM_Resolve(somSelf, SOMDServerMgr, somdIsServerEnabled) \
	(somSelf,ev,impldef))
#ifndef SOMGD_somdIsServerEnabled
    #if (defined(_somdIsServerEnabled) || defined(__somdIsServerEnabled))
        #undef _somdIsServerEnabled
        #undef __somdIsServerEnabled
        #define SOMGD_somdIsServerEnabled 1
    #else
        #define _somdIsServerEnabled SOMDServerMgr_somdIsServerEnabled
    #endif /* _somdIsServerEnabled */
#endif /* SOMGD_somdIsServerEnabled */

/*
 * Full Names for Inherited Methods
 */

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMDServerMgr_somDefaultInit SOMObject_somDefaultInit
#define SOMDServerMgr_somDestruct SOMObject_somDestruct
#define SOMDServerMgr_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMDServerMgr_somDefaultAssign SOMObject_somDefaultAssign
#define SOMDServerMgr_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMDServerMgr_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMDServerMgr_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMDServerMgr_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMDServerMgr_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMDServerMgr_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMDServerMgr_somInit SOMObject_somInit
#define SOMDServerMgr_somUninit SOMObject_somUninit
#define SOMDServerMgr_somFree SOMObject_somFree
#define SOMDServerMgr_somGetClass SOMObject_somGetClass
#define SOMDServerMgr_somGetClassName SOMObject_somGetClassName
#define SOMDServerMgr_somGetSize SOMObject_somGetSize
#define SOMDServerMgr_somIsA SOMObject_somIsA
#define SOMDServerMgr_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMDServerMgr_somRespondsTo SOMObject_somRespondsTo
#define SOMDServerMgr_somDispatch SOMObject_somDispatch
#define SOMDServerMgr_somClassDispatch SOMObject_somClassDispatch
#define SOMDServerMgr_somCastObj SOMObject_somCastObj
#define SOMDServerMgr_somResetObj SOMObject_somResetObj
#define SOMDServerMgr_somPrintSelf SOMObject_somPrintSelf
#define SOMDServerMgr_somDumpSelf SOMObject_somDumpSelf
#define SOMDServerMgr_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMDServerMgr_h */
