3647 static PyObject *
3648 start_application (PyObject *self, PyObject *args, PyObject *keywds)
3649 {
3650 arm_error_t status;
3651 arm_app_start_handle_t app_handle;
3652 ArmID *app_id;
3653 const char *group_name = ARM_STRING_NONE;
3654 const char *instance_name = ARM_STRING_NONE;
3655 ArmBuffer *buffer = NULL;
3656 arm_buffer4_t *buffer_ptr = NULL;
3657
3658 /*
3659 * Supported calling signatures:
3660 * start_application (app_id)
3661 * start_application (app_id, "Group", "Instance")
3662 * start_application (app_id, "Group", "Instance",(buffers...))
3663 */
3664 static char *kwlist[] = {"app_id", "group_name", "instance_name", "buffer", NULL};
3665
3666 if (!PyArg_ParseTupleAndKeywords(args, keywds, "O|ssO:start_application", kwlist,
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
3667 &app_id, &group_name, &instance_name, &buffer))
3668 return NULL;
3669 if (!ArmID_Object_Check(app_id))
when taking True path
when considering range: -0x80000000 <= value <= -1
taking False path
3670 return NULL;
3671 if (buffer && ArmBuffer_Object_Check(buffer))
taking True path
when taking False path
when considering range: -0x80000000 <= value <= -1
taking True path
3672 {
3673 prepare (buffer);
3674 buffer_ptr = &(buffer->arm_buffer);
3675 }
3676
3677 status = arm_start_application(
3678 &(app_id->arm_id),
3679 group_name,
3680 instance_name,
3681 0,
3682 buffer_ptr,
3683 &app_handle);
3684 if (GETSTATE0->enableExceptions && (status != ARM_SUCCESS))
when considering range: -0x80000000 <= value <= -1
when considering range: -0x80000000 <= value <= -1
taking True path
3685 {
3686 set_arm_error (status, "arm_start_application");
3687 return NULL;
3688 }
3689
3690 /* Return the transaction ID */
3691 PyObject *id_ptr = (PyObject *) newArmHandle (app_handle);
3692 return id_ptr;
3693 }
returning (PyObject*)NULL without setting an exception
found 7 similar trace(s) to this