]> git.mxchange.org Git - flightgear.git/commitdiff
Include <iostream> and using declarations as needed.
authortimoore <timoore>
Mon, 2 Jun 2008 21:07:35 +0000 (21:07 +0000)
committertimoore <timoore>
Mon, 2 Jun 2008 21:07:35 +0000 (21:07 +0000)
SimGear no longer includes iostream and avoids using declarations in
header files, so various fixups are needed.

17 files changed:
src/ATCDCL/ATC.hxx
src/Autopilot/xmlauto.cxx
src/FDM/ExternalPipe/ExternalPipe.cxx
src/FDM/JSBSim/input_output/FGPropertyManager.h
src/FDM/YASim/Rotorpart.cpp
src/GUI/layout-test.cxx
src/GUI/new_gui.cxx
src/GUI/new_gui.hxx
src/GUI/property_list.cxx
src/Main/metar_main.cxx
src/Navaids/awynet.cxx
src/Navaids/awynet.hxx
src/Network/ATC-Main.hxx
src/Network/garmin.cxx
src/Network/httpd.cxx
src/Network/props.cxx
src/Systems/electrical.cxx

index 0ea9d9c919dbbc7bed13e63482e8d59b29240fcd..1889a86c2b5526a8653d0ac529ecdc1a02ff4e45 100644 (file)
@@ -28,7 +28,9 @@
 #include <simgear/math/sg_geodesy.hxx>
 #include <simgear/debug/logstream.hxx>
 
-#include STL_IOSTREAM
+#include <istream>
+#include <ostream>
+
 #include STL_STRING
 
 #include "ATCVoice.hxx"
@@ -52,7 +54,7 @@ enum plane_type {
 // This might move or change eventually
 struct PlaneRec {
        plane_type type;
-       string callsign;
+       std::string callsign;
        int squawkcode;
 };
 
@@ -82,8 +84,8 @@ struct ATCData {
        unsigned short int freq;
        //int range;
        unsigned short int range;
-       string ident;
-       string name;
+       std::string ident;
+       std::string name;
 };
 
 // perhaps we could use an FGRunway instead of this.
@@ -95,11 +97,11 @@ struct RunwayDetails {
        double hdg;             // true runway heading
        double length;  // In *METERS*
        double width;   // ditto
-       string rwyID;
+       std::string rwyID;
        int patternDirection;   // -1 for left, 1 for right
 };
 
-ostream& operator << (ostream& os, atc_type atc);
+std::ostream& operator << (std::ostream& os, atc_type atc);
 
 class FGATC {
        
@@ -117,7 +119,7 @@ public:
        virtual void ReceiveUserCallback(int code);
        
        // Add plane to a stack
-       virtual void AddPlane(const string& pid);
+       virtual void AddPlane(const std::string& pid);
        
        // Remove plane from stack
        virtual int RemovePlane();
@@ -129,16 +131,16 @@ public:
        inline void SetNoDisplay() { _display = false; }
        
        // Generate the text of a message from its parameters and the current context.
-       virtual string GenText(const string& m, int c);
+       virtual std::string GenText(const std::string& m, int c);
        
        // Returns true if OK to transmit on this frequency
        inline bool GetFreqClear() { return freqClear; }
        // Indicate that the frequency is in use
        inline void SetFreqInUse() { freqClear = false; receiving = true; }
        // Transmission to the ATC is finished and a response is required
-       void SetResponseReqd(const string& rid);
+       void SetResponseReqd(const std::string& rid);
        // Transmission finished - let ATC decide if a response is reqd and clear freq if necessary
-       void NotifyTransmissionFinished(const string& rid);
+       void NotifyTransmissionFinished(const std::string& rid);
        // Transmission finished and no response required
        inline void ReleaseFreq() { freqClear = true; receiving = false; }      // TODO - check that the plane releasing the freq is the right one etc.
        // The above 3 funcs under development!!
@@ -169,10 +171,10 @@ public:
        inline void set_freq(const int fq) {freq = fq;}
        inline int get_range() const { return range; }
        inline void set_range(const int rg) {range = rg;}
-       inline const string& get_ident() { return ident; }
-       inline void set_ident(const string& id) { ident = id; }
-       inline const string& get_name() { return name; }
-       inline void set_name(const string& nm) { name = nm; }
+       inline const std::string& get_ident() { return ident; }
+       inline void set_ident(const std::string& id) { ident = id; }
+       inline const std::string& get_name() { return name; }
+       inline void set_name(const std::string& nm) { name = nm; }
        
 protected:
        
@@ -180,11 +182,11 @@ protected:
        // Outputs the transmission either on screen or as audio depending on user preference
        // The refname is a string to identify this sample to the sound manager
        // The repeating flag indicates whether the message should be repeated continuously or played once.
-       void Render(string& msg, const string& refname = "", bool repeating = false);
+       void Render(std::string& msg, const std::string& refname = "", bool repeating = false);
        
        // Cease rendering all transmission from this station.
        // Requires the sound manager refname if audio, else "".
-       void NoRender(const string& refname);
+       void NoRender(const std::string& refname);
        
        // Transmit a message when channel becomes free of other dialog
     void Transmit(int callback_code = 0);
@@ -201,8 +203,8 @@ protected:
        double x, y, z;
        int freq;
        int range;
-       string ident;           // Code of the airport its at.
-       string name;            // Name transmitted in the broadcast.
+       std::string ident;              // Code of the airport its at.
+       std::string name;               // Name transmitted in the broadcast.
        atc_type _type;
        
        // Rendering related stuff
@@ -211,7 +213,7 @@ protected:
        bool _voiceOK;          // Flag - true if at least one voice has loaded OK
        FGATCVoice* _vPtr;
 
-       string pending_transmission;    // derived classes set this string before calling Transmit(...) 
+       std::string pending_transmission;       // derived classes set this string before calling Transmit(...) 
        bool freqClear;         // Flag to indicate if the frequency is clear of ongoing dialog
        bool receiving;         // Flag to indicate we are receiving a transmission
        bool responseReqd;      // Flag to indicate we should be responding to a request/report 
@@ -219,7 +221,7 @@ protected:
        double responseTime;    // Time to take from end of request transmission to beginning of response
                                                        // The idea is that this will be slightly random.
        double responseCounter;         // counter to implement the above
-       string responseID;      // ID of the plane to respond to
+       std::string responseID; // ID of the plane to respond to
        bool respond;   // Flag to indicate now is the time to respond - ie set following the count down of the response timer.
        // Derived classes only need monitor this flag, and use the response ID, as long as they call FGATC::Update(...)
        bool _runReleaseCounter;        // A timer for releasing the frequency after giving the message enough time to display
@@ -241,8 +243,8 @@ private:
        double _max_count;
 };
 
-inline istream&
-operator >> ( istream& fin, ATCData& a )
+inline std::istream&
+operator >> ( std::istream& fin, ATCData& a )
 {
        double f;
        char ch;
@@ -280,14 +282,14 @@ operator >> ( istream& fin, ATCData& a )
        if(ch != '"') a.name += ch;
        while(1) {
                //in >> noskipws
-               fin.unsetf(ios::skipws);
+               fin.unsetf(std::ios::skipws);
                fin >> ch;
                if((ch == '"') || (ch == 0x0A)) {
                        break;
                }   // we shouldn't need the 0x0A but it makes a nice safely in case someone leaves off the "
                a.name += ch;
        }
-       fin.setf(ios::skipws);
+       fin.setf(std::ios::skipws);
        //cout << "Comm name = " << a.name << '\n';
        
        a.freq = (int)(f*100.0 + 0.5);
index 7cc108ce2c899cb5a5598144c2473ba6af7cdeec..c18234160803e93b35bcf439527bf792a0e3770b 100644 (file)
@@ -24,6 +24,8 @@
 #  include <config.h>
 #endif
 
+#include <iostream>
+
 #include <simgear/structure/exception.hxx>
 #include <simgear/misc/sg_path.hxx>
 #include <simgear/sg_inlines.h>
@@ -34,6 +36,8 @@
 
 #include "xmlauto.hxx"
 
+using std::cout;
+using std::endl;
 
 FGPIDController::FGPIDController( SGPropertyNode *node ):
     debug( false ),
index cba15e62205ec997f8adeafa8b3456969e6db37e..3ca94de6e2b79308b482c834cd417c53e5faa8b2 100644 (file)
@@ -32,6 +32,7 @@
 #endif
 
 #include <stdio.h>              // FILE*, fopen(), fread(), fwrite(), et. al.
+#include <iostream>             // for cout, endl
 
 #include <simgear/debug/logstream.hxx>
 #include <simgear/io/lowlevel.hxx> // endian tests
@@ -44,6 +45,8 @@
 
 #include "ExternalPipe.hxx"
 
+using std::cout;
+using std::endl;
 
 static const int MAX_BUF = 32768;
 
index 3c50322269755a17f36acb917e4feed0e5bcf136..a14501d6e28644a690b5352ddaa4f4bde4f57ea3 100644 (file)
@@ -38,8 +38,12 @@ INCLUDES
 #include <string>
 #ifdef FGFS
 #  include <simgear/props/props.hxx>
+#  include <simgear/debug/logstream.hxx>
+#  define JSBDEBUG sglog() << loglevel(SG_FLIGHT, SG_ALERT)
 #else
+#  include <iostream>
 #  include "simgear/props/props.hxx"
+#  define JSBDEBUG std::cout
 #endif
 
 #include "FGJSBBase.h"
@@ -54,9 +58,10 @@ DEFINITIONS
 FORWARD DECLARATIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-using namespace std;
-
 namespace JSBSim {
+  // Yuck - shouldn't be using in header files
+  using std::string;
+  using std::endl;
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 CLASS DOCUMENTATION
@@ -513,9 +518,9 @@ class FGPropertyManager : public SGPropertyNode, public FGJSBBase
     Tie (const string &name, V (*getter)(), void (*setter)(V) = 0, bool useDefault = true)
     {
       if (!tie(name.c_str(), SGRawValueFunctions<V>(getter, setter), useDefault))
-        cout << "Failed to tie property " << name << " to functions" << endl;
+        JSBDEBUG << "Failed to tie property " << name << " to functions" << endl;
       else if (debug_lvl & 0x20)
-        cout << name << endl;
+        JSBDEBUG << name << endl;
     }
 
 
@@ -541,9 +546,9 @@ class FGPropertyManager : public SGPropertyNode, public FGJSBBase
                                 void (*setter)(int, V) = 0, bool useDefault = true)
     {
       if (!tie(name.c_str(), SGRawValueFunctionsIndexed<V>(index, getter, setter), useDefault))
-        cout << "Failed to tie property " << name << " to indexed functions" << endl;
+        JSBDEBUG << "Failed to tie property " << name << " to indexed functions" << endl;
       else if (debug_lvl & 0x20)
-        cout << name << endl;
+        JSBDEBUG << name << endl;
     }
 
 
@@ -571,9 +576,9 @@ class FGPropertyManager : public SGPropertyNode, public FGJSBBase
            void (T::*setter)(V) = 0, bool useDefault = true)
     {
       if (!tie(name.c_str(), SGRawValueMethods<T,V>(*obj, getter, setter), useDefault))
-        cout << "Failed to tie property " << name << " to object methods" << endl;
+        JSBDEBUG << "Failed to tie property " << name << " to object methods" << endl;
       else if (debug_lvl & 0x20)
-        cout << name << endl;
+        JSBDEBUG << name << endl;
     }
 
     /**
@@ -600,9 +605,9 @@ class FGPropertyManager : public SGPropertyNode, public FGJSBBase
                          void (T::*setter)(int, V) = 0, bool useDefault = true)
     {
       if (!tie(name.c_str(), SGRawValueMethodsIndexed<T,V>(*obj, index, getter, setter), useDefault))
-        cout << "Failed to tie property " << name << " to indexed object methods" << endl;
+        JSBDEBUG << "Failed to tie property " << name << " to indexed object methods" << endl;
       else if (debug_lvl & 0x20)
-        cout << name << endl;
+        JSBDEBUG << name << endl;
    }
 };
 }
index 4114a86e1c72918caa6db08eff5e1c08f99b2d51..8736990026e415f2e63c7d15d6fcdb0825477f8d 100644 (file)
@@ -1,3 +1,5 @@
+#include <ostream>
+
 #include <simgear/debug/logstream.hxx>
 
 #include "Math.hpp"
@@ -6,6 +8,8 @@
 #include <stdio.h>
 #include <string.h>
 namespace yasim {
+using std::endl;
+
 const float pi=3.14159;
 float _help = 0;
 Rotorpart::Rotorpart()
index bbfa45caf32c9d7d635b1ec89d9830740337a80d..c006340898907c8f84bbd0969f1ce4b08806ede3 100644 (file)
@@ -57,5 +57,5 @@ int main(int argc, char** argv)
     int pw=0, ph=0;
     w.calcPrefSize(&pw, &ph);
     w.layout(0, 0, pw, ph);
-    writeProperties(cout, &props, true);
+    writeProperties(std::cout, &props, true);
 }
index ce98f5eb78128a6e1f4bf306f287bd5e57d64f52..9f67a41d3b9a9e8de2f1df9335aac14099968335 100644 (file)
@@ -1,4 +1,5 @@
 // new_gui.cxx: implementation of XML-configurable GUI support.
+#include <iostream>
 
 #include "new_gui.hxx"
 
@@ -352,6 +353,12 @@ NewGUI::setupFont (SGPropertyNode *node)
 // FGColor class.
 ////////////////////////////////////////////////////////////////////////
 
+void
+FGColor::print() const {
+    std::cerr << "red=" << _red << ", green=" << _green
+              << ", blue=" << _blue << ", alpha=" << _alpha << std::endl;
+}
+
 bool
 FGColor::merge(const SGPropertyNode *node)
 {
index 981628af8406eb0843bb162eb0532ee7d0e13bae..674bd73e2d99a7ddade14181bb2f3b455041a9bc 100644 (file)
@@ -264,10 +264,7 @@ public:
     bool isValid() const {
         return _red >= 0.0 && _green >= 0.0 && _blue >= 0.0;
     }
-    void print() const {
-        std::cerr << "red=" << _red << ", green=" << _green
-        << ", blue=" << _blue << ", alpha=" << _alpha << std::endl;
-    }
+    void print() const;
 
     inline void setRed(float red) { _red = red; }
     inline void setGreen(float green) { _green = green; }
index 3e1923064dfd75e17554cc34c3739ed89f4b1e19..5aa1e3dbaae639b4dd9114430f936b3e850eb14b 100644 (file)
 
 #include <sstream>
 #include STL_IOMANIP
+#include <iostream>
 #include STL_STRING
 SG_USING_STD(string);
+using std::cout;
+
 typedef string stdString;      // puObject has a "string" member
 
 #include <Main/fg_os.hxx>      // fgGetKeyModifiers()
index 40784732ee6bee625fab001febf37dd8f42f0901..0857bac5dc6bacf8cf62f63b35467924be704677 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <iomanip>
 #include <sstream>
+#include <iostream>
 #include <string.h>
 
 #include <simgear/debug/logstream.hxx>
index 73d3582fc02dca00c76f51a78e71967e7c036d89..09a96a883a39f1b7043584a97cedb219ac771830 100755 (executable)
@@ -25,6 +25,7 @@
 
 #include <math.h>
 #include <algorithm>
+#include <iostream>
 
 #include <simgear/compiler.h>
 
@@ -36,6 +37,9 @@
 
 SG_USING_STD(sort);
 
+using std::cerr;
+using std::endl;
+
 /**************************************************************************
  * FGNode
  *************************************************************************/
index e0fe2b474808f3d12caa22079a345591121fa6ab..9dd7123067bc8d08a43ed1dcb95d2b7351bd50cb 100755 (executable)
 #define _AIRWAYNETWORK_HXX_
 
 #include STL_STRING
-#include <fstream>
+#include <istream>
 #include <set>
 #include <map>
 #include <vector>
 
-SG_USING_STD(string);
-SG_USING_STD(map);
-SG_USING_STD(set);
-SG_USING_STD(vector);
-SG_USING_STD(fstream);
-
 #include <simgear/misc/sg_path.hxx>
 #include <simgear/misc/sgstream.hxx>
 
@@ -44,10 +38,10 @@ SG_USING_STD(fstream);
 
 class FGAirway; // forward reference
 
-typedef vector<FGAirway>  FGAirwayVector;
-typedef vector<FGAirway *> FGAirwayPointerVector;
-typedef vector<FGAirway>::iterator FGAirwayVectorIterator;
-typedef vector<FGAirway*>::iterator FGAirwayPointerVectorIterator;
+typedef std::vector<FGAirway>  FGAirwayVector;
+typedef std::vector<FGAirway *> FGAirwayPointerVector;
+typedef std::vector<FGAirway>::iterator FGAirwayVectorIterator;
+typedef std::vector<FGAirway*>::iterator FGAirwayPointerVectorIterator;
 
 /**************************************************************************************
  * class FGNode
@@ -55,7 +49,7 @@ typedef vector<FGAirway*>::iterator FGAirwayPointerVectorIterator;
 class FGNode
 {
 private:
-  string ident;
+  std::string ident;
   double lat;
   double lon;
   int index;
@@ -63,32 +57,32 @@ private:
 
 public:
   FGNode();
-  FGNode(double lt, double ln, int idx, string id) { lat = lt; lon = ln; index = idx; ident = id;};
+  FGNode(double lt, double ln, int idx, std::string id) { lat = lt; lon = ln; index = idx; ident = id;};
 
   void setIndex(int idx)                  { index = idx;};
   void setLatitude (double val)           { lat = val;};
   void setLongitude(double val)           { lon = val;};
-  //void setLatitude (const string& val)           { lat = processPosition(val);  };
-  //void setLongitude(const string& val)           { lon = processPosition(val);  };
+  //void setLatitude (const std::string& val)           { lat = processPosition(val);  };
+  //void setLongitude(const std::string& val)           { lon = processPosition(val);  };
   void addAirway(FGAirway *segment) { next.push_back(segment); };
 
   double getLatitude() { return lat;};
   double getLongitude(){ return lon;};
 
   int getIndex() { return index; };
-  string getIdent() { return ident; };
+  std::string getIdent() { return ident; };
   FGNode *getAddress() { return this;};
   FGAirwayPointerVectorIterator getBeginRoute() { return next.begin(); };
   FGAirwayPointerVectorIterator getEndRoute()   { return next.end();   };
 
-  bool matches(string ident, double lat, double lon);
+  bool matches(std::string ident, double lat, double lon);
 };
 
-typedef vector<FGNode *> FGNodeVector;
-typedef vector<FGNode *>::iterator FGNodeVectorIterator;
+typedef std::vector<FGNode *> FGNodeVector;
+typedef std::vector<FGNode *>::iterator FGNodeVectorIterator;
 
 
-typedef map < string, FGNode *> node_map;
+typedef std::map < std::string, FGNode *> node_map;
 typedef node_map::iterator node_map_iterator;
 typedef node_map::const_iterator const_node_map_iterator;
 
@@ -99,8 +93,8 @@ typedef node_map::const_iterator const_node_map_iterator;
 class FGAirway
 {
 private:
-  string startNode;
-  string endNode;
+  std::string startNode;
+  std::string endNode;
   double length;
   FGNode *start;
   FGNode *end;
@@ -108,37 +102,37 @@ private:
   int type; // 1=low altitude; 2=high altitude airway
   int base; // base altitude
   int top;  // top altitude
-  string name;
+  std::string name;
 
 public:
   FGAirway();
   FGAirway(FGNode *, FGNode *, int);
 
   void setIndex        (int val) { index     = val; };
-  void setStartNodeRef (string val) { startNode = val; };
-  void setEndNodeRef   (string val) { endNode   = val; };
+  void setStartNodeRef (std::string val) { startNode = val; };
+  void setEndNodeRef   (std::string val) { endNode   = val; };
 
   void setStart(node_map *nodes);
   void setEnd  (node_map *nodes);
   void setType (int tp) { type = tp;};
   void setBase (int val) { base = val;};
   void setTop  (int val) { top  = val;};
-  void setName (string val) { name = val;};
+  void setName (std::string val) { name = val;};
 
   void setTrackDistance();
 
   FGNode * getEnd() { return end;};
   double getLength() { if (length == 0) setTrackDistance(); return length; };
   int getIndex() { return index; };
-  string getName() { return name; };
+  std::string getName() { return name; };
 
 
 };
 
 
-typedef vector<int> intVec;
-typedef vector<int>::iterator intVecIterator;
-typedef vector<int>::const_iterator constIntVecIterator;
+typedef std::vector<int> intVec;
+typedef std::vector<int>::iterator intVecIterator;
+typedef std::vector<int>::const_iterator constIntVecIterator;
 
 class FGAirRoute
 {
@@ -158,10 +152,10 @@ public:
   void add(const FGAirRoute &other);
   void add(int node) {nodes.push_back(node);};
 
-  friend istream& operator >> (istream& in, FGAirRoute& r);
+  friend std::istream& operator >> (std::istream& in, FGAirRoute& r);
 };
 
-inline istream& operator >> ( istream& in, FGAirRoute& r )
+inline std::istream& operator >> ( std::istream& in, FGAirRoute& r )
 {
   int node;
   in >> node;
@@ -170,8 +164,8 @@ inline istream& operator >> ( istream& in, FGAirRoute& r )
   return in;
 }
 
-typedef vector<FGAirRoute> AirRouteVector;
-typedef vector<FGAirRoute>::iterator AirRouteVectorIterator;
+typedef std::vector<FGAirRoute> AirRouteVector;
+typedef std::vector<FGAirRoute>::iterator AirRouteVectorIterator;
 
 /**************************************************************************************
  * class FGAirwayNetwork
index 3cb2a05c743bcbe675482a1ef3a2f390e968c99c..f72bd8da57f9aedfd44457f4c8b2d1480588611e 100644 (file)
@@ -71,7 +71,6 @@ public:
     { }
 
     ~FGATCMain() {
-        cout << "FGATCMain destructor" << endl;
         delete input0;
         delete input1;
         delete output0;
index f8fa50a7b0d61f0d21517ffb6fc6a130e8baa09a..12399b8942a23c56aefcecc2db8a5e01afb207b5 100644 (file)
@@ -24,6 +24,8 @@
 #  include "config.h"
 #endif
 
+#include <iostream>
+
 #include <simgear/debug/logstream.hxx>
 #include <simgear/math/sg_geodesy.hxx>
 #include <simgear/io/iochannel.hxx>
@@ -167,7 +169,7 @@ bool FGGarmin::gen_message() {
     garmin_sentence += gsa;
     garmin_sentence += "\r\n";
 
-    cout << garmin_sentence;
+    std::cout << garmin_sentence;
 
     length = garmin_sentence.length();
     strncpy( buf, garmin_sentence.c_str(), length );
index feee746eafeea751f3fdbb9ad254124590f0b189..e218c149c3ed19086abad4d2e4b85716b4f75780 100644 (file)
@@ -48,8 +48,6 @@
 #include "httpd.hxx"
 
 SG_USING_STD(string);
-SG_USING_STD(cout);
-
 
 bool FGHttpd::open() {
     if ( is_enabled() ) {
index 61ebdcf13e049ae51633b1abed4e4a2e9af0e111..1048a5cc1f116b2dcd1bcd8d64d2dd86491bb57b 100644 (file)
@@ -35,6 +35,7 @@
 #include <simgear/props/props_io.hxx>
 
 #include <sstream>
+#include <iostream>
 
 #include <Main/globals.hxx>
 #include <Main/viewmgr.hxx>
@@ -46,6 +47,9 @@
 SG_USING_STD(stringstream);
 SG_USING_STD(ends);
 
+using std::cout;
+using std::endl;
+
 /**
  * Props connection class.
  * This class represents a connection to props client.
index 0f0439556a685139e21d263b49089b946b5c5ba2..e015487b1aea6ace09cc6e3d60e1d953c4907338 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <simgear/structure/exception.hxx>
 #include <simgear/misc/sg_path.hxx>
+#include <simgear/debug/logstream.hxx>
 
 #include <Main/fg_props.hxx>
 #include <Main/globals.hxx>
@@ -453,7 +454,8 @@ void FGElectricalSystem::update (double dt) {
                               " " );
 
             if ( node->apply_load( load, dt ) < 0.0 ) {
-                cout << "Error drawing more current than available!" << endl;
+                SG_LOG(SG_ALL, SG_ALERT,
+                       "Error drawing more current than available!");
             }
         }     
     }
@@ -472,7 +474,8 @@ void FGElectricalSystem::update (double dt) {
                               " " );
 
             if ( node->apply_load( load, dt ) < 0.0 ) {
-                cout << "Error drawing more current than available!" << endl;
+                SG_LOG(SG_ALL, SG_ALERT,
+                       "Error drawing more current than available!");
             }
         }     
     }
@@ -492,7 +495,8 @@ void FGElectricalSystem::update (double dt) {
             // cout << "battery load = " << load << endl;
 
             if ( node->apply_load( load, dt ) < 0.0 ) {
-                cout << "Error drawing more current than available!" << endl;
+                SG_LOG(SG_ALL, SG_ALERT,
+                       "Error drawing more current than available!");
             }
         }     
     }