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(); }
bool WriteRecord(UInt32 type, UInt32 version, const void * buf, UInt32 length) { if(!OpenRecord(type, version)) return false; return WriteRecordData(buf, length); }
bool AddImpRecord(event ev) { if (IsRecordDisabled(ev)) return true; uint i = OpenRecord(IMP_RECORD, cdwImpRecord); reCurr.ti = *GetCurrTimeDate(); reCurr.cdwRecord = cdwImpRecord++; SaveCache(&chImpRecord); reCurr.ev = ev; PutChar(0, ibDig); switch (ev) { case EVE_EVENTS_BADLINK: PutChar(1, mpSerial[ibPort]); PutChar(2, bEventCode); break; case EVE_EVENTS_OMISSION: PutChar(1, bEventCode); break; case EVE_EVENTS_A: case EVE_EVENTS_B: Put(1, (uchar *) &tiRecordTime, sizeof(time)); PutChar(7, bEventCode); break; } CloseRecord(IMP_RECORD, i); return CloseOut(); }
void Do(const std::string& aName) { auto err = OpenRecord(aName.c_str(), aName.size(), &mRecord, this); if (GMP_FAILED(err) || GMP_FAILED(mRecord->Open())) { Done(mOnFailure, mOnSuccess); } }
void Do(const std::string& aName) { auto err = OpenRecord(aName.c_str(), aName.size(), &mRecord, this); if (GMP_FAILED(err) || GMP_FAILED(err = mRecord->Open())) { Done(err, nullptr, 0); } }
bool AddSysRecord(event ev) { if (IsRecordDisabled(ev)) return true; uint i = OpenRecord(SYS_RECORD, cdwSysRecord); reCurr.ti = *GetCurrTimeDate(); reCurr.cdwRecord = cdwSysRecord++; SaveCache(&chSysRecord); reCurr.ev = ev; switch (ev) { // case EVE_CONTACTS3_START: // case EVE_CONTACTS3_COUNTER: memcpy(&reCurr.mpbBuff+0, &cbContact, sizeof(uchar)); // memcpy(&reCurr.mpbBuff+1, &cbContactMax, sizeof(uchar)); break; // // case EVE_VALUE3_DOWN: memcpy(&reCurr.mpbBuff+0, &reContactDown, sizeof(float)); break; // case EVE_VALUE3_UP: memcpy(&reCurr.mpbBuff+0, &reContactUp, sizeof(float)); break; // case EVE_VALUE3_COUNTER: memcpy(&reCurr.mpbBuff+0, &cbContactMax, sizeof(uchar)); break; // // case EVE_CONTACTS3_0_ON: memcpy(&reCurr.mpbBuff+0, &reContactRec, sizeof(float)); // memcpy(&reCurr.mpbBuff+4, &reContactUp, sizeof(float)); break; // // case EVE_CONTACTS3_0_OFF: memcpy(&reCurr.mpbBuff+0, &reContactRec, sizeof(float)); // memcpy(&reCurr.mpbBuff+4, &reContactDown, sizeof(float)); break; // // case EVE_CONTACTSMODE: // case EVE_CONTACTS1: // case EVE_CONTACTS2: memcpy(&reCurr.mpbBuff+0, &bContactRec, sizeof(uchar)); break; case EVE_PREVNEXTTIME2: Put(0, (uchar *) &tiCurr, sizeof(time)); break; case EVE_EDIT_DIGITAL1: case EVE_EDIT_DIGITAL2: PutChar(0, ibRecordCan); Put(1, (uchar *) &mpdiDigital[ibRecordCan], sizeof(digital)); break; case EVE_EDIT_KEY10: case EVE_EDIT_KEY20: PutChar(0, ibRecordCan); Put(1, (uchar *) &mpphKeys[ibRecordCan].szLine+0, 7); break; case EVE_EDIT_KEY11: case EVE_EDIT_KEY21: Put(0, (uchar *) &mpphKeys[ibRecordCan].szLine+7, 6); break; case EVE_EDIT_ADDRESS10: case EVE_EDIT_ADDRESS11: PutChar(0, ibRecordCan); Put(1, (uchar *) &mpdwAddress1[ibRecordCan], sizeof(ulong)); break; case EVE_EDIT_ADDRESS20: case EVE_EDIT_ADDRESS21: PutChar(0, ibRecordCan); Put(1, (uchar *) &mpdwAddress2[ibRecordCan], sizeof(ulong)); break; } CloseRecord(SYS_RECORD, i); return CloseOut(); }
/* Note: You must release the record when done by using CloseRecord() */ MemHandle ReturnDocInfoHandle ( const UInt16 index /* record index */ ) /* THROWS */ { THROW_IF( plkrDocList == NULL, dmErrNoOpenDatabase ); return OpenRecord( plkrDocList, index ); }
/* Rename document name in document list */ void UpdateDocumentName ( UInt16 index, /* record index */ const Char* name, /* new document name */ const Char* filename /* new filename */ ) /* THROWS */ { MemHandle handle; DocumentData* handlePtr; THROW_IF( name == NULL || *name == '\0', errNoDocumentName ); handle = OpenRecord( plkrDocList, index ); THROW_IF( handle == NULL, DmGetLastErr() ); handlePtr = MemHandleLock( handle ); DmWrite( handlePtr, OFFSETOF( DocumentData, name ), name, StrLen( name ) + 1 ); if ( handlePtr->location != RAM ) { DocumentData* dataPtr; UInt16 infoSize; UInt16 dataSize; Char volumeLabel[ LABEL_LEN ]; UInt16 fileLength; UInt16 volumeLabelLength; fileLength = StrLen( handlePtr->data ) + 1; volumeLabelLength = StrLen( handlePtr->data + fileLength ) + 1; StrNCopy( volumeLabel, handlePtr->data + fileLength, volumeLabelLength ); MemHandleUnlock( handle ); infoSize = sizeof *dataPtr; dataSize = StrLen( filename ) + StrLen( volumeLabel ) + 2; handle = ResizeRecord( plkrDocList, index, infoSize + dataSize ); dataPtr = MemHandleLock( handle ); DmWrite( dataPtr, infoSize, filename, StrLen( filename ) + 1 ); DmWrite( dataPtr, infoSize + StrLen( filename ) + 1, volumeLabel, StrLen( volumeLabel ) + 1 ); } MemHandleUnlock( handle ); CloseRecord( handle, true ); DmInsertionSort( plkrDocList, CompareDocumentNames, 0 ); }
/* Deactivate Plucker document */ static void DeactivateOneDocument ( UInt16 index ) { MemHandle handle; Boolean active; active = false; handle = OpenRecord( plkrDocList, index ); if ( handle != NULL ) { DocumentData* handlePtr; handlePtr = MemHandleLock( handle ); if ( Prefs()->syncPolicy != SYNC_IGNORE_CARD || handlePtr->location == RAM ) DmWrite( handlePtr, OFFSETOF( DocumentData, active ), &active, sizeof( Boolean ) ); MemHandleUnlock( handle ); CloseRecord( handle, true ); } }
bool AddKeyRecord(event ev) { if (IsRecordDisabled(ev)) return true; uint i = OpenRecord(KEY_RECORD, cdwKeyRecord); reCurr.ti = *GetCurrTimeDate(); reCurr.cdwRecord = cdwKeyRecord++; SaveCache(&chKeyRecord); reCurr.ev = ev; switch (ev) { case EVE_GPS_GOODLINK: Put(0, (uchar *) &tiGps, sizeof(time)); break; case EVE_GPS_BADGPS: PutChar(0, bStatusGps); break; case EVE_GPS_GOODGPS_1: Put(0, (uchar *) &tiRecordTime, sizeof(time)); PutChar(6, bGmtGps); break; case EVE_GPS_GOODGPS_2: PutChar(0, bSeasonCurr); PutChar(1, boSeasonGps ? 0xFF : 0x00); break; case EVE_EXT_CORRECT2: case EVE_ESC_K: case EVE_ESC_k: case EVE_INQ_CORRECT1: case EVE_INQ_CORRECT2: case EVE_INQ_CORRECT4: case EVE_PROGRAM_2: Put(0, (uchar *) &tiRecordTime, sizeof(time)); break; // case EVE_SMK_GOODLINK: memcpy(&reCurr.mpbBuff+0, &tiSMK, sizeof(time)); break; // case EVE_SMK_GOODSMK_1: memcpy(&reCurr.mpbBuff+0, &tiAlt, sizeof(time)); break; } CloseRecord(KEY_RECORD, i); return CloseOut(); }
LogStream::LogStream(std::string&& eventId, Severity severity) : m_record(OpenRecord(std::move(eventId), severity)) { if (m_record) m_stream.attach_record(m_record); }