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; }
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(); }
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); }
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; }
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(); }