The C++ framework for developing highly scalable, high performance servers on Windows platforms.

CCLRHost Class Reference
[CLR Hosting helper code]

Collaboration diagram for CCLRHost:

List of all members.


Detailed Description

A class that hosts the CLR in unmanaged code.


Public Types

enum  BuildFlavour { WorkStation, Server }
 The build of the CLR. More...

Public Member Functions

 CCLRHost (BuildFlavour build, DWORD flags=0, IHostControl *pHostControl=nullptr, IEventSinkCallback *pCallback=nullptr)
 Construct a host for the specific build of the CLR and pass the supplied flags to it during construction. If specified, register the IHostControl interface with the host and, again, if specified, register the supplied IEventSinkCallback interface to receieve event callbacks.
 CCLRHost (const JetByteTools::Core::_tstring &version, BuildFlavour build, DWORD flags=0, IHostControl *pHostControl=nullptr, IEventSinkCallback *pCallback=nullptr)
 Construct a host for the version and build of the CLR and pass the supplied flags to it during construction. If specified, register the IHostControl interface with the host and, again, if specified, register the supplied IEventSinkCallback interface to receieve event callbacks.
 CCLRHost (ICLRRuntimeHost *pHost, IHostControl *pHostControl=nullptr, IEventSinkCallback *pCallback=nullptr)
 Construct a host for the supplied instance of ICLRRuntimeHost. If specified, register the IHostControl interface with the host and, again, if specified, register the supplied IEventSinkCallback interface to receieve event callbacks. AddRefs all interface that are passed in to it.
 CCLRHost (const CCLRHost &rhs)
 ~CCLRHost ()
CCLRHostoperator= (const CCLRHost &rhs)
void SetAppDomainManagerType (const JetByteTools::Core::_tstring &assembly, const JetByteTools::Core::_tstring &type)
 Set the Application Domain Manager to be the supplied type within the supplied assembly.
CCLRPolicyManagerGetPolicyManager () const
 Get the CLR's policy manager.
CCLRGCManagerGetGCManager () const
 Get the CLR's GC manager.
void Start ()
 Start the CLR.
bool StartIfPossible ()
 Starts the CLR if it's not already started.
void OnCLRDisabled ()
 To be called if the CLR is reported as disabled.
void Stop ()
 Stop the CLR - well, we would if it supported shutting down...
void DisableCallbacks (bool logWhenDisabled=false)
 Disables event sink callbacks.
void UnloadAppDomain (DWORD dwAppDomainID)
void RegisterForEventCallback (EClrEvent event)
 Register to receieve callbacks when the supplied event is fired by the CLR. This call results in an exception if you didn't register an instance of IEventSinkCallback when you constructed the host.
void UnRegisterForEventCallback (EClrEvent event)
 Stop receieving callbacks when the supplied event is fired by the CLR. This call results in an exception if you didn't register an instance of IEventSinkCallback when you constructed the host.


Member Enumeration Documentation

The build of the CLR.

Enumerator:
WorkStation 
Server 


Constructor & Destructor Documentation

CCLRHost ( BuildFlavour  build,
DWORD  flags = 0,
IHostControl pHostControl = nullptr,
IEventSinkCallback pCallback = nullptr 
) [explicit]

Construct a host for the specific build of the CLR and pass the supplied flags to it during construction. If specified, register the IHostControl interface with the host and, again, if specified, register the supplied IEventSinkCallback interface to receieve event callbacks.

CCLRHost ( const JetByteTools::Core::_tstring version,
BuildFlavour  build,
DWORD  flags = 0,
IHostControl pHostControl = nullptr,
IEventSinkCallback pCallback = nullptr 
)

Construct a host for the version and build of the CLR and pass the supplied flags to it during construction. If specified, register the IHostControl interface with the host and, again, if specified, register the supplied IEventSinkCallback interface to receieve event callbacks.

CCLRHost ( ICLRRuntimeHost *  pHost,
IHostControl pHostControl = nullptr,
IEventSinkCallback pCallback = nullptr 
) [explicit]

Construct a host for the supplied instance of ICLRRuntimeHost. If specified, register the IHostControl interface with the host and, again, if specified, register the supplied IEventSinkCallback interface to receieve event callbacks. AddRefs all interface that are passed in to it.

CCLRHost ( const CCLRHost rhs  ) 

~CCLRHost (  ) 


Member Function Documentation

CCLRHost& operator= ( const CCLRHost rhs  ) 

void SetAppDomainManagerType ( const JetByteTools::Core::_tstring assembly,
const JetByteTools::Core::_tstring type 
)

Set the Application Domain Manager to be the supplied type within the supplied assembly.

CCLRPolicyManager & GetPolicyManager (  )  const

Get the CLR's policy manager.

CCLRGCManager & GetGCManager (  )  const

Get the CLR's GC manager.

void Start (  ) 

Start the CLR.

bool StartIfPossible (  ) 

Starts the CLR if it's not already started.

void OnCLRDisabled (  ) 

To be called if the CLR is reported as disabled.

void Stop (  ) 

Stop the CLR - well, we would if it supported shutting down...

void DisableCallbacks ( bool  logWhenDisabled = false  ) 

Disables event sink callbacks.

void UnloadAppDomain ( DWORD  dwAppDomainID  ) 

void RegisterForEventCallback ( EClrEvent  event  ) 

Register to receieve callbacks when the supplied event is fired by the CLR. This call results in an exception if you didn't register an instance of IEventSinkCallback when you constructed the host.

void UnRegisterForEventCallback ( EClrEvent  event  ) 

Stop receieving callbacks when the supplied event is fired by the CLR. This call results in an exception if you didn't register an instance of IEventSinkCallback when you constructed the host.


Generated on Sun Sep 12 19:08:13 2021 for The Server Framework - v7.4 by doxygen 1.5.3