Index: trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 5863)
+++ trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 5883)
@@ -57,37 +57,4 @@
 
 const double SLIPTRESH = 10.0; // cycle-slip threshold (meters)
-
-// Set Observations from RINEX File
-////////////////////////////////////////////////////////////////////////////
-void t_reqcAnalyze::setObsFromRnx(const t_rnxObsFile* rnxObsFile,
-                                  const t_rnxObsFile::t_rnxEpo* epo, 
-                                  const t_rnxObsFile::t_rnxSat& rnxSat, 
-                                  t_obs& obs) {
-
-  strncpy(obs.StatID, rnxObsFile->markerName().toAscii().constData(),
-          sizeof(obs.StatID));
-
-  obs.satSys   = rnxSat.satSys;
-  obs.satNum   = rnxSat.satNum;
-  obs.GPSWeek  = epo->tt.gpsw();
-  obs.GPSWeeks = epo->tt.gpssec();
-
-  for (int iType = 0; iType < rnxObsFile->nTypes(obs.satSys); iType++) {
-    QString type = rnxObsFile->obsType(obs.satSys,iType).toAscii();
-    obs.setMeasdata(type, rnxObsFile->version(), rnxSat.obs[iType]);
-    if      (type.indexOf("L1") == 0) {
-      obs.snrL1  = rnxSat.snr[iType];
-      obs.slipL1 = (rnxSat.lli[iType] & 1);
-    }
-    else if (type.indexOf("L2") == 0) {
-      obs.snrL2  = rnxSat.snr[iType];
-      obs.slipL2 = (rnxSat.lli[iType] & 1);
-    }
-    else if (type.indexOf("L5") == 0) {
-      obs.snrL5  = rnxSat.snr[iType];
-      obs.slipL5 = (rnxSat.lli[iType] & 1);
-    }
-  }
-}
 
 // Constructor
Index: trunk/BNC/src/rinex/reqcanalyze.h
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.h	(revision 5863)
+++ trunk/BNC/src/rinex/reqcanalyze.h	(revision 5883)
@@ -169,9 +169,4 @@
                    QVector<t_polarPoint*>* dataSNR2);
 
-  void setObsFromRnx(const t_rnxObsFile* rnxObsFile,
-                     const t_rnxObsFile::t_rnxEpo* epo, 
-                    const t_rnxObsFile::t_rnxSat& rnxSat, 
-                    t_obs& obs);
-
   QString                    _logFileName;
   QFile*                     _logFile;
Index: trunk/BNC/src/rinex/rnxobsfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 5863)
+++ trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 5883)
@@ -1104,2 +1104,36 @@
   }
 }
+
+// Set Observations from RINEX File
+////////////////////////////////////////////////////////////////////////////
+void t_rnxObsFile::setObsFromRnx(const t_rnxObsFile* rnxObsFile,
+                                 const t_rnxObsFile::t_rnxEpo* epo, 
+                                 const t_rnxObsFile::t_rnxSat& rnxSat, 
+                                 t_obs& obs) {
+
+  strncpy(obs.StatID, rnxObsFile->markerName().toAscii().constData(),
+          sizeof(obs.StatID));
+
+  obs.satSys   = rnxSat.satSys;
+  obs.satNum   = rnxSat.satNum;
+  obs.GPSWeek  = epo->tt.gpsw();
+  obs.GPSWeeks = epo->tt.gpssec();
+
+  for (int iType = 0; iType < rnxObsFile->nTypes(obs.satSys); iType++) {
+    QString type = rnxObsFile->obsType(obs.satSys,iType).toAscii();
+    obs.setMeasdata(type, rnxObsFile->version(), rnxSat.obs[iType]);
+    if      (type.indexOf("L1") == 0) {
+      obs.snrL1  = rnxSat.snr[iType];
+      obs.slipL1 = (rnxSat.lli[iType] & 1);
+    }
+    else if (type.indexOf("L2") == 0) {
+      obs.snrL2  = rnxSat.snr[iType];
+      obs.slipL2 = (rnxSat.lli[iType] & 1);
+    }
+    else if (type.indexOf("L5") == 0) {
+      obs.snrL5  = rnxSat.snr[iType];
+      obs.slipL5 = (rnxSat.lli[iType] & 1);
+    }
+  }
+}
+
Index: trunk/BNC/src/rinex/rnxobsfile.h
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.h	(revision 5863)
+++ trunk/BNC/src/rinex/rnxobsfile.h	(revision 5883)
@@ -36,4 +36,5 @@
 #include "bnctime.h"
 #include "t_prn.h"
+#include "GPSDecoder.h"
 
 class t_rnxObsHeader {
@@ -144,4 +145,9 @@
   QTextStream* stream() {return _stream;}
 
+  static void setObsFromRnx(const t_rnxObsFile* rnxObsFile,
+                            const t_rnxObsFile::t_rnxEpo* epo, 
+                            const t_rnxObsFile::t_rnxSat& rnxSat, 
+                            t_obs& obs);
+
  private:
   enum e_trafo {trafoNone, trafo2to3, trafo3to2};
