1
0
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:
Sandu Liviu Catalin 2016-11-15 21:43:18 +02:00
parent bf734928a9
commit 242d6be1fe
2 changed files with 7 additions and 29 deletions

View File

@ -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)

View File

@ -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.
*/ */