const std::string EventSignalBase::createUserEventCall(const std::string& jsObject, const std::string& jsEvent, const std::string& eventName, const std::string& arg1, const std::string& arg2, const std::string& arg3, const std::string& arg4, const std::string& arg5, const std::string& arg6) const { if (!this->isExposedSignal()) const_cast<EventSignalBase*>(this)->exposeSignal(); std::stringstream result; result << javaScript(); if (flags_.test(BIT_SERVER_EVENT) || flags_.test(BIT_SIGNAL_SERVER_ANYWAY)) { WApplication *app = WApplication::instance(); std::string senderId = encodeCmd(); senderId = senderId.substr(0, senderId.length() - eventName.length() - 1); result << app->javaScriptClass() << ".emit('" << senderId; if (!jsObject.empty()) result << "', { name:'" << eventName << "', eventObject:" << jsObject << ", event:" << jsEvent << "}"; else result << "','" << eventName << "'"; if (!arg1.empty()) { result << "," << arg1; if (!arg2.empty()) { result << "," << arg2; if (!arg3.empty()) { result << "," << arg3; if (!arg4.empty()) { result << "," << arg4; if (!arg5.empty()) { result << "," << arg5; if (!arg6.empty()) { result << "," << arg6; } } } } } } result << ");"; } return result.str(); }
const std::string EventSignalBase::createUserEventCall(const std::string& jsObject, const std::string& jsEvent, const std::string& eventName, const std::string& arg1, const std::string& arg2, const std::string& arg3, const std::string& arg4, const std::string& arg5, const std::string& arg6) const { /* * If we aren't connected yet to anything, assume we will be later to * a server-side signal, and expose the signal now. */ if (!this->isExposedSignal() && !isConnected()) const_cast<EventSignalBase*>(this)->exposeSignal(); std::stringstream result; result << javaScript(); if (flags_.test(BIT_SERVER_EVENT)) { WApplication *app = WApplication::instance(); std::string senderId = encodeCmd(); senderId = senderId.substr(0, senderId.length() - eventName.length() - 1); result << app->javaScriptClass() << ".emit('" << senderId; if (!jsObject.empty()) result << "', { name:'" << eventName << "', eventObject:" << jsObject << ", event:" << jsEvent << "}"; else result << "','" << eventName << "'"; if (!arg1.empty()) { result << "," << arg1; if (!arg2.empty()) { result << "," << arg2; if (!arg3.empty()) { result << "," << arg3; if (!arg4.empty()) { result << "," << arg4; if (!arg5.empty()) { result << "," << arg5; if (!arg6.empty()) { result << "," << arg6; } } } } } } result << ");"; } return result.str(); }