Esempio n. 1
0
void    *GDList::rem_del(position rel,int mode)
{
    NIDNode *node = 0;
    switch(rel)
    {
        case GDBase::liststart: node=GetHead();  break;
        case GDBase::listend:   node=GetTail();  break;
        case GDBase::current:   node=GetCurr();  break;
        case GDBase::before:    if((node=GetCurr()) != 0)
                                    node = node->GetPrev();
                                break;
        case GDBase::after:     if((node=GetCurr()) != 0)
                                    node = node->GetNext();
                                break;
    }
    if(node)
    {
        void *obj = node->object;
        remove(node);
        if(mode && cleanup() == ListBase::active)
            zap_object(obj);
        return obj;
    }
    return 0;
}
Esempio n. 2
0
bool    AddModRecord(event  ev)
{
  if (IsRecordDisabled(ev)) return true;

  uint i = OpenRecord(MOD_RECORD, cdwModRecord);

  reCurr.ti = *GetCurrTimeDate();
  reCurr.cdwRecord = cdwModRecord++; SaveCache(&chModRecord);
  reCurr.ev = ev;

  PutChar(0, ibDig);

  switch (ev)
  {
    case EVE_MODEM_PROFILEOPEN:
    case EVE_MODEM_SPECIALOPEN:  Put(1, (uchar *) &mpdiDigital[ibDig], sizeof(digital)); break;

    case EVE_MODEM_PROFILE:      PutInt(1, mpcwStopCan[ibDig]); break;

    case EVE_MODEM_PROFILEOK:    PutInt(1, cwHouRead);
                                 PutInt(3, mpcwStopCan[ibDig]); break;

    case EVE_MODEM_PROFILEERROR2:PutInt(1, GetCurr());
                                 PutChar(3, mpSerial[ibPort]); break;
  }

  CloseRecord(MOD_RECORD, i);

  return CloseOut();
}
Esempio n. 3
0
void *GIDList::remove(position rel)
{
    IDNode *node = 0;
    switch(rel)
    {
        case GDBase::liststart: node=GetHead();  break;
        case GDBase::listend:   node=GetTail();  break;
        case GDBase::current:   node=GetCurr();  break;
    }
    if(node)
        unlink(node);
    return cast(node);
}
Esempio n. 4
0
int  GIDList::del(position rel)
{
    IDNode *node = 0;
    switch(rel)
    {
        case GDBase::liststart: node=GetHead();  break;
        case GDBase::listend:   node=GetTail();  break;
        case GDBase::current:   node=GetCurr();  break;
    }
    if(node)
    {
        unlink(node);
        if(cleanup() == ListBase::active)
            delete node;
        return 1;
    }
    return 0;
}
Esempio n. 5
0
bool    AddDigRecord(event  ev)
{
  if (IsRecordDisabled(ev)) return true;

  uint i = OpenRecord2(AUX_RECORD, cdwAuxRecord);

  reCurr.ti = *GetCurrTimeDate();
  reCurr.cdwRecord = cdwAuxRecord++; SaveCache(&chAuxRecord);
  reCurr.ev = ev;

  PutChar(0, ibDig);

  switch (ev)
  {
    case EVE_PROFILEOPEN:
    case EVE_SPECIALOPEN:   Put(1, (uchar *)&mpdiDigital[ibDig], sizeof(digital)); break;

//    case EVE_PROFILE:       memcpy(&reCurr.mpbBuff+1, &mpcwStopCan[ibDig], sizeof(uint)); break;

    case EVE_PROFILE2:      PutInt(0, mpcwStopCan[ibDig]);
                            PutInt(2, mpcwStopAuxCan[ibDig]); break;

//    case EVE_PROFILE_OK:    memcpy(&reCurr.mpbBuff+1, &cwHouRead, sizeof(uint));
//                            memcpy(&reCurr.mpbBuff+3, &mpcwStopCan[ibDig], sizeof(uint)); break;

    case EVE_PROFILE_OK2:   PutInt(0, cwHouRead);
                            PutInt(2, mpcwStopCan[ibDig]);
                            PutInt(4, mpcwStopAuxCan[ibDig]); break;

    case EVE_PROFILE_ERROR2:PutInt(1, GetCurr());
                            PutInt(3, mpSerial[ibPort]); break;

    case EVE_PROFILECLOSE2: PutInt(1, cwHouLength); break;

    case EVE_REFILL1:       PutInt(1, iwHardHou);
                            PutInt(3, iwBmin);
                            PutInt(5, iwBmax); break;

    case EVE_PREVIOUS_TOP:  PutInt(0, iwMajor); break;

    case EVE_CURRENT2_CANALS: Put(0, (uchar *)&mpbCurrent2Buff, 8); break;

    case EVE_CURRENT2_VALUE:  PutLong(1, dwRecord);
                              PutInt(5, wRecord); break;

//    case EVE_CHECKUP_START: memcpy(&reCurr.mpbBuff+0, &boCheckupReadonly, sizeof(uchar));
//                            memcpy(&reCurr.mpbBuff+1, &mpbCheckupLimitD[ibDig], sizeof(uchar));
//                            memcpy(&reCurr.mpbBuff+2, &mpbCheckupLimitM[ibDig], sizeof(uchar)); break;
//
//    case EVE_CHECKUP_NEXT:  memcpy(&reCurr.mpbBuff+0, &cwHouRead, sizeof(uint)); break;
//
//    case EVE_CHECKUP_VALUE: memcpy(&reCurr.mpbBuff+0, &dwBuffC, sizeof(ulong));
//                            memcpy(&reCurr.mpbBuff+4, &mpdwChannelsA[diPrev.ibLine], sizeof(ulong)); break;
//
//    case EVE_CHECKUP_DAY_SKIP:
//    case EVE_CHECKUP_MON_SKIP:
//    case EVE_CHECKUP_DAY_FAIL:
//    case EVE_CHECKUP_MON_FAIL:
//    case EVE_CHECKUP_DAY:
//    case EVE_CHECKUP_MON:   memcpy(&reCurr.mpbBuff+0, &daAlt, sizeof(date)); break;
//
//    case EVE_CHECKUP_CANAL: memcpy(&reCurr.mpbBuff+0, &ibCan, sizeof(uchar));
//                            memcpy(&reCurr.mpbBuff+1, &diPrev, sizeof(digital)); break;
//
//    case EVE_CHECKUP_DAY_NEXT:
//    case EVE_CHECKUP_MON_NEXT: memcpy(&reCurr.mpbBuff+0, &daAlt, sizeof(date));
//                               memcpy(&reCurr.mpbBuff+6, &ibGrp, sizeof(uchar)); break;
//
//    case EVE_CHECKUP_INFO:  memcpy(&reCurr.mpbBuff+0, &cbCheckupDays, sizeof(uchar));
//                            memcpy(&reCurr.mpbBuff+1, &cbCheckupErrorDay, sizeof(uchar));
//                            memcpy(&reCurr.mpbBuff+2, &cbCheckupErrorMon, sizeof(uchar)); break;
//
//    case EVE_DEVICE_P_DEFECT: memcpy(&reCurr.mpbBuff+0, &tiDig, sizeof(time)); break;

    case EVE_EXTENDED_0_ERROR: PutChar(0, bRecord);
                               PutChar(1, bExt0Counter);
                               PutChar(2, bExt0Limit); break;
  }

  CloseRecord(AUX_RECORD, i);

  return CloseOut();
}