mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-02-21 20:27:13 +01:00
Implement the pure typename meta-methods in Command types using the standard method.
This commit is contained in:
parent
bf734928a9
commit
242d6be1fe
@ -12,20 +12,8 @@ Controllers Controller::s_Controllers;
|
|||||||
Listener * Listener::s_Head = nullptr;
|
Listener * Listener::s_Head = nullptr;
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
SQInteger Manager::Typename(HSQUIRRELVM vm)
|
SQMODE_DECL_TYPENAME(ManagerTypename, _SC("SqCmdManager"))
|
||||||
{
|
SQMODE_DECL_TYPENAME(ListenerTypename, _SC("SqCmdListener"))
|
||||||
static const SQChar name[] = _SC("SqCmdManager");
|
|
||||||
sq_pushstring(vm, name, sizeof(name));
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
|
||||||
SQInteger Listener::Typename(HSQUIRRELVM vm)
|
|
||||||
{
|
|
||||||
static const SQChar name[] = _SC("SqCmdListener");
|
|
||||||
sq_pushstring(vm, name, sizeof(name));
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
Guard::Guard(const CtrRef & ctr, Object & invoker)
|
Guard::Guard(const CtrRef & ctr, Object & invoker)
|
||||||
@ -1036,10 +1024,10 @@ void Register(HSQUIRRELVM vm)
|
|||||||
Table cmdns(vm);
|
Table cmdns(vm);
|
||||||
|
|
||||||
cmdns.Bind(_SC("Manager"),
|
cmdns.Bind(_SC("Manager"),
|
||||||
Class< Manager, NoCopy< Manager > >(vm, _SC("SqCmdManager"))
|
Class< Manager, NoCopy< Manager > >(vm, ManagerTypename::Str)
|
||||||
// Meta-methods
|
// Meta-methods
|
||||||
.Func(_SC("_cmp"), &Manager::Cmp)
|
.SquirrelFunc(_SC("_typename"), &ManagerTypename::Fn)
|
||||||
.SquirrelFunc(_SC("_typename"), &Manager::Typename)
|
.Func(_SC("cmp"), &Manager::Cmp)
|
||||||
.Func(_SC("_tostring"), &Manager::ToString)
|
.Func(_SC("_tostring"), &Manager::ToString)
|
||||||
// Member Properties
|
// Member Properties
|
||||||
.Prop(_SC("Count"), &Manager::GetCount)
|
.Prop(_SC("Count"), &Manager::GetCount)
|
||||||
@ -1074,7 +1062,7 @@ void Register(HSQUIRRELVM vm)
|
|||||||
);
|
);
|
||||||
|
|
||||||
cmdns.Bind(_SC("Listener"),
|
cmdns.Bind(_SC("Listener"),
|
||||||
Class< Listener, NoCopy< Listener > >(vm, _SC("SqCmdListener"))
|
Class< Listener, NoCopy< Listener > >(vm, ListenerTypename::Str)
|
||||||
// Constructors
|
// Constructors
|
||||||
.Ctor< CSStr >()
|
.Ctor< CSStr >()
|
||||||
.Ctor< CSStr, CSStr >()
|
.Ctor< CSStr, CSStr >()
|
||||||
@ -1085,8 +1073,8 @@ void Register(HSQUIRRELVM vm)
|
|||||||
.Ctor< CSStr, CSStr, Array &, Uint8, Uint8, SQInteger, bool >()
|
.Ctor< CSStr, CSStr, Array &, Uint8, Uint8, SQInteger, bool >()
|
||||||
.Ctor< CSStr, CSStr, Array &, Uint8, Uint8, SQInteger, bool, bool >()
|
.Ctor< CSStr, CSStr, Array &, Uint8, Uint8, SQInteger, bool, bool >()
|
||||||
// Meta-methods
|
// Meta-methods
|
||||||
|
.SquirrelFunc(_SC("_typename"), &ListenerTypename::Fn)
|
||||||
.Func(_SC("_cmp"), &Listener::Cmp)
|
.Func(_SC("_cmp"), &Listener::Cmp)
|
||||||
.SquirrelFunc(_SC("_typename"), &Listener::Typename)
|
|
||||||
.Func(_SC("_tostring"), &Listener::ToString)
|
.Func(_SC("_tostring"), &Listener::ToString)
|
||||||
// Member Properties
|
// Member Properties
|
||||||
.Prop(_SC("References"), &Listener::GetRefCount)
|
.Prop(_SC("References"), &Listener::GetRefCount)
|
||||||
|
@ -869,11 +869,6 @@ public:
|
|||||||
return ToStrF("%d", m_Controller.Count());
|
return ToStrF("%d", m_Controller.Count());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
|
||||||
* Used by the script engine to retrieve the name from instances of this type.
|
|
||||||
*/
|
|
||||||
static SQInteger Typename(HSQUIRRELVM vm);
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
* Retrieve the associated controller reference.
|
* Retrieve the associated controller reference.
|
||||||
*/
|
*/
|
||||||
@ -1335,11 +1330,6 @@ public:
|
|||||||
return m_Name;
|
return m_Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
|
||||||
* Used by the script engine to retrieve the name from instances of this type.
|
|
||||||
*/
|
|
||||||
static SQInteger Typename(HSQUIRRELVM vm);
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
* Retrieve the number of weak references to the managed controller.
|
* Retrieve the number of weak references to the managed controller.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user