コード例 #1
0
 /// <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;
 }
コード例 #2
0
 /// <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;
 }
コード例 #3
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();
        }