Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
scriptserver.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
16
#include "
core/refcounted.h
"
17
#include "
core/singleton.h
"
18
#include "
io/uri.h
"
19
#include "
util/variant.h
"
20
#include "
util/delegate.h
"
21
22
//------------------------------------------------------------------------------
23
namespace
Scripting
24
{
25
26
using
ScriptModuleInit
=
Util::Delegate
<void()>;
27
28
class
ScriptServer
:
public
Core::RefCounted
29
{
30
__DeclareClass
(
ScriptServer
);
31
__DeclareSingleton
(
ScriptServer
);
32
public
:
34
ScriptServer
();
36
virtual
~ScriptServer
();
38
virtual
bool
Open
();
40
virtual
void
Close
();
42
bool
IsOpen
()
const
;
44
void
SetDebug
(
const
bool
b);
46
virtual
void
AddModulePath
(
const
IO::URI
& folder) {
n_assert
(
false
); }
48
virtual
bool
Eval
(
const
Util::String
& str) {
return
false
; }
50
virtual
bool
EvalFile
(
const
IO::URI
& file) {
return
false
; }
51
52
static
void
RegisterModuleInit
(
const
ScriptModuleInit
& init);
53
protected
:
54
static
Util::Array<ScriptModuleInit>
initFuncs
;
55
bool
isOpen
;
56
bool
debug
;
57
};
58
59
//------------------------------------------------------------------------------
62
inline
63
bool
64
ScriptServer::IsOpen
()
const
65
{
66
return
this->
isOpen
;
67
}
68
69
//------------------------------------------------------------------------------
72
inline
void
73
ScriptServer::SetDebug
(
const
bool
b)
74
{
75
this->
debug
= b;
76
}
77
78
//------------------------------------------------------------------------------
81
inline
82
void
83
ScriptServer::RegisterModuleInit
(
const
ScriptModuleInit
& init)
84
{
85
initFuncs
.Append(init);
86
}
87
88
}
// namespace Scripting
89
//------------------------------------------------------------------------------
Core::RefCounted
The common base class of Nebula.
Definition
refcounted.h:38
IO::URI
An URI object can split a Uniform Resource Identifier string into its components or build a string fr...
Definition
uri.h:67
Scripting::ScriptServer::initFuncs
static Util::Array< ScriptModuleInit > initFuncs
Definition
scriptserver.h:54
Scripting::ScriptServer::Eval
virtual bool Eval(const Util::String &str)
evaluate a script statement in a string
Definition
scriptserver.h:48
Scripting::ScriptServer::isOpen
bool isOpen
Definition
scriptserver.h:55
Scripting::ScriptServer::IsOpen
bool IsOpen() const
return true if open
Definition
scriptserver.h:64
Scripting::ScriptServer::~ScriptServer
virtual ~ScriptServer()
destructor
Definition
scriptserver.cc:32
Scripting::ScriptServer::__DeclareSingleton
__DeclareSingleton(ScriptServer)
Scripting::ScriptServer::ScriptServer
ScriptServer()
constructor
Definition
scriptserver.cc:22
Scripting::ScriptServer::debug
bool debug
Definition
scriptserver.h:56
Scripting::ScriptServer::Open
virtual bool Open()
open the script server
Definition
scriptserver.cc:42
Scripting::ScriptServer::RegisterModuleInit
static void RegisterModuleInit(const ScriptModuleInit &init)
Definition
scriptserver.h:83
Scripting::ScriptServer::__DeclareClass
__DeclareClass(ScriptServer)
Scripting::ScriptServer::Close
virtual void Close()
close the script server
Definition
scriptserver.cc:53
Scripting::ScriptServer::EvalFile
virtual bool EvalFile(const IO::URI &file)
evaluate script in file
Definition
scriptserver.h:50
Scripting::ScriptServer::SetDebug
void SetDebug(const bool b)
set debugging with the HTTP interface
Definition
scriptserver.h:73
Scripting::ScriptServer::AddModulePath
virtual void AddModulePath(const IO::URI &folder)
add module search path
Definition
scriptserver.h:46
Util::Array
Nebula's dynamic array class.
Definition
array.h:61
Util::Delegate
Nebula delegate class, allows to store a function, method or lambda call into a C++ object for later ...
Definition
delegate.h:39
n_assert
#define n_assert(exp)
Definition
debug.h:50
delegate.h
Scripting
Prototype for deargui scripting init.
Definition
deargui.cpp:2701
Scripting::ScriptModuleInit
Util::Delegate< void()> ScriptModuleInit
Definition
scriptserver.h:26
refcounted.h
singleton.h
Util.String
Nebula's universal string class.
Definition
String.cs:8
uri.h
variant.h
code
addons
scripting
scriptserver.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.