4350 static PyObject *
4351 report_transaction (PyObject *self, PyObject *args, PyObject *keywds)
4352 {
4353 arm_error_t status;
4354 ArmHandle *app_handle;
4355 ArmID *tran_id;
4356 arm_response_time_t response_time;
4357 arm_stop_time_t stop_time;
4358 arm_tran_status_t tran_status = ARM_STATUS_GOOD;
4359 ArmCorrelator *parent = NULL;
4360 arm_correlator_t *parent_ptr = NULL;
4361 ArmCorrelator *correlator = NULL;
4362 arm_correlator_t *correlator_ptr = NULL;
4363 int flags = ARM_FLAG_NONE;
4364 ArmBuffer *buffer = NULL;
4365 arm_buffer4_t *buffer_ptr = NULL;
4366
4367 /*
4368 * Supported calling signatures:
4369 * report_transaction (app_handle, tran_id, response_time, stop_time, status=, parent=, correlator=)
4370 * report_transaction (app_handle, tran_id, response_time, stop_time, status=, parent=, correlator=, (buffers...))
4371 */
4372
4373 static char *kwlist[] = {"app_handle", "tran_id", "response_time", "stop_time",
4374 "status", "parent", "correlator", "flags", "buffer", NULL};
4375
4376 if (!PyArg_ParseTupleAndKeywords(args,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
4377 keywds,
4378 "OO" PARSE_INT64_FMT PARSE_INT64_FMT "|" PARSE_INT32_FMT "OOiO:report_transaction",
4379 kwlist,
4380 &app_handle,
4381 &tran_id,
4382 &response_time,
4383 &stop_time,
4384 &tran_status,
4385 &parent,
4386 &correlator,
4387 &flags,
4388 &buffer))
4389 return NULL;
4390 if (!ArmHandle_Object_Check(app_handle))
when taking True path
when considering range: -0x80000000 <= value <= -1
taking False path
4391 return NULL;
4392 if (!ArmID_Object_Check(tran_id))
when taking True path
when considering range: -0x80000000 <= value <= -1
taking False path
4393 return NULL;
4394 if (buffer && ArmBuffer_Object_Check(buffer))
taking True path
when taking True path
4395 {
4396 prepare (buffer);
4397 buffer_ptr = &(buffer->arm_buffer);
4398 }
4399
4400 /* Set up our optional parameters */
4401 if (parent && ArmCorrelator_Object_Check (parent))
taking True path
when taking True path
4402 parent_ptr = &(parent->arm_correlator);
4403 else
4404 parent_ptr = NULL;
4405 if (correlator && ArmCorrelator_Object_Check (correlator))
taking True path
when taking False path
when considering range: -0x80000000 <= value <= -1
taking True path
4406 correlator_ptr = &(correlator->arm_correlator);
4407 else
4408 correlator_ptr = NULL;
4409
4410 status = arm_report_transaction(
4411 app_handle->arm_handle,
4412 &(tran_id->arm_id),
4413 tran_status,
4414 response_time,
4415 stop_time,
4416 parent_ptr,
4417 correlator_ptr,
4418 flags,
4419 buffer_ptr);
4420 if (GETSTATE0->enableExceptions && (status != ARM_SUCCESS))
when considering range: -0x80000000 <= value <= -1
when considering range: -0x80000000 <= value <= -1
taking True path
4421 {
4422 set_arm_error (status, "arm_report_transaction");
4423 return NULL;
4424 }
4425
4426 /* Empty return */
4427 Py_INCREF(Py_None);
4428 return Py_None;
4429 }
returning (PyObject*)NULL without setting an exception
found 7 similar trace(s) to this