Method: Ctp::CThostFtdcTraderSpi#OnErrRtnExecOrderAction

Defined in:
ext/ctp/ctp.cxx

#OnErrRtnExecOrderAction(*args) ⇒ Object



197110
197111
197112
197113
197114
197115
197116
197117
197118
197119
197120
197121
197122
197123
197124
197125
197126
197127
197128
197129
197130
197131
197132
197133
197134
197135
197136
197137
197138
197139
197140
197141
197142
197143
197144
197145
197146
197147
197148
197149
197150
197151
197152
197153
197154
197155
197156
197157
# File 'ext/ctp/ctp.cxx', line 197110

SWIGINTERN VALUE
_wrap_CThostFtdcTraderSpi_OnErrRtnExecOrderAction(int argc, VALUE *argv, VALUE self) {
  CThostFtdcTraderSpi *arg1 = (CThostFtdcTraderSpi *) 0 ;
  CThostFtdcExecOrderActionField *arg2 = (CThostFtdcExecOrderActionField *) 0 ;
  CThostFtdcRspInfoField *arg3 = (CThostFtdcRspInfoField *) 0 ;
  void *argp1 = 0 ;
  int res1 = 0 ;
  void *argp2 = 0 ;
  int res2 = 0 ;
  void *argp3 = 0 ;
  int res3 = 0 ;
  Swig::Director *director = 0;
  bool upcall = false;
  
  if ((argc < 2) || (argc > 2)) {
    rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
  }
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CThostFtdcTraderSpi, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CThostFtdcTraderSpi *","OnErrRtnExecOrderAction", 1, self )); 
  }
  arg1 = reinterpret_cast< CThostFtdcTraderSpi * >(argp1);
  res2 = SWIG_ConvertPtr(argv[0], &argp2,SWIGTYPE_p_CThostFtdcExecOrderActionField, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "CThostFtdcExecOrderActionField *","OnErrRtnExecOrderAction", 2, argv[0] )); 
  }
  arg2 = reinterpret_cast< CThostFtdcExecOrderActionField * >(argp2);
  res3 = SWIG_ConvertPtr(argv[1], &argp3,SWIGTYPE_p_CThostFtdcRspInfoField, 0 |  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "CThostFtdcRspInfoField *","OnErrRtnExecOrderAction", 3, argv[1] )); 
  }
  arg3 = reinterpret_cast< CThostFtdcRspInfoField * >(argp3);
  director = dynamic_cast<Swig::Director *>(arg1);
  upcall = (director && (director->swig_get_self() == self));
  try {
    if (upcall) {
      (arg1)->CThostFtdcTraderSpi::OnErrRtnExecOrderAction(arg2,arg3);
    } else {
      (arg1)->OnErrRtnExecOrderAction(arg2,arg3);
    }
  } catch (Swig::DirectorException& e) {
    rb_exc_raise(e.getError());
    SWIG_fail;
  }
  return Qnil;
fail:
  return Qnil;
}