te::vm::core::VirtualMachineManager Class Reference

A singleton for managing TerraLib Virtual Machines. More...

#include <VirtualMachineManager.h>

Public Member Functions

void clear ()
 It releases all VM. More...
 
void erase (const std::string &id)
 It removes a given virtual machine. More...
 
VirtualMachineget (const std::string &id) const
 It returns the VM identified by id. More...
 
void insert (const std::string &id, std::unique_ptr< VirtualMachine > vm)
 It adds a new VM to be managed. More...
 

Static Public Member Functions

static VirtualMachineManagerinstance ()
 Return a reference to the singleton. More...
 

Private Member Functions

VirtualMachineManageroperator= (const VirtualMachineManager &)
 
 VirtualMachineManager ()
 Singleton constructor. More...
 
 VirtualMachineManager (const VirtualMachineManager &)
 
 ~VirtualMachineManager ()
 Singleton destructor. More...
 

Private Attributes

Impl * m_pimpl
 

Detailed Description

A singleton for managing TerraLib Virtual Machines.

See also
VirtualMachine

Definition at line 57 of file VirtualMachineManager.h.

Constructor & Destructor Documentation

te::vm::core::VirtualMachineManager::VirtualMachineManager ( )
private

Singleton constructor.

te::vm::core::VirtualMachineManager::~VirtualMachineManager ( )
private

Singleton destructor.

te::vm::core::VirtualMachineManager::VirtualMachineManager ( const VirtualMachineManager )
private

Member Function Documentation

void te::vm::core::VirtualMachineManager::clear ( )

It releases all VM.

void te::vm::core::VirtualMachineManager::erase ( const std::string &  id)

It removes a given virtual machine.

Parameters
idThe VM id.
Exceptions
te::OutOfRangeExceptionIf there is no virtual machine registered with the given id.
VirtualMachine* te::vm::core::VirtualMachineManager::get ( const std::string &  id) const

It returns the VM identified by id.

Parameters
idThe VM identifier. Example: lua, python.
Returns
A pointer to a VM managed by this singleton.
Exceptions
te::OutOfRangeExceptionIf there is no virtual machine registered with the given id.
void te::vm::core::VirtualMachineManager::insert ( const std::string &  id,
std::unique_ptr< VirtualMachine vm 
)

It adds a new VM to be managed.

Parameters
idThe VM id.
lvmThe VM to be managed. The singleton will take the VM ownership.
Exceptions
te::InvalidArgumentExceptionIt throws an exception if a VM with the same ID already exists.
static VirtualMachineManager& te::vm::core::VirtualMachineManager::instance ( )
static

Return a reference to the singleton.

VirtualMachineManager& te::vm::core::VirtualMachineManager::operator= ( const VirtualMachineManager )
private

Member Data Documentation

Impl* te::vm::core::VirtualMachineManager::m_pimpl
private

Definition at line 111 of file VirtualMachineManager.h.


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