Index: trunk/BNC/rnxnavfile.cpp
===================================================================
--- trunk/BNC/rnxnavfile.cpp	(revision 3656)
+++ trunk/BNC/rnxnavfile.cpp	(revision 3657)
@@ -41,4 +41,5 @@
 #include <iostream>
 #include "rnxnavfile.h"
+#include "bncutils.h"
 
 using namespace std;
@@ -46,5 +47,44 @@
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
-t_rnxNavFile::t_rnxNavFile(const QString& fileName) {
+t_rnxNavFile::t_rnxNavHeader::t_rnxNavHeader() {
+  _version = 0.0;
+}
+
+// Destructor
+////////////////////////////////////////////////////////////////////////////
+t_rnxNavFile::t_rnxNavHeader::~t_rnxNavHeader() {
+}
+
+// Read Header
+////////////////////////////////////////////////////////////////////////////
+t_irc t_rnxNavFile::t_rnxNavHeader::read(QTextStream* stream) {
+  while (stream->status() == QTextStream::Ok && !stream->atEnd()) {
+    QString line = stream->readLine();
+    if (line.isEmpty()) {
+      continue;
+    }
+    QString value = line.left(60).trimmed();
+    QString key   = line.mid(60).trimmed();
+    if      (key == "END OF HEADER") {
+      break;
+    }
+    else if (key == "RINEX VERSION / TYPE") {
+      QTextStream in(value.toAscii(), QIODevice::ReadOnly);
+      in >> _version;
+    }
+  }
+
+  return success;
+}
+
+// Constructor
+////////////////////////////////////////////////////////////////////////////
+t_rnxNavFile::t_rnxNavFile(QString& fileName) {
+  expandEnvVar(fileName);
+  _file   = new QFile(fileName);
+  _file->open(QIODevice::ReadOnly | QIODevice::Text);
+  _stream = new QTextStream();
+  _stream->setDevice(_file);
+  _header.read(_stream);
 }
 
@@ -52,4 +92,6 @@
 ////////////////////////////////////////////////////////////////////////////
 t_rnxNavFile::~t_rnxNavFile() {
+  delete _stream;
+  delete _file;
 }
 
Index: trunk/BNC/rnxnavfile.h
===================================================================
--- trunk/BNC/rnxnavfile.h	(revision 3656)
+++ trunk/BNC/rnxnavfile.h	(revision 3657)
@@ -33,10 +33,22 @@
 
 class t_rnxNavFile {
+
+  class t_rnxNavHeader {
+   public:
+    t_rnxNavHeader();
+    ~t_rnxNavHeader();
+    t_irc read(QTextStream* stream);
+   private:
+    float   _version;
+  };
  
  public:
-  t_rnxNavFile(const QString& fileName);
+  t_rnxNavFile(QString& fileName);
   ~t_rnxNavFile();
 
  private:
+  t_rnxNavHeader _header;
+  QFile*         _file;
+  QTextStream*   _stream;
 };
 
