remotemono
Public Types | Public Member Functions | List of all members
remotemono::RMonoAPIBackend< ABI > Class Template Reference

#include <RMonoAPIBackend_Def.h>

Inheritance diagram for remotemono::RMonoAPIBackend< ABI >:
Inheritance graph
[legend]
Collaboration diagram for remotemono::RMonoAPIBackend< ABI >:
Collaboration graph
[legend]

Public Types

typedef IPCVector< irmono_voidp, irmono_voidp > IPCVec
 

Public Member Functions

 RMonoAPIBackend (ABI *abi)
 
void injectAPI (RMonoAPI *mono, blackbone::Process &process, blackbone::ThreadPtr workerThread)
 
void uninjectAPI ()
 
IPCVecgetIPCVector ()
 
IPCVec::VectorPtr getIPCVectorInstance ()
 
bool isAPIFunctionSupported (const std::string &name) const
 

Detailed Description

template<typename ABI>
class remotemono::RMonoAPIBackend< ABI >

See also
RMonoAPIBackendBase

Member Function Documentation

◆ getIPCVector()

template<typename ABI >
IPCVec& remotemono::RMonoAPIBackend< ABI >::getIPCVector ( )
inline

Returns the IPCVector object used for the various mono_*_foreach() functions.

◆ getIPCVectorInstance()

template<typename ABI >
IPCVec::VectorPtr remotemono::RMonoAPIBackend< ABI >::getIPCVectorInstance ( )
inline

Returns the actual remote vector pointer for the IPCVector.

See also
getIPCVector()

◆ injectAPI()

template<typename ABI >
void remotemono::RMonoAPIBackend< ABI >::injectAPI ( RMonoAPI mono,
blackbone::Process &  process,
blackbone::ThreadPtr  workerThread 
)

Create all the Mono API wrapper functions and find the raw functions in the remote process.

Parameters
monoThe frontend object being used. You can not use RMonoAPIBackend without a frontend.
processThe remote process.
workerThreadThe already created worker thread in the remote process. It does not need to be Mono-attached for calling this method yet.

◆ uninjectAPI()

template<typename ABI >
void remotemono::RMonoAPIBackend< ABI >::uninjectAPI

Release all resources in the remote process and detach the backend.


The documentation for this class was generated from the following files: