Пример #1
0
MojErr MojDbServiceHandler::Watcher::handleWatch()
{
	MojAssert(m_msg.get());
	MojLogTrace(s_log);

	// release all references before doing anything that can fail
	m_cancelSlot.cancel();
	MojRefCountedPtr<MojServiceMessage> msg = m_msg;

	MojLogInfo(s_log, _T("Watcher_handleWatch: %s, - sender= %s; appId= %s; subscribed= %d; replies= %zu;\n response= %s\n"), msg->method(), msg->senderName(), msg->appId(), (int)msg->subscribed(), msg->numReplies(), ((MojJsonWriter&)(msg->writer())).json().data());

	m_msg.reset();

	MojObjectVisitor& writer = msg->writer();
	MojErr err = writer.beginObject();
	MojErrCheck(err);
	err = writer.boolProp(MojServiceMessage::ReturnValueKey, true);
	MojErrCheck(err);
	err = writer.boolProp(MojDbServiceDefs::FiredKey, true);
	MojErrCheck(err);
	err = writer.endObject();
	MojErrCheck(err);

	err = msg->reply();

	MojErrCheck(err);

	return MojErrNone;
}