/// <summary> /// /// </summary> /// <param name="fileDataFields"></param> public FileDataFields(FileDataFields fileDataFields) { sUnitName = fileDataFields.sUnitName; sUnitVersion = fileDataFields.sUnitVersion; sDate = fileDataFields.sDate; sFilename = fileDataFields.sFilename; sGPS = fileDataFields.sGPS; sTransmitTime = fileDataFields.sTransmitTime; sSize = fileDataFields.sSize; sGainUsed = fileDataFields.sGainUsed; nSyncDuration = fileDataFields.nSyncDuration; sHardwareVersion = fileDataFields.sHardwareVersion; sSimCcid = fileDataFields.sSimCcid; iIndex = fileDataFields.iIndex; fIsLogFile = fileDataFields.fIsLogFile; fLogAlreadyRead = fileDataFields.fLogAlreadyRead; eLogType = fileDataFields.eLogType; eFileType = fileDataFields.eFileType; fBatteryVoltageBeforeRecording = fileDataFields.fBatteryVoltageBeforeRecording; fBatteryVoltageAfterRecording = fileDataFields.fBatteryVoltageAfterRecording; }
/// <summary> /// /// </summary> public void SetDefault() { sUnitName = ""; sUnitVersion = ""; sDate = ""; sFilename = ""; sGPS = ""; sTransmitTime = ""; sSize = ""; sGainUsed = ""; nSyncDuration = 0; sHardwareVersion = ""; sSimCcid = ""; iIndex = 0; fIsLogFile = false; fLogAlreadyRead = false; eLogType = ELogFileType.eLOG_FILE_TYPE_UNKNOWN; eFileType = EFileType.eUNKNOWN_FILE_TYPE; fBatteryVoltageBeforeRecording = 0; fBatteryVoltageAfterRecording = 0; }
public bool Open(string strLogFileName, ELogFileType eFileType) { m_strLogFileName = strLogFileName; // Default log directory is %TEMP% string strTempDir = Path.GetTempPath(); // Try to access the root registry key and, if possible, the key for this executable string strRootKeyName = "HKEY_LOCAL_MACHINE\\SOFTWARE\\EasyScreen\\Debug\\"; m_eFileType = eFileType; string strFileTypeLookup; switch (eFileType) { case ELogFileType.Audit: strFileTypeLookup = "Audit"; break; case ELogFileType.Wire: strFileTypeLookup = "Wire"; break; default: strFileTypeLookup = "Log"; break; } string strLogDirectory = Registry.GetValue(strRootKeyName, "LogDirectory", strTempDir).ToString(); string strLogExtension = Registry.GetValue(strRootKeyName, strFileTypeLookup + "Extension", "log").ToString(); m_iMaxFileSize = (int)Registry.GetValue(strRootKeyName, strFileTypeLookup + "Filesize", 1048576); m_iFlushPeriod = (int)Registry.GetValue(strRootKeyName, strFileTypeLookup + "FlushPeriod", 1000); m_iLogRules = (int)Registry.GetValue(strRootKeyName, strFileTypeLookup + "Rules", LogFile.DefaultFileBackupSchemaSize); m_LastFlushTime = DateTime.Now; m_FlushThread = new Thread(delegate() { while (true) { if (m_File != null && m_LastFlushTime.AddMilliseconds(m_iFlushPeriod) < DateTime.Now) { lock (m_File) { m_File.Flush(); m_LastFlushTime = DateTime.Now; } } Thread.Sleep(m_iFlushPeriod); } }); m_FlushThread.Name = "Log Flusher"; m_FlushThread.Start(); // Add a trailing backslash to the directory name if there isn't already one in there if ((strLogDirectory.Length > 0) && (strLogDirectory[strLogDirectory.Length - 1] != '\\') && (strLogDirectory[strLogDirectory.Length - 1] != '/')) strLogDirectory += '\\'; m_strFilePath = strLogDirectory + strLogFileName + "." + strLogExtension; return ReOpen(); }