Add method to clear parameter(s) to JS Message API.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6298 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
e6a765dc35
commit
65bc140298
|
@ -393,6 +393,7 @@ public:
|
|||
params().addParam(new ExpFunction("getRow"));
|
||||
params().addParam(new ExpFunction("getResult"));
|
||||
params().addParam(new ExpFunction("copyParams"));
|
||||
params().addParam(new ExpFunction("clearParam"));
|
||||
}
|
||||
inline JsMessage(Message* message, Mutex* mtx, bool disp, bool owned = false)
|
||||
: JsObject(mtx,"[object Message]"),
|
||||
|
@ -2239,6 +2240,34 @@ bool JsMessage::runNative(ObjList& stack, const ExpOperation& oper, GenObject* c
|
|||
copyObjParams(*m_message,fromNative);
|
||||
}
|
||||
}
|
||||
else if (oper.name() == YSTRING("clearParam")) {
|
||||
if (!m_message)
|
||||
return true;
|
||||
ObjList args;
|
||||
char sep = 0;
|
||||
switch (extractArgs(stack,oper,context,args)) {
|
||||
case 2:
|
||||
{
|
||||
ExpOperation* op = static_cast<ExpOperation*>(args[1]);
|
||||
if (JsParser::isFilled(op)) {
|
||||
if (op->length() > 1)
|
||||
return false;
|
||||
sep = (*op)[0];
|
||||
}
|
||||
// intentional
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
String* name = static_cast<String*>(args[0]);
|
||||
if (TelEngine::null(name))
|
||||
return true;
|
||||
m_message->clearParam(*name,sep);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return JsObject::runNative(stack,oper,context);
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue