Index: trunk/BNC/src/bncrinex.cpp
===================================================================
--- trunk/BNC/src/bncrinex.cpp	(revision 4501)
+++ trunk/BNC/src/bncrinex.cpp	(revision 4502)
@@ -177,5 +177,5 @@
 // Read Skeleton Header File
 ////////////////////////////////////////////////////////////////////////////
-void bncRinex::readSkeleton(bool& obsTypesFound) {
+void bncRinex::readSkeleton() {
 
   // Read the local file
@@ -197,6 +197,146 @@
     }
   }
+}
+
+// Next File Epoch (static)
+////////////////////////////////////////////////////////////////////////////
+QString bncRinex::nextEpochStr(const QDateTime& datTim, 
+                               const QString& intStr, QDateTime* nextEpoch) {
+
+  QString epoStr;
+
+  QTime nextTime;
+  QDate nextDate;
+
+  int indHlp = intStr.indexOf("min");
+
+  if ( indHlp != -1) {
+    int step = intStr.left(indHlp-1).toInt();
+    char ch = 'A' + datTim.time().hour();
+    epoStr = ch;
+    if (datTim.time().minute() >= 60-step) {
+      epoStr += QString("%1").arg(60-step, 2, 10, QChar('0'));
+      if (datTim.time().hour() < 23) {
+        nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
+        nextDate = datTim.date();
+      }
+      else {
+        nextTime.setHMS(0, 0, 0);
+        nextDate = datTim.date().addDays(1);
+      }
+    }
+    else {
+      for (int limit = step; limit <= 60-step; limit += step) {
+        if (datTim.time().minute() < limit) {
+          epoStr += QString("%1").arg(limit-step, 2, 10, QChar('0'));
+          nextTime.setHMS(datTim.time().hour(), limit, 0);
+          nextDate = datTim.date();
+          break;
+        }
+      }
+    }
+  }
+  else if (intStr == "1 hour") {
+    char ch = 'A' + datTim.time().hour();
+    epoStr = ch;
+    if (datTim.time().hour() < 23) {
+      nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
+      nextDate = datTim.date();
+    }
+    else {
+      nextTime.setHMS(0, 0, 0);
+      nextDate = datTim.date().addDays(1);
+    }
+  }
+  else {
+    epoStr = "0";
+    nextTime.setHMS(0, 0, 0);
+    nextDate = datTim.date().addDays(1);
+  }
+
+  if (nextEpoch) {
+   *nextEpoch = QDateTime(nextDate, nextTime);
+  }
+
+  return epoStr;
+}
+
+// File Name according to RINEX Standards
+////////////////////////////////////////////////////////////////////////////
+void bncRinex::resolveFileName(const QDateTime& datTim) {
 
   bncSettings settings;
+  QString path = settings.value("rnxPath").toString();
+  expandEnvVar(path);
+
+  if ( path.length() > 0 && path[path.length()-1] != QDir::separator() ) {
+    path += QDir::separator();
+  }
+
+  QString hlpStr = nextEpochStr(datTim, settings.value("rnxIntr").toString(), 
+                                &_nextCloseEpoch);
+
+  QString ID4 = _statID.left(4);
+
+  // Check name conflict
+  // -------------------
+  QString distStr;
+  int num = 0;
+  QListIterator<QString> it(settings.value("mountPoints").toStringList());
+  while (it.hasNext()) {
+    QString mp = it.next();
+    if (mp.indexOf(ID4) != -1) {
+      ++num;
+    }
+  }
+  if (num > 1) {
+    distStr = "_" + _statID.mid(4);
+  }
+
+  QString sklExt = settings.value("rnxSkel").toString();
+  if (!sklExt.isEmpty()) {
+    _sklName = path + ID4 + distStr + "." + sklExt;
+  }
+
+  path += ID4 +
+          QString("%1").arg(datTim.date().dayOfYear(), 3, 10, QChar('0')) +
+          hlpStr + distStr + datTim.toString(".yyO");
+
+  _fName = path.toAscii();
+}
+
+// Write RINEX Header
+////////////////////////////////////////////////////////////////////////////
+void bncRinex::writeHeader(const QByteArray& format, 
+                           const QDateTime& datTimNom) {
+
+  bncSettings settings;
+
+  // Open the Output File
+  // --------------------
+  resolveFileName(datTimNom);
+
+  // Append to existing file and return
+  // ----------------------------------
+  if ( QFile::exists(_fName) ) {
+    if (_reconnectFlag ||
+        Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) {
+      _out.open(_fName.data(), ios::app);
+      _out.setf(ios::showpoint | ios::fixed);
+      _headerWritten = true;
+      _reconnectFlag = false;
+      return;
+    }
+  }
+
+  _out.open(_fName.data());
+  _out.setf(ios::showpoint | ios::fixed);
+
+  // Read Skeleton Header
+  // --------------------
+  readSkeleton();
+
+  // Set RINEX Version
+  // -----------------
   if ( Qt::CheckState(settings.value("rnxV3").toInt()) == Qt::Checked) {
     _header._version = 3.01;    
@@ -206,11 +346,14 @@
   }
 
-  obsTypesFound = true;
-
-  // Default RINEX v2 Types
-  // -------------------------
+  // Set Marker Name
+  // ---------------
+  if (_header._markerName.isEmpty()) {
+    _header._markerName = _statID;
+  }
+
+  // Set Default RINEX v2 Types
+  // --------------------------
   if (_header._obsTypesV2.size() == 0) {
     if (_header._version < 3.0) {
-      obsTypesFound = false;
     }
     _header._obsTypesV2 << "C1" << "P1" << "L1" << "S1" 
@@ -218,9 +361,10 @@
   }
 
-  // Default RINEX v3 Types
-  // -------------------------
+  QStringList addComments;
+
+  // Set Default RINEX v3 Types
+  // ---------------------------
   if (_header._obsTypesV3.size() == 0) {
     if (_header._version >= 3.0) {
-      obsTypesFound = false;
     }
     _header._obsTypesV3['G'] << "C1C" << "L1C" << "D1C" << "S1C" 
@@ -253,152 +397,8 @@
                              << "C7" << "L7" << "D7" << "S7";
   }
-}
-
-// Next File Epoch (static)
-////////////////////////////////////////////////////////////////////////////
-QString bncRinex::nextEpochStr(const QDateTime& datTim, 
-                               const QString& intStr, QDateTime* nextEpoch) {
-
-  QString epoStr;
-
-  QTime nextTime;
-  QDate nextDate;
-
-  int indHlp = intStr.indexOf("min");
-
-  if ( indHlp != -1) {
-    int step = intStr.left(indHlp-1).toInt();
-    char ch = 'A' + datTim.time().hour();
-    epoStr = ch;
-    if (datTim.time().minute() >= 60-step) {
-      epoStr += QString("%1").arg(60-step, 2, 10, QChar('0'));
-      if (datTim.time().hour() < 23) {
-        nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
-        nextDate = datTim.date();
-      }
-      else {
-        nextTime.setHMS(0, 0, 0);
-        nextDate = datTim.date().addDays(1);
-      }
-    }
-    else {
-      for (int limit = step; limit <= 60-step; limit += step) {
-        if (datTim.time().minute() < limit) {
-          epoStr += QString("%1").arg(limit-step, 2, 10, QChar('0'));
-          nextTime.setHMS(datTim.time().hour(), limit, 0);
-          nextDate = datTim.date();
-          break;
-        }
-      }
-    }
-  }
-  else if (intStr == "1 hour") {
-    char ch = 'A' + datTim.time().hour();
-    epoStr = ch;
-    if (datTim.time().hour() < 23) {
-      nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
-      nextDate = datTim.date();
-    }
-    else {
-      nextTime.setHMS(0, 0, 0);
-      nextDate = datTim.date().addDays(1);
-    }
-  }
-  else {
-    epoStr = "0";
-    nextTime.setHMS(0, 0, 0);
-    nextDate = datTim.date().addDays(1);
-  }
-
-  if (nextEpoch) {
-   *nextEpoch = QDateTime(nextDate, nextTime);
-  }
-
-  return epoStr;
-}
-
-// File Name according to RINEX Standards
-////////////////////////////////////////////////////////////////////////////
-void bncRinex::resolveFileName(const QDateTime& datTim) {
-
-  bncSettings settings;
-  QString path = settings.value("rnxPath").toString();
-  expandEnvVar(path);
-
-  if ( path.length() > 0 && path[path.length()-1] != QDir::separator() ) {
-    path += QDir::separator();
-  }
-
-  QString hlpStr = nextEpochStr(datTim, settings.value("rnxIntr").toString(), 
-                                &_nextCloseEpoch);
-
-  QString ID4 = _statID.left(4);
-
-  // Check name conflict
-  // -------------------
-  QString distStr;
-  int num = 0;
-  QListIterator<QString> it(settings.value("mountPoints").toStringList());
-  while (it.hasNext()) {
-    QString mp = it.next();
-    if (mp.indexOf(ID4) != -1) {
-      ++num;
-    }
-  }
-  if (num > 1) {
-    distStr = "_" + _statID.mid(4);
-  }
-
-  QString sklExt = settings.value("rnxSkel").toString();
-  if (!sklExt.isEmpty()) {
-    _sklName = path + ID4 + distStr + "." + sklExt;
-  }
-
-  path += ID4 +
-          QString("%1").arg(datTim.date().dayOfYear(), 3, 10, QChar('0')) +
-          hlpStr + distStr + datTim.toString(".yyO");
-
-  _fName = path.toAscii();
-}
-
-// Write RINEX Header
-////////////////////////////////////////////////////////////////////////////
-void bncRinex::writeHeader(const QByteArray& format, 
-                           const QDateTime& datTimNom) {
-
-  bncSettings settings;
-
-  // Open the Output File
-  // --------------------
-  resolveFileName(datTimNom);
-
-  // Append to existing file and return
-  // ----------------------------------
-  if ( QFile::exists(_fName) ) {
-    if (_reconnectFlag ||
-        Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) {
-      _out.open(_fName.data(), ios::app);
-      _out.setf(ios::showpoint | ios::fixed);
-      _headerWritten = true;
-      _reconnectFlag = false;
-      return;
-    }
-  }
-
-  _out.open(_fName.data());
-  _out.setf(ios::showpoint | ios::fixed);
-
-  // Copy Skeleton Header
-  // --------------------
-  bool obsTypesFound;
-  readSkeleton(obsTypesFound);
-  if (_header._markerName.isEmpty()) {
-    _header._markerName = _statID;
-  }
 
   // A few additional comments
   // -------------------------
   QMap<QString, QString> txtMap;
-  QStringList addComments;
 
   addComments << format.left(6) + " " + _mountPoint.host() + _mountPoint.path();
Index: trunk/BNC/src/bncrinex.h
===================================================================
--- trunk/BNC/src/bncrinex.h	(revision 4501)
+++ trunk/BNC/src/bncrinex.h	(revision 4502)
@@ -55,5 +55,5 @@
    static std::string obsToStr(double val, int width = 14, int precision = 3);
    void resolveFileName(const QDateTime& datTim);
-   void readSkeleton(bool& obsTypesFound);
+   void readSkeleton();
    void writeHeader(const QByteArray& format, const QDateTime& datTimNom);
    void closeFile();
