void AsioSession::setOnResumableSuccessCallback(const Variant& callback) {
  m_onResumableSuccessCallback = checkCallback(
    callback,
    "ResumableWaitHandle::onSuccess"
  );
  updateEventHookState();
}
void AsioSession::setOnExternalThreadEventFailCallback(
  const Variant& callback
) {
  m_onExternalThreadEventFailCallback = checkCallback(
    callback,
    "ExternalThreadEventWaitHandle::onFail"
  );
}
Exemple #3
0
void AsioSession::setOnExternalThreadEventSuccess(
    const Variant& callback
) {
    m_onExtThreadEventSuccess = checkCallback(
                                    callback,
                                    "ExternalThreadEventWaitHandle::onSuccess"
                                );
}
Exemple #4
0
void AsioSession::setOnExternalThreadEventCreate(
    const Variant& callback
) {
    m_onExtThreadEventCreate = checkCallback(
                                   callback,
                                   "ExternalThreadEventWaitHandle::onCreate"
                               );
}
Exemple #5
0
/**
 * @brief Callback called when the EXIP library has found the start of an element
 * @param qname The qualified name of the element
 * @param app_data Pointer to the struct appData passed to initParser()
 * @return EXIP_HANDLER_OK if success, or EXIP_HANDLER_STOP if need to stop the parser
 */
static errorCode sample_startElement(QName qname, void* app_data) {
	struct appData* appD = (struct appData*) app_data;
	char error = 0;
	unsigned char prefixIndex = 0;
	unsigned char prxHit = 1;
	int t = 0;

	PRINT ("SE ");
	writeQName(qname);
	PRINT ("\n");

	//	Check if we where in another element. If yes, calls cb_startElement
	checkCallback (appD, 0);

	if(!isStringEmpty(qname.uri)) {
		char uri[200];
		char pfx[30];

		error = lookupPrefix(appD, *qname.uri, &prxHit, &prefixIndex);
		if	(error) {
			fprintf (stderr, "Prefix not found\n");
			return EXIP_HANDLER_STOP;
		}

		copyString(*qname.uri, uri);
		strcpy (pfx, getPrefixByNamespace(uri));
		strcpy (appD->nameBuf, pfx);
		strcat (appD->nameBuf, ":");
		t = strlen(appD->nameBuf);

		if(prxHit == 0) {
			// Create xmlns: attribute
			t_ctxt	*ctxt = &appD->ctxt;
			char tmp[30];
			strcpy (tmp, "xmlns:");
			strcat (tmp, pfx);
			ctxt->atname[ctxt->atcount]	= strdup(tmp);
			ctxt->atvalue[ctxt->atcount]	= StringStrdup(qname.uri);
			ctxt->atcount++;
		}
	}

	memcpy(appD->nameBuf + t, qname.localName->str, qname.localName->length);
	appD->nameBuf[t + qname.localName->length] = '\0';

	push(&(appD->stack), createElement(appD->nameBuf));

	appD->unclosedElement = 1;
	return ERR_OK;
}
Exemple #6
0
/**
 * @brief Callback called when the EXIP library has found the end of an element
 * @param app_data Pointer to the struct appData passed to initParser()
 * @return EXIP_HANDLER_OK if success, or EXIP_HANDLER_STOP if need to stop the parser
 */
static errorCode sample_endElement(void* app_data) {
	struct appData* appD = (struct appData*) app_data;
	struct element* el;

	PRINT ("EE\n");
	int save = appD->unclosedElement;
	checkCallback (appD, 1);

	//	libxml2 compatibility : don't call cb_endElement when it is empty
	if	(!save)
		cb_endElement (appD);
	appD->depth	--;

	el = pop(&(appD->stack));
	destroyElement(el);
	_XoFreeAttributesWith (&appD->ctxt,free);
	return ERR_OK;
}
Exemple #7
0
static void putValue(struct appData* appD, char *avalue) {
	t_ctxt	*ctxt = &appD->ctxt;
//printf ("putValue %s\n", avalue);
	//	This is the attribute value
	if(appD->expectAttributeData) {
		char	*aqname = appD->attribute;
		//printf ("AT(#%d) %s=%s\n", ctxt->atcount, aqname, avalue);
		ctxt->atname[ctxt->atcount]	= aqname;
		ctxt->atvalue[ctxt->atcount]	= strdup(avalue);
		ctxt->atcount++;

		appD->expectAttributeData = 0;
		appD->attribute	= NULL;
	}
	else {
		//printf ("CH %s\n", avalue);
		checkCallback (appD, 0);
		cb_text (appD, avalue);
	}
}
void AsioSession::setOnSleepSuccessCallback(const Variant& callback) {
  m_onSleepSuccessCallback = checkCallback(
    callback,
    "SleepWaitHandle::onSuccess"
  );
}
void AsioSession::setOnSleepCreateCallback(const Variant& callback) {
  m_onSleepCreateCallback = checkCallback(
    callback,
    "SleepWaitHandle::onCreate"
  );
}
Exemple #10
0
void AsioSession::setOnConditionCreateCallback(const Variant& callback) {
  m_onConditionCreateCallback = checkCallback(
    callback,
    "ConditionWaitHandle::onCreate"
  );
}
Exemple #11
0
void AsioSession::setOnGenVectorCreateCallback(const Variant& callback) {
  m_onGenVectorCreateCallback = checkCallback(
    callback,
    "GenVectorWaitHandle::onCreate"
  );
}
Exemple #12
0
void AsioSession::setOnAwaitAllCreateCallback(const Variant& callback) {
  m_onAwaitAllCreateCallback = checkCallback(
    callback,
    "AwaitAllWaitHandle::onCreate"
  );
}
Exemple #13
0
void AsioSession::setOnJoinCallback(const Variant& callback) {
  m_onJoinCallback = checkCallback(callback, "WaitHandle::onJoin");
}
Exemple #14
0
void AsioSession::setOnIOWaitExitCallback(const Variant& callback) {
  m_onIOWaitExitCallback = checkCallback(
    callback,
    "WaitHandle::onIOWaitExit"
  );
}
Exemple #15
0
static Bool checkCBSCallback(CBS cbs, Range range,
                             void *closureP, Size closureS)
{
  UNUSED(cbs);
  return checkCallback(range, closureP, closureS);
}
Exemple #16
0
static Bool checkFLCallback(Bool *deleteReturn, Range range,
                            void *closureP, Size closureS)
{
  *deleteReturn = FALSE;
  return checkCallback(range, closureP, closureS);
}
Exemple #17
0
void AsioSession::setOnResumableFailCallback(const Variant& callback) {
  m_onResumableFailCallback = checkCallback(
    callback,
    "ResumableWaitHandle::onFail"
  );
}