Main Page
Modules
Namespaces
Classes
Files
File List
File Members
VirtualMachine.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
3
4
This file is part of the TerraLib - a Framework for building GIS enabled applications.
5
6
TerraLib is free software: you can redistribute it and/or modify
7
it under the terms of the GNU Lesser General Public License as published by
8
the Free Software Foundation, either version 3 of the License,
9
or (at your option) any later version.
10
11
TerraLib is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU Lesser General Public License for more details.
15
16
You should have received a copy of the GNU Lesser General Public License
17
along with TerraLib. See COPYING. If not, write to
18
TerraLib Team at <terralib-team@terralib.org>.
19
*/
20
21
/*!
22
\file terralib/vm/core/VirtualMachine.h
23
24
\brief An abstract class that defines a Virtual Machine for executing code in any TerraLib supported language.
25
26
\author Frederico Augusto BedĂȘ
27
\author Gilberto Ribeiro de Queiroz
28
*/
29
30
#ifndef __TERRALIB_VM_CORE_VIRTUALMACHINE_H__
31
#define __TERRALIB_VM_CORE_VIRTUALMACHINE_H__
32
33
// TerraLib
34
#include "
Config.h
"
35
36
// STL
37
#include <string>
38
39
// Boost
40
#include <boost/noncopyable.hpp>
41
42
namespace
te
43
{
44
namespace
vm
45
{
46
namespace
core
47
{
48
class
TEVMEXPORT
VirtualMachine
:
public
boost::noncopyable
49
{
50
public
:
51
52
/*!
53
\exception VMCreationException If the Virtual Machine can not be created.
54
*/
55
VirtualMachine
() { }
56
57
/*! \brief Virtual destructor. */
58
virtual
~VirtualMachine
() { }
59
60
/*! \Return the name of the Virtual Machine: it is also an identifier about the VM type. */
61
virtual
std::string getName()
const
= 0;
62
63
/*! \brief Return the title of Virtual Machine: a name that can be used by applications to show in a GUI. */
64
virtual
std::string getTitle()
const
= 0;
65
66
/*! \brief Returns a brief description about the underlying Virtual Machine. */
67
virtual
std::string getDescription()
const
= 0;
68
69
virtual
void
build(
const
std::string& file) = 0;
70
71
virtual
void
execute() = 0;
72
73
virtual
void
pause() = 0;
74
75
virtual
void
stop() = 0;
76
77
virtual
void
reset() = 0;
78
};
79
80
}
// end namespace core
81
}
// end namespace vm
82
}
// end namespace te
83
84
#endif // __TERRALIB_VM_CORE_VIRTUALMACHINE_H__
85
te::vm::core::VirtualMachine
Definition:
VirtualMachine.h:48
te::vm::core::VirtualMachine::VirtualMachine
VirtualMachine()
Definition:
VirtualMachine.h:55
te
URI C++ Library.
Definition:
AddressGeocodingOp.h:51
te::vm::core::VirtualMachine::~VirtualMachine
virtual ~VirtualMachine()
Virtual destructor.
Definition:
VirtualMachine.h:58
TEVMEXPORT
#define TEVMEXPORT
Definition:
Config.h:40
Config.h
Configuration flags for TerraLib VM Library.
home
castejon
castejon_files
develop
terralib5
git_master
src
terralib
vm
core
VirtualMachine.h
Generated on Thu Mar 9 2017 16:41:56 for TerraLib by
1.8.10