Index: trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 6376)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 6383)
@@ -80,4 +80,6 @@
   connect(this, SIGNAL(newGalileoEph(galileoephemeris*)), 
           BNC_CORE, SLOT(slotNewGalileoEph(galileoephemeris*)));
+  connect(this, SIGNAL(newSBASEph(sbasephemeris*)), 
+          BNC_CORE, SLOT(slotNewSBASEph(sbasephemeris*)));
 
   // Mode can be either observations or corrections
@@ -381,6 +383,6 @@
           // GLONASS Ephemeris
           // -----------------
-          else if (rr == 1020 && parser.ephemerisGLONASS.almanac_number >= 1
-          && parser.ephemerisGLONASS.almanac_number <= PRN_GLONASS_NUM) {
+          else if (rr == 1020 && parser.ephemerisGLONASS.almanac_number >= 1 &&
+                                 parser.ephemerisGLONASS.almanac_number <= PRN_GLONASS_NUM) {
             decoded = true;
             emit newGlonassEph(new glonassephemeris(parser.ephemerisGLONASS), _staID);
@@ -399,4 +401,11 @@
             decoded = true;
             emit newGPSEph(new gpsephemeris(parser.ephemerisGPS));
+          }
+
+          // SBAS Ephemeris
+          // --------------
+          else if (rr == 1043) {
+            decoded = true;
+            emit newSBASEph(new sbasephemeris(parser.ephemerisSBAS));
           }
         }
Index: trunk/BNC/src/RTCM3/RTCM3Decoder.h
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.h	(revision 6376)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.h	(revision 6383)
@@ -49,4 +49,5 @@
   void newGPSEph(gpsephemeris* gpseph);
   void newGlonassEph(glonassephemeris* glonasseph, const QString& staID);
+  void newSBASEph(sbasephemeris* sbaseph);
   void newGalileoEph(galileoephemeris* galileoeph);
 
