Index: trunk/BNC/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 938)
+++ trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 939)
@@ -54,33 +54,29 @@
 #endif
 
-// 
-////////////////////////////////////////////////////////////////////////////
-ephSender::ephSender() {
+// Error Handling
+////////////////////////////////////////////////////////////////////////////
+void RTCM3Error(const char*, ...) {
+}
+
+// Constructor
+////////////////////////////////////////////////////////////////////////////
+RTCM3Decoder::RTCM3Decoder(const QString& fileName) : GPSDecoder() {
+
+  const int LEAPSECONDS = 14; /* only needed for approx. time */
+
+// Ensure, that the Decoder uses the "old" convention for the data structure for Rinex2. Perlt
+  _Parser.rinex3 = 0;
+
+  time_t tim;
+  tim = time(0) - ((10*365+2+5)*24*60*60 + LEAPSECONDS);
+
+  memset(&_Parser, 0, sizeof(_Parser));
+  _Parser.GPSWeek = tim/(7*24*60*60);
+  _Parser.GPSTOW  = tim%(7*24*60*60);
+
   connect(this, SIGNAL(newGPSEph(gpsephemeris*)), 
           (bncApp*) qApp, SLOT(slotNewGPSEph(gpsephemeris*)));
   connect(this, SIGNAL(newGlonassEph(glonassephemeris*)), 
           (bncApp*) qApp, SLOT(slotNewGlonassEph(glonassephemeris*)));
-}
-
-// Error Handling
-////////////////////////////////////////////////////////////////////////////
-void RTCM3Error(const char*, ...) {
-}
-
-// Constructor
-////////////////////////////////////////////////////////////////////////////
-RTCM3Decoder::RTCM3Decoder(const QString& fileName) : GPSDecoder() {
-
-  const int LEAPSECONDS = 14; /* only needed for approx. time */
-
-// Ensure, that the Decoder uses the "old" convention for the data structure for Rinex2. Perlt
-  _Parser.rinex3 = 0;
-
-  time_t tim;
-  tim = time(0) - ((10*365+2+5)*24*60*60 + LEAPSECONDS);
-
-  memset(&_Parser, 0, sizeof(_Parser));
-  _Parser.GPSWeek = tim/(7*24*60*60);
-  _Parser.GPSTOW  = tim%(7*24*60*60);
 
   // Sub-Decoder for Clock and Orbit Corrections
@@ -211,5 +207,5 @@
           decoded = true;
           gpsephemeris* ep = new gpsephemeris(_Parser.ephemerisGPS);
-          emit _ephSender.newGPSEph(ep);
+          emit newGPSEph(ep);
         }
 
@@ -219,5 +215,5 @@
           decoded = true;
           glonassephemeris* ep = new glonassephemeris(_Parser.ephemerisGLONASS);
-          emit _ephSender.newGlonassEph(ep);
+          emit newGlonassEph(ep);
         }
       }
Index: trunk/BNC/RTCM3/RTCM3Decoder.h
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.h	(revision 938)
+++ trunk/BNC/RTCM3/RTCM3Decoder.h	(revision 939)
@@ -33,24 +33,17 @@
 }
 
-class ephSender : public QObject {
-Q_OBJECT
- public:
-  ephSender();
-  friend class RTCM3Decoder;
- signals:
-  void newGPSEph(gpsephemeris* gpseph);
-  void newGlonassEph(glonassephemeris* glonasseph);
-} ;
-
 class RTCM3coDecoder;
 
-class RTCM3Decoder : public GPSDecoder {
+class RTCM3Decoder : public QObject, public GPSDecoder {
+Q_OBJECT
  public:
   RTCM3Decoder(const QString& fileName);
   virtual ~RTCM3Decoder();
   virtual t_irc Decode(char* buffer = 0, int bufLen = 0);
+ signals:
+  void newGPSEph(gpsephemeris* gpseph);
+  void newGlonassEph(glonassephemeris* glonasseph);
  private:
   struct RTCM3ParserData _Parser;
-  ephSender              _ephSender;
   RTCM3coDecoder*        _coDecoder; 
 } ;
