Esempio n. 1
0
INLINE
void wxeReturn::add(const wxHtmlLinkInfo &val) {
  addAtom("wxHtmlLinkInfo");
  add(val.GetHref());
  add(val.GetTarget());
  addTupleCount(3);
}
Esempio n. 2
0
int wxeReturn::send() {      
    if ((rt.GetCount() == 2 && isResult) || rt.GetCount() == 0)
      return 1;  // not a call bail out
    
    if (isResult) {
        addTupleCount(2);
    }    

    // rt to array
    unsigned int rtLength = rt.GetCount(); //signed int

    size_t size = sizeof(ErlDrvTermData)*(rtLength);
    
    ErlDrvTermData* rtData = (ErlDrvTermData *) driver_alloc(size);
    for (unsigned int i=0; i < rtLength; i++) {
        rtData[i] = rt[i];
    }
 
    int res = driver_send_term(port, caller, rtData, rtLength);
    driver_free(rtData);

    if(res == -1) {
      wxString msg;
      msg.Printf(wxT("Failed to send return or event msg"));
      send_msg("internal_error", &msg);
    }
    reset();
    return res;
}
Esempio n. 3
0
INLINE 
void  wxeReturn::addDate(wxDateTime dateTime) {
    addInt(dateTime.GetYear());
    addInt(dateTime.GetMonth()+1); // c++ month is zero based
    addInt(dateTime.GetDay());
    addTupleCount(3);
}
Esempio n. 4
0
int wxeReturn::send() {      
    if ((rt.GetCount() == 2 && isResult) || rt.GetCount() == 0)
      return 1;  // not a call bail out
    
    if (isResult) {
        addTupleCount(2);
    }    

    // rt to array
    unsigned int rtLength = rt.GetCount(); //signed int

    size_t size = sizeof(ErlDrvTermData)*(rtLength);
    
    ErlDrvTermData* rtData = (ErlDrvTermData *) driver_alloc(size);
    for (unsigned int i=0; i < rtLength; i++) {
        rtData[i] = rt[i];
    }
 
    int res = erl_drv_send_term(port, caller, rtData, rtLength);
    driver_free(rtData);

#ifdef DEBUG
    if(res == -1) {
      fprintf(stderr, "Failed to send return or event msg\r\n");
    }
#endif

    reset();
    return res;
}
Esempio n. 5
0
INLINE 
void wxeReturn::add(wxColour colour) {
    addInt(colour.Red());
    addInt(colour.Green());
    addInt(colour.Blue());
    addInt(colour.Alpha());
    addTupleCount(4);
}
Esempio n. 6
0
INLINE
void  wxeReturn::add(wxRect rect) {
    addInt(rect.x);
    addInt(rect.y);
    addInt(rect.width);
    addInt(rect.height);
    addTupleCount(4);
}
Esempio n. 7
0
INLINE 
void wxeReturn::addRef(const unsigned int ref, const char* className) {
   addAtom("wx_ref");
   addUint(ref);
   addAtom(className);
   rt.Add(ERL_DRV_NIL);
   addTupleCount(4);
}
Esempio n. 8
0
INLINE
void  wxeReturn::add(wxRect2DDouble rect2D) {
    addFloat(rect2D.m_x);
    addFloat(rect2D.m_y);
    addFloat(rect2D.m_width);
    addFloat(rect2D.m_height);
    addTupleCount(4);
}
Esempio n. 9
0
INLINE
void  wxeReturn::add(wxMouseState val) {
    addAtom("wxMouseState");
    // TODO not int?
    addUint(val.GetX());
    addUint(val.GetY());
    addBool(val.LeftDown());
    addBool(val.MiddleDown());
    addBool(val.RightDown());
    addBool(val.ControlDown());
    addBool(val.ShiftDown());
    addBool(val.AltDown());
    addBool(val.MetaDown());
    addBool(val.CmdDown());
    addTupleCount(11);     
}
Esempio n. 10
0
INLINE void  wxeReturn::addTime(wxDateTime dateTime) {
    addInt(dateTime.GetHour());
    addInt(dateTime.GetMinute());
    addInt(dateTime.GetSecond());
    addTupleCount(3);
}
Esempio n. 11
0
INLINE
void  wxeReturn::add(wxPoint2DDouble pt) {
    addFloat(pt.m_x);
    addFloat(pt.m_y);
    addTupleCount(2);
}
Esempio n. 12
0
INLINE 
void wxeReturn::add(wxSize size) {
    addInt(size.GetWidth());
    addInt(size.GetHeight());
    addTupleCount(2);
}
Esempio n. 13
0
INLINE
void  wxeReturn::add(wxGBSpan val) {
    addInt(val.GetRowspan());
    addInt(val.GetColspan());
    addTupleCount(2);
}
Esempio n. 14
0
INLINE
void  wxeReturn::add(wxGBPosition val) {
    addInt(val.GetRow());
    addInt(val.GetCol());
    addTupleCount(2);
}
Esempio n. 15
0
INLINE
void  wxeReturn::add(wxGridCellCoords val) {
    addInt(val.GetRow());
    addInt(val.GetCol());
    addTupleCount(2);
}
Esempio n. 16
0
INLINE 
void wxeReturn::add(wxPoint pt) {
    addInt(pt.x);
    addInt(pt.y);
    addTupleCount(2);
}
Esempio n. 17
0
INLINE
void  wxeReturn::add(wxDateTime dateTime) {
  addDate(dateTime);
  addTime(dateTime);
  addTupleCount(2);
}