Build JS Message objects with properly set prototypes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6214 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
d8f8bdd5d6
commit
23b9e4a09c
|
@ -297,12 +297,6 @@ public:
|
|||
m_message(0), m_owned(false), m_trackPrio(true)
|
||||
{
|
||||
XDebug(&__plugin,DebugAll,"JsMessage::JsMessage() [%p]",this);
|
||||
}
|
||||
inline JsMessage(Message* message, Mutex* mtx, bool owned)
|
||||
: JsObject("Message",mtx),
|
||||
m_message(message), m_owned(owned), m_trackPrio(true)
|
||||
{
|
||||
XDebug(&__plugin,DebugAll,"JsMessage::JsMessage(%p) [%p]",message,this);
|
||||
params().addParam(new ExpFunction("enqueue"));
|
||||
params().addParam(new ExpFunction("dispatch"));
|
||||
params().addParam(new ExpFunction("name"));
|
||||
|
@ -316,6 +310,12 @@ public:
|
|||
params().addParam(new ExpFunction("getRow"));
|
||||
params().addParam(new ExpFunction("getResult"));
|
||||
}
|
||||
inline JsMessage(Message* message, Mutex* mtx, bool owned)
|
||||
: JsObject(mtx,"[object Message]"),
|
||||
m_message(message), m_owned(owned), m_trackPrio(true)
|
||||
{
|
||||
XDebug(&__plugin,DebugAll,"JsMessage::JsMessage(%p) [%p]",message,this);
|
||||
}
|
||||
virtual ~JsMessage()
|
||||
{
|
||||
XDebug(&__plugin,DebugAll,"JsMessage::~JsMessage() [%p]",this);
|
||||
|
@ -2347,6 +2347,7 @@ bool JsHandler::receivedInternal(Message& msg)
|
|||
return false;
|
||||
}
|
||||
JsMessage* jm = new JsMessage(&msg,runner->context()->mutex(),false);
|
||||
jm->setPrototype(runner->context(),YSTRING("Message"));
|
||||
jm->ref();
|
||||
String name = m_function.name();
|
||||
safeNowInternal(); // Staring from here the handler may be safely uninstalled
|
||||
|
@ -2385,6 +2386,7 @@ void JsMessageQueue::received(Message& msg)
|
|||
if (!runner)
|
||||
return;
|
||||
JsMessage* jm = new JsMessage(&msg,runner->context()->mutex(),false);
|
||||
jm->setPrototype(runner->context(),YSTRING("Message"));
|
||||
jm->ref();
|
||||
ObjList args;
|
||||
args.append(new ExpWrapper(jm,"message"));
|
||||
|
@ -4233,6 +4235,7 @@ bool JsAssist::init()
|
|||
return false;
|
||||
}
|
||||
if (jsm && jsm->ref()) {
|
||||
jsm->setPrototype(ctx,YSTRING("Message"));
|
||||
JsObject* cc = JsObject::buildCallContext(ctx->mutex(),jsm);
|
||||
jsm->ref();
|
||||
cc->params().setParam(new ExpWrapper(jsm,"message"));
|
||||
|
@ -4372,6 +4375,7 @@ bool JsAssist::runFunction(const String& name, Message& msg, bool* handled)
|
|||
return false;
|
||||
|
||||
JsMessage* jm = new JsMessage(&msg,runner->context()->mutex(),false);
|
||||
jm->setPrototype(runner->context(),YSTRING("Message"));
|
||||
jm->ref();
|
||||
ObjList args;
|
||||
args.append(new ExpWrapper(jm,"message"));
|
||||
|
|
Loading…
Reference in New Issue