TAG_METHOD_IMPL(CComplexTypeParser, OnAll)
{
	TRACE_PARSE_ENTRY();

	DisableReset();

	return S_OK;
}
int SetPin_Order(int trst_idx, int tck_idx, int tms_idx, int tdi_idx, int tdo_idx)  {
	if (trst_idx == -1) {
		DisableReset();
		if ( tck_idx != -1) {
			jtag_pins[TCK_IDX].idx = tck_idx;
        		jtag_pins[TMS_IDX].idx = tms_idx;
        		jtag_pins[TDI_IDX].idx = tdi_idx;
        		jtag_pins[TDO_IDX].idx = tdo_idx;
		} else {
			jtag_pins[TCK_IDX].idx = TCK_IDX;
        		jtag_pins[TMS_IDX].idx = TMS_IDX;
        		jtag_pins[TDI_IDX].idx = TDI_IDX;
        		jtag_pins[TDO_IDX].idx = TDO_IDX;
		}
	} else {
		jtag_pins[TRST_IDX].idx= trst_idx;
		jtag_pins[TCK_IDX].idx = tck_idx;
        	jtag_pins[TMS_IDX].idx = tms_idx;
        	jtag_pins[TDI_IDX].idx = tdi_idx;
        	jtag_pins[TDO_IDX].idx = tdo_idx;
	}
	return 0;
}