]> git.mxchange.org Git - flightgear.git/commitdiff
fix another crash on exit by finally converting the rest of unguarded
authormfranz <mfranz>
Sun, 11 Jun 2006 10:21:10 +0000 (10:21 +0000)
committermfranz <mfranz>
Sun, 11 Jun 2006 10:21:10 +0000 (10:21 +0000)
SGPropertyNode to guarded ones. This is also done for JSBSim/JSBSim.hxx,
for which JSB had given explicit permission a while ago. I postponed that
back then, but now is the time.

38 files changed:
src/AIModel/AIManager.hxx
src/AIModel/AIMultiplayer.hxx
src/AIModel/AIStorm.hxx
src/AIModel/submodel.hxx
src/ATC/AIGAVFRTraffic.hxx
src/ATC/AILocalTraffic.hxx
src/ATC/AIMgr.hxx
src/ATC/ATCmgr.hxx
src/ATC/approach.hxx
src/ATC/atis.hxx
src/ATC/tower.hxx
src/Aircraft/controls.hxx
src/Autopilot/xmlauto.hxx
src/Environment/environment_ctrl.hxx
src/FDM/ExternalPipe/ExternalPipe.hxx
src/FDM/JSBSim/JSBSim.hxx
src/FDM/LaRCsim/LaRCsim.hxx
src/FDM/SP/ACMS.hxx
src/GUI/layout.hxx
src/Input/input.hxx
src/Instrumentation/annunciator.hxx
src/Instrumentation/gps.hxx
src/Instrumentation/kr_87.hxx
src/Instrumentation/kt_70.hxx
src/Instrumentation/marker_beacon.hxx
src/Instrumentation/mk_viii.cxx
src/Instrumentation/mk_viii.hxx
src/Instrumentation/navradio.hxx
src/Main/logger.hxx
src/Network/ATC-Inputs.hxx
src/Network/ATC-Outputs.hxx
src/Network/generic.hxx
src/Network/jsclient.hxx
src/Network/lfsglass.hxx
src/Network/opengc.hxx
src/Scripting/NasalSys.hxx
src/Sound/fg_fx.hxx
src/Systems/electrical.hxx

index 2153111c7444fb37547578233291aceb3e778119..5eaaf464f131945b0990b0f12879e9e5f6f08ac8 100644 (file)
@@ -113,17 +113,17 @@ private:
     int mNumAiTypeModels[FGAIBase::MAX_OBJECTS];
     int mNumAiModels;
 
-    SGPropertyNode* root;
-    SGPropertyNode* wind_from_down_node;
-    SGPropertyNode* user_latitude_node;
-    SGPropertyNode* user_longitude_node;
-    SGPropertyNode* user_altitude_node;
-    SGPropertyNode* user_heading_node;
-    SGPropertyNode* user_pitch_node;
-    SGPropertyNode* user_yaw_node;
-    SGPropertyNode* user_speed_node;
-    SGPropertyNode* wind_from_east_node ;
-    SGPropertyNode* wind_from_north_node ;
+    SGPropertyNode_ptr root;
+    SGPropertyNode_ptr wind_from_down_node;
+    SGPropertyNode_ptr user_latitude_node;
+    SGPropertyNode_ptr user_longitude_node;
+    SGPropertyNode_ptr user_altitude_node;
+    SGPropertyNode_ptr user_heading_node;
+    SGPropertyNode_ptr user_pitch_node;
+    SGPropertyNode_ptr user_yaw_node;
+    SGPropertyNode_ptr user_speed_node;
+    SGPropertyNode_ptr wind_from_east_node ;
+    SGPropertyNode_ptr wind_from_north_node ;
 
     string scenario_filename;
 
index 3e10f87230a0d640fe1240019f2a80fe5c476e65..7fec2d05779408fff27c72c1d348936019a1f55c 100755 (executable)
@@ -89,7 +89,7 @@ private:
   long mLastTimestamp;
 
   // Propertiies for tankers
-  SGPropertyNode* refuel_node;
+  SGPropertyNode_ptr refuel_node;
   bool isTanker;
   bool contact;          // set if this tanker is within fuelling range
 };
index 9a7409aa0f78bf2b8e87c11cb89b7bfb4c836021..8d2df2f091f82635d8aaa7f3e2b323246a545297 100644 (file)
@@ -61,16 +61,16 @@ private:
         double delay;   // average time (sec) between lightning flashes
         int subflashes; // number of subflashes per flash
         double random_delay;  // delay +/- random number
-        double timer; 
-        SGPropertyNode* flash_node; 
+        double timer;
+        SGPropertyNode_ptr flash_node;
         int flashed;    // number of subflashes already done this flash
         bool flashing;  // true if currently flashing;
         int subflash_array[8];
         int subflash_index;
 
         // turbulence stuff
-        SGPropertyNode* turb_mag_node;
-        SGPropertyNode* turb_rate_node;
+        SGPropertyNode_ptr turb_mag_node;
+        SGPropertyNode_ptr turb_rate_node;
 
 };
 
index 143f8b74edeb973036119b2453b8c365369a08c5..c2ca0522aca1950c52403293230b80f3863752ba 100644 (file)
@@ -27,9 +27,9 @@ public:
 
 
  typedef struct {
-  SGPropertyNode* trigger;
-  SGPropertyNode* prop;
-  SGPropertyNode* contents_node;
+  SGPropertyNode_ptr trigger;
+  SGPropertyNode_ptr prop;
+  SGPropertyNode_ptr contents_node;
   
   string             name;
   string             model;
@@ -116,23 +116,23 @@ private:
 
     double contrail_altitude;
 
-    SGPropertyNode* _serviceable_node;
-    SGPropertyNode* _user_lat_node;
-    SGPropertyNode* _user_lon_node;
-    SGPropertyNode* _user_heading_node;
-    SGPropertyNode* _user_alt_node;
-    SGPropertyNode* _user_pitch_node;
-    SGPropertyNode* _user_roll_node;
-    SGPropertyNode* _user_yaw_node;
-    SGPropertyNode* _user_alpha_node;
-    SGPropertyNode* _user_speed_node;
-    SGPropertyNode* _user_wind_from_east_node;
-    SGPropertyNode* _user_wind_from_north_node;
-    SGPropertyNode* _user_speed_down_fps_node;
-    SGPropertyNode* _user_speed_east_fps_node;
-    SGPropertyNode* _user_speed_north_fps_node;
-    SGPropertyNode* _contrail_altitude_node;
-    SGPropertyNode* _contrail_trigger;
+    SGPropertyNode_ptr _serviceable_node;
+    SGPropertyNode_ptr _user_lat_node;
+    SGPropertyNode_ptr _user_lon_node;
+    SGPropertyNode_ptr _user_heading_node;
+    SGPropertyNode_ptr _user_alt_node;
+    SGPropertyNode_ptr _user_pitch_node;
+    SGPropertyNode_ptr _user_roll_node;
+    SGPropertyNode_ptr _user_yaw_node;
+    SGPropertyNode_ptr _user_alpha_node;
+    SGPropertyNode_ptr _user_speed_node;
+    SGPropertyNode_ptr _user_wind_from_east_node;
+    SGPropertyNode_ptr _user_wind_from_north_node;
+    SGPropertyNode_ptr _user_speed_down_fps_node;
+    SGPropertyNode_ptr _user_speed_east_fps_node;
+    SGPropertyNode_ptr _user_speed_north_fps_node;
+    SGPropertyNode_ptr _contrail_altitude_node;
+    SGPropertyNode_ptr _contrail_trigger;
 
     FGAIManager* ai;
     IC_struct  IC;
index 56b296534320dc76e4aa4fee1db9a3edc5b3277d..9aabd87466cd7a6245d8b66935d867262d20ed2e 100644 (file)
@@ -83,8 +83,8 @@ private:
        double stall_speed_landing_config;
        
        // environment - some of this might get moved into FGAIPlane
-       SGPropertyNode* wind_from_hdg;  //degrees
-       SGPropertyNode* wind_speed_knots;               //knots
+       SGPropertyNode_ptr wind_from_hdg;       //degrees
+       SGPropertyNode_ptr wind_speed_knots;            //knots
        
        atc_type changeFreqType;        // the service we need to change to
 
index d3a5c4cf19c79957fd3fb34591371ac5efdbe118..a4e1505f64495ae15d9de65c99d44b2f44c245a9 100644 (file)
@@ -160,8 +160,8 @@ private:
        bool inAir;                             // True when off the ground 
        
        // environment - some of this might get moved into FGAIPlane
-       SGPropertyNode* wind_from_hdg;  //degrees
-       SGPropertyNode* wind_speed_knots;               //knots
+       SGPropertyNode_ptr wind_from_hdg;       //degrees
+       SGPropertyNode_ptr wind_speed_knots;            //knots
        
        // Pattern details that (may) change
        int numInPattern;               // Number of planes in the pattern (this might get more complicated if high performance GA aircraft fly a higher pattern eventually)
index 5dcdba70c700a694ea9ca22908d7ee819a4346e0..a1e3e61159949faac942d992584a799612a68a06 100644 (file)
@@ -87,9 +87,9 @@ private:
     double lat;
     double elev;
     // Pointers to current users position
-    SGPropertyNode *lon_node;
-    SGPropertyNode *lat_node;
-    SGPropertyNode *elev_node;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr elev_node;
 
 public:
 
index 04d53e062f20c7a45b69abe0dcdcce77b9377ec9..9e8e1f83747b3c9388a4a3596dee365598e77afe 100644 (file)
@@ -110,12 +110,12 @@ private:
     double comm_freq[2];
 
     // Pointers to users current communication frequencies.
-    SGPropertyNode* comm_node[2];
+    SGPropertyNode_ptr comm_node[2];
 
     // Pointers to current users position
-    SGPropertyNode* lon_node;
-    SGPropertyNode* lat_node;
-    SGPropertyNode* elev_node;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr elev_node;
 
     // Position of the ATC that the comm radios are tuned to in order to decide 
        // whether transmission will be received.
index 68317f6769f1054470924544340abaf077435e2b..9aec71d0174e96bc9535d99387d31ffe8ca27609 100644 (file)
@@ -122,20 +122,20 @@ class FGApproach : public FGATC {
   string   transmission;
   bool     first;
 
-  SGPropertyNode *comm1_node;
-  SGPropertyNode *comm2_node;
-
-  SGPropertyNode *atcmenu_node;
-  SGPropertyNode *atcopt0_node;
-  SGPropertyNode *atcopt1_node;
-  SGPropertyNode *atcopt2_node;
-  SGPropertyNode *atcopt3_node;
-  SGPropertyNode *atcopt4_node;
-  SGPropertyNode *atcopt5_node;
-  SGPropertyNode *atcopt6_node;
-  SGPropertyNode *atcopt7_node;
-  SGPropertyNode *atcopt8_node;
-  SGPropertyNode *atcopt9_node;
+  SGPropertyNode_ptr comm1_node;
+  SGPropertyNode_ptr comm2_node;
+
+  SGPropertyNode_ptr atcmenu_node;
+  SGPropertyNode_ptr atcopt0_node;
+  SGPropertyNode_ptr atcopt1_node;
+  SGPropertyNode_ptr atcopt2_node;
+  SGPropertyNode_ptr atcopt3_node;
+  SGPropertyNode_ptr atcopt4_node;
+  SGPropertyNode_ptr atcopt5_node;
+  SGPropertyNode_ptr atcopt6_node;
+  SGPropertyNode_ptr atcopt7_node;
+  SGPropertyNode_ptr atcopt8_node;
+  SGPropertyNode_ptr atcopt9_node;
 
   // for failure modeling
   string trans_ident;  // transmitted ident
@@ -215,12 +215,12 @@ private:
                       const double &h3);
 
   // Pointers to current users position
-  SGPropertyNode *lon_node;
-  SGPropertyNode *lat_node;
-  SGPropertyNode *elev_node;
-  SGPropertyNode *hdg_node;
-  SGPropertyNode *speed_node;
-  SGPropertyNode *etime_node;
+  SGPropertyNode_ptr lon_node;
+  SGPropertyNode_ptr lat_node;
+  SGPropertyNode_ptr elev_node;
+  SGPropertyNode_ptr hdg_node;
+  SGPropertyNode_ptr speed_node;
+  SGPropertyNode_ptr etime_node;
   
   //Update the transmission string
   void UpdateTransmission(void);
index 3bcf2343a07f09f5add57c21a18b765d6e670694..05835d4a7975503a1873b3b56dd5099da19bacf5 100644 (file)
@@ -66,9 +66,9 @@ class FGATIS : public FGATC {
        // or the whereabouts of the aircraft it is transmitting to.  However, to ensure consistancy of
        // operation with the other ATC classes the ATIS class must calculate range to the aircraft in order
        // to decide whether to render the transmission - hence the users plane details must be stored.
-       //SGPropertyNode *airplane_lon_node; 
-       //SGPropertyNode *airplane_lat_node;
-       //SGPropertyNode *airplane_elev_node; 
+       //SGPropertyNode_ptr airplane_lon_node; 
+       //SGPropertyNode_ptr airplane_lat_node;
+       //SGPropertyNode_ptr airplane_elev_node; 
        
        public:
        
index a1ed67892db46d408cea193eb401c4ff03f98037..562f08ed541bab5faf2c26f773f5c1fa3b6bf229 100644 (file)
@@ -247,8 +247,8 @@ private:
        bool departed;  // set true when the above needs incrementing with time, false when it doesn't.
        
        // environment - need to make sure we're getting the surface winds and not winds aloft.
-       SGPropertyNode* wind_from_hdg;  //degrees
-       SGPropertyNode* wind_speed_knots;               //knots
+       SGPropertyNode_ptr wind_from_hdg;       //degrees
+       SGPropertyNode_ptr wind_speed_knots;            //knots
        
        double aptElev;         // Airport elevation
        string activeRwy;       // Active runway number - For now we'll disregard multiple / alternate runway operation.
@@ -334,10 +334,10 @@ private:
        bool tower_failed;              // tower failed?
        
        // Pointers to current users position and orientation
-       SGPropertyNode* user_lon_node;
-       SGPropertyNode* user_lat_node;
-       SGPropertyNode* user_elev_node;
-       SGPropertyNode* user_hdg_node;
+       SGPropertyNode_ptr user_lon_node;
+       SGPropertyNode_ptr user_lat_node;
+       SGPropertyNode_ptr user_elev_node;
+       SGPropertyNode_ptr user_hdg_node;
        
        // Details of the general traffic flow etc in the circuit
        double crosswind_leg_pos;       // Distance from threshold crosswind leg is being turned to in meters (actual operation - *not* ideal circuit)
index e9e5562c71b80e817c678d04580c648c640b581b..e53155be27c629f7c15aeda92ebe7bbed474d4d6 100644 (file)
@@ -258,7 +258,7 @@ private:
     int lateral_mode;
      
 
-    SGPropertyNode * auto_coordination;
+    SGPropertyNode_ptr auto_coordination;
 
 public:
 
index d87dc6a65fd7f0b464bada80d151e7570742b378..b4cfdbce4a6d978fe8253f7a95ad359d1dbbedd5 100644 (file)
@@ -56,14 +56,14 @@ protected:
 
     string name;
 
-    SGPropertyNode *enable_prop;
+    SGPropertyNode_ptr enable_prop;
     string enable_value;
     bool enabled;
 
-    SGPropertyNode *input_prop;
-    SGPropertyNode *r_n_prop;
+    SGPropertyNode_ptr input_prop;
+    SGPropertyNode_ptr r_n_prop;
     double r_n_value;
-    vector <SGPropertyNode *> output_list;
+    vector <SGPropertyNode_ptr> output_list;
 
 public:
 
@@ -152,7 +152,7 @@ private:
     // proportional component data
     bool proportional;
     double Kp;
-    SGPropertyNode *offset_prop;
+    SGPropertyNode_ptr offset_prop;
     double offset_value;
 
     // integral component data
@@ -274,7 +274,7 @@ protected:
 private:
 
     bool serviceable;
-    SGPropertyNode *config_props;
+    SGPropertyNode_ptr config_props;
     comp_list components;
 };
 
index 29107ed58d01a202d2a52374b7a36221624bccd7..ffede337c21d912e35416ab39ed77fe86baaec69 100644 (file)
@@ -105,8 +105,8 @@ public:
 
 private:
 
-  SGPropertyNode * _base_wind_speed_node;
-  SGPropertyNode * _gust_wind_speed_node;
+  SGPropertyNode_ptr _base_wind_speed_node;
+  SGPropertyNode_ptr _gust_wind_speed_node;
 
   double _current_wind_speed_kt;
   double _delta_wind_speed_kt;
@@ -179,10 +179,10 @@ private:
     float search_elapsed;
     float fetch_elapsed;
     const FGAirport *last_apt;
-    SGPropertyNode *proxy_host;
-    SGPropertyNode *proxy_port;
-    SGPropertyNode *proxy_auth;
-    SGPropertyNode *metar_max_age;
+    SGPropertyNode_ptr proxy_host;
+    SGPropertyNode_ptr proxy_port;
+    SGPropertyNode_ptr proxy_auth;
+    SGPropertyNode_ptr metar_max_age;
 
     FGMetarResult fetch_data( const string &icao );
     virtual void update_metar_properties( const FGMetar *m );
index 825066948c2568870b24bdc8a9e2aa770a7e81b6..d5e03967b11adc2248466153ce254726025ee84e 100644 (file)
@@ -52,7 +52,7 @@ private:
     double last_cg_offset;
 
     vector <string> property_names;
-    vector <SGPropertyNode *> nodes;
+    vector <SGPropertyNode_ptr> nodes;
 
     // Protocol specific init routines
     void init_binary();
index 5bd13816b26b176962fc4220abe1863406141dd1..3f4d33465e0656f74c1d9c3373d459a8ae77a900 100644 (file)
@@ -226,40 +226,40 @@ private:
     double trim_elev;
     double trim_throttle;
 
-    SGPropertyNode *startup_trim;
-    SGPropertyNode *trimmed;
-    SGPropertyNode *pitch_trim;
-    SGPropertyNode *throttle_trim;
-    SGPropertyNode *aileron_trim;
-    SGPropertyNode *rudder_trim;
-    SGPropertyNode *stall_warning;
-
-    /* SGPropertyNode *elevator_pos_deg;
-    SGPropertyNode *left_aileron_pos_deg;
-    SGPropertyNode *right_aileron_pos_deg;
-    SGPropertyNode *rudder_pos_deg;
-    SGPropertyNode *flap_pos_deg; */
-
-
-    SGPropertyNode *elevator_pos_pct;
-    SGPropertyNode *left_aileron_pos_pct;
-    SGPropertyNode *right_aileron_pos_pct;
-    SGPropertyNode *rudder_pos_pct;
-    SGPropertyNode *flap_pos_pct;
-    SGPropertyNode *speedbrake_pos_pct;
-    SGPropertyNode *spoilers_pos_pct;
-
-    SGPropertyNode *gear_pos_pct;
-
-    SGPropertyNode *temperature;
-    SGPropertyNode *pressure;
-    SGPropertyNode *density;
-    SGPropertyNode *turbulence_gain;
-    SGPropertyNode *turbulence_rate;
-
-    SGPropertyNode *wind_from_north;
-    SGPropertyNode *wind_from_east;
-    SGPropertyNode *wind_from_down;
+    SGPropertyNode_ptr startup_trim;
+    SGPropertyNode_ptr trimmed;
+    SGPropertyNode_ptr pitch_trim;
+    SGPropertyNode_ptr throttle_trim;
+    SGPropertyNode_ptr aileron_trim;
+    SGPropertyNode_ptr rudder_trim;
+    SGPropertyNode_ptr stall_warning;
+
+    /* SGPropertyNode_ptr elevator_pos_deg;
+    SGPropertyNode_ptr left_aileron_pos_deg;
+    SGPropertyNode_ptr right_aileron_pos_deg;
+    SGPropertyNode_ptr rudder_pos_deg;
+    SGPropertyNode_ptr flap_pos_deg; */
+
+
+    SGPropertyNode_ptr elevator_pos_pct;
+    SGPropertyNode_ptr left_aileron_pos_pct;
+    SGPropertyNode_ptr right_aileron_pos_pct;
+    SGPropertyNode_ptr rudder_pos_pct;
+    SGPropertyNode_ptr flap_pos_pct;
+    SGPropertyNode_ptr speedbrake_pos_pct;
+    SGPropertyNode_ptr spoilers_pos_pct;
+
+    SGPropertyNode_ptr gear_pos_pct;
+
+    SGPropertyNode_ptr temperature;
+    SGPropertyNode_ptr pressure;
+    SGPropertyNode_ptr density;
+    SGPropertyNode_ptr turbulence_gain;
+    SGPropertyNode_ptr turbulence_rate;
+
+    SGPropertyNode_ptr wind_from_north;
+    SGPropertyNode_ptr wind_from_east;
+    SGPropertyNode_ptr wind_from_down;
 
     void init_gear(void);
     void update_gear(void);
index 45bdd703ea9a06938a8c519e2e6dd2107231fd3a..6870d479c576ab22574a5e8c6c93db6242e4aa3f 100644 (file)
@@ -41,9 +41,9 @@ private:
     void set_ls(void);
     void snap_shot(void);
     double time_step;
-    SGPropertyNode *speed_up;
-    SGPropertyNode *aero;
-    SGPropertyNode *uiuc_type;
+    SGPropertyNode_ptr speed_up;
+    SGPropertyNode_ptr aero;
+    SGPropertyNode_ptr uiuc_type;
     
 public:
 
index 8b538b2fe5c62ad6d421b484c84df7a324f089d8..e34c9795c52ca00cd136a729ec4a689d74d91630 100644 (file)
@@ -42,10 +42,10 @@ public:
 
 private:
 
-    SGPropertyNode *_alt, *_speed, *_climb_rate;
-    SGPropertyNode *_pitch, *_roll, *_heading;
-    SGPropertyNode *_acc_lat, *_acc_lon, *_acc_down;
-    SGPropertyNode *_temp, *_wow;
+    SGPropertyNode_ptr _alt, _speed, _climb_rate;
+    SGPropertyNode_ptr _pitch, _roll, _heading;
+    SGPropertyNode_ptr _acc_lat, _acc_lon, _acc_down;
+    SGPropertyNode_ptr _temp, _wow;
 };
 
 
index 1819d8b4e2b0ad5592c4c00ff88a7eddd6fb4aa5..924b4c27f1b8d678eab4e56206ff98bab1e9f6b2 100644 (file)
@@ -1,7 +1,8 @@
 #ifndef __LAYOUT_HXX
 #define __LAYOUT_HXX
 
-class SGPropertyNode;
+#include <simgear/props/props.hxx>
+
 class puFont;
 
 // For the purposes of doing layout management, widgets have a type,
@@ -50,7 +51,7 @@ private:
     void doHVBox(bool doLayout, bool vertical, int* w=0, int* h=0);
     void doTable(bool doLayout, int* w=0, int* h=0);
 
-    SGPropertyNode* _prop;
+    SGPropertyNode_ptr _prop;
 };
 
 #endif // __LAYOUT_HXX
index e57bbd7763bdeefa8b76b798cf7de7b280f76603..c8dcec3acf20910f5d3ae99ff12117360e9c7d7f 100644 (file)
@@ -340,8 +340,8 @@ private:
     virtual ~mouse ();
     int x;
     int y;
-    SGPropertyNode * mode_node;
-    SGPropertyNode * mouse_button_nodes[MAX_MOUSE_BUTTONS];
+    SGPropertyNode_ptr mode_node;
+    SGPropertyNode_ptr mouse_button_nodes[MAX_MOUSE_BUTTONS];
     int nModes;
     int current_mode;
     double timeout;
index 2834f8c25e3bff86878b1925488b57e2bac564ec..6da4fcc53dccb71622f7cb5abf74c937db7488d0 100644 (file)
@@ -38,21 +38,21 @@ class Annunciator : public SGSubsystem
     double timer4;
 
     // inputs
-    SGPropertyNode *_volts;
-    SGPropertyNode *_vac_l;
-    SGPropertyNode *_vac_r;
-    SGPropertyNode *_fuel_l;
-    SGPropertyNode *_fuel_r;
-    SGPropertyNode *_oil_px;
-    SGPropertyNode *_elec_serv;
+    SGPropertyNode_ptr _volts;
+    SGPropertyNode_ptr _vac_l;
+    SGPropertyNode_ptr _vac_r;
+    SGPropertyNode_ptr _fuel_l;
+    SGPropertyNode_ptr _fuel_r;
+    SGPropertyNode_ptr _oil_px;
+    SGPropertyNode_ptr _elec_serv;
 
     // outputs
-    SGPropertyNode *_ann_volts;  // VOLTS        (red)
-    SGPropertyNode *_ann_vac_l;  // L VAC        (amber)
-    SGPropertyNode *_ann_vac_r;  //   VAC R      (amber
-    SGPropertyNode *_ann_fuel_l; // L LOW FUEL   (amber)
-    SGPropertyNode *_ann_fuel_r; //   LOW FUEL R (amber)
-    SGPropertyNode *_ann_oil_px; // OIL PRESS    (red)
+    SGPropertyNode_ptr _ann_volts;  // VOLTS        (red)
+    SGPropertyNode_ptr _ann_vac_l;  // L VAC        (amber)
+    SGPropertyNode_ptr _ann_vac_r;  //   VAC R      (amber
+    SGPropertyNode_ptr _ann_fuel_l; // L LOW FUEL   (amber)
+    SGPropertyNode_ptr _ann_fuel_r; //   LOW FUEL R (amber)
+    SGPropertyNode_ptr _ann_oil_px; // OIL PRESS    (red)
 
 public:
 
index fabf4e776916dea7380ea1dce7b5b08ee38d21ff..fb068ac7bcf1e69afc87d861f2d585208cb5c70a 100644 (file)
@@ -141,9 +141,9 @@ private:
     SGPropertyNode_ptr _leg_to_flag_node;
     SGPropertyNode_ptr _alt_deviation_node;
 
-    SGPropertyNode *_route;
-    SGPropertyNode *addWp;
-    SGPropertyNode *popWp;
+    SGPropertyNode_ptr _route;
+    SGPropertyNode_ptr addWp;
+    SGPropertyNode_ptr popWp;
 
     SGRoute *route;
 
index 2be8abc77f1504c4c0c6f548cb0bd30f66b95a84..1664352abcc83904fbe3f99a837f536146eabc2a 100644 (file)
@@ -39,11 +39,11 @@ class FGKR_87 : public SGSubsystem
 {
     FGMorse morse;
 
-    SGPropertyNode *lon_node;
-    SGPropertyNode *lat_node;
-    SGPropertyNode *alt_node;
-    SGPropertyNode *bus_power;
-    SGPropertyNode *serviceable;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr alt_node;
+    SGPropertyNode_ptr bus_power;
+    SGPropertyNode_ptr serviceable;
 
     bool need_update;
 
index 7d50a5eee9d9a2f3ec4e496aca18606ca5b88884..69d534831191b7588358e0b30c9b38164613fe79 100644 (file)
 
 class FGKT_70 : public SGSubsystem
 {
-    SGPropertyNode *lon_node;
-    SGPropertyNode *lat_node;
-    SGPropertyNode *alt_node;
-    SGPropertyNode *bus_power;
-    SGPropertyNode *serviceable_node;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr alt_node;
+    SGPropertyNode_ptr bus_power;
+    SGPropertyNode_ptr serviceable_node;
 
     // internal values
     double r_flash_time;
index c7e95909c033ee845d5f7941098b09b77b32971d..3577282379475506d069f636dc7f84efd343a21e 100644 (file)
@@ -46,14 +46,14 @@ class FGMarkerBeacon : public SGSubsystem
     SGInterpTable *high_tbl;
 
     // Inputs
-    SGPropertyNode *lon_node;
-    SGPropertyNode *lat_node;
-    SGPropertyNode *alt_node;
-    SGPropertyNode *bus_power;
-    SGPropertyNode *power_btn;
-    SGPropertyNode *audio_btn;
-    SGPropertyNode *serviceable;
-    SGPropertyNode *sound_pause;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr alt_node;
+    SGPropertyNode_ptr bus_power;
+    SGPropertyNode_ptr power_btn;
+    SGPropertyNode_ptr audio_btn;
+    SGPropertyNode_ptr serviceable;
+    SGPropertyNode_ptr sound_pause;
 
     bool need_update;
 
index 08f6833d49c9a4aca7310c468f38445f3ee29865..118d740b70e64584758f257e336d4d9fa9e6bfe4 100755 (executable)
@@ -235,7 +235,7 @@ MK_VIII::PropertiesHandler::init ()
 void
 MK_VIII::PropertiesHandler::unbind ()
 {
-  vector<SGPropertyNode *>::iterator iter;
+  vector<SGPropertyNode_ptr>::iterator iter;
 
   for (iter = tied_properties.begin(); iter != tied_properties.end(); iter++)
     (*iter)->untie();
index 763f2d69ea98f26bc6e28957483814d39ddf8570..60a3f94588c83593e4396dccc9bcf0f05ee92596 100755 (executable)
@@ -181,37 +181,37 @@ class MK_VIII : public SGSubsystem
   {
     MK_VIII *mk;
 
-    vector<SGPropertyNode *> tied_properties;
+    vector<SGPropertyNode_ptr> tied_properties;
 
   public:
     struct
     {
-      SGPropertyNode *ai_caged;
-      SGPropertyNode *ai_roll;
-      SGPropertyNode *ai_serviceable;
-      SGPropertyNode *altimeter_altitude;
-      SGPropertyNode *altimeter_serviceable;
-      SGPropertyNode *altitude;
-      SGPropertyNode *altitude_agl;
-      SGPropertyNode *asi_serviceable;
-      SGPropertyNode *asi_speed;
-      SGPropertyNode *autopilot_heading_lock;
-      SGPropertyNode *flaps;
-      SGPropertyNode *gear_down;
-      SGPropertyNode *latitude;
-      SGPropertyNode *longitude;
-      SGPropertyNode *nav0_cdi_serviceable;
-      SGPropertyNode *nav0_gs_distance;
-      SGPropertyNode *nav0_gs_needle_deflection;
-      SGPropertyNode *nav0_gs_serviceable;
-      SGPropertyNode *nav0_has_gs;
-      SGPropertyNode *nav0_heading_needle_deflection;
-      SGPropertyNode *nav0_in_range;
-      SGPropertyNode *nav0_nav_loc;
-      SGPropertyNode *nav0_serviceable;
-      SGPropertyNode *power;
-      SGPropertyNode *replay_state;
-      SGPropertyNode *vs;
+      SGPropertyNode_ptr ai_caged;
+      SGPropertyNode_ptr ai_roll;
+      SGPropertyNode_ptr ai_serviceable;
+      SGPropertyNode_ptr altimeter_altitude;
+      SGPropertyNode_ptr altimeter_serviceable;
+      SGPropertyNode_ptr altitude;
+      SGPropertyNode_ptr altitude_agl;
+      SGPropertyNode_ptr asi_serviceable;
+      SGPropertyNode_ptr asi_speed;
+      SGPropertyNode_ptr autopilot_heading_lock;
+      SGPropertyNode_ptr flaps;
+      SGPropertyNode_ptr gear_down;
+      SGPropertyNode_ptr latitude;
+      SGPropertyNode_ptr longitude;
+      SGPropertyNode_ptr nav0_cdi_serviceable;
+      SGPropertyNode_ptr nav0_gs_distance;
+      SGPropertyNode_ptr nav0_gs_needle_deflection;
+      SGPropertyNode_ptr nav0_gs_serviceable;
+      SGPropertyNode_ptr nav0_has_gs;
+      SGPropertyNode_ptr nav0_heading_needle_deflection;
+      SGPropertyNode_ptr nav0_in_range;
+      SGPropertyNode_ptr nav0_nav_loc;
+      SGPropertyNode_ptr nav0_serviceable;
+      SGPropertyNode_ptr power;
+      SGPropertyNode_ptr replay_state;
+      SGPropertyNode_ptr vs;
     } external_properties;
 
     inline PropertiesHandler (MK_VIII *device)
index 7eb2817f5c5de20dc37210f904d16825a339246f..6a07913ab814cd3b2fd20516e00e93807505bfd3 100644 (file)
@@ -43,67 +43,67 @@ class FGNavRadio : public SGSubsystem
     SGInterpTable *low_tbl;
     SGInterpTable *high_tbl;
 
-    SGPropertyNode *lon_node;
-    SGPropertyNode *lat_node;
-    SGPropertyNode *alt_node;
-    SGPropertyNode *bus_power_node;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr alt_node;
+    SGPropertyNode_ptr bus_power_node;
 
     // property inputs
-    SGPropertyNode *is_valid_node;   // is station data valid (may be way out
+    SGPropertyNode_ptr is_valid_node;   // is station data valid (may be way out
                                      // of range.)
-    SGPropertyNode *power_btn_node;
-    SGPropertyNode *freq_node;       // primary freq
-    SGPropertyNode *alt_freq_node;   // standby freq
-    SGPropertyNode *sel_radial_node; // selected radial
-    SGPropertyNode *vol_btn_node;
-    SGPropertyNode *ident_btn_node;
-    SGPropertyNode *audio_btn_node;
-    SGPropertyNode *nav_serviceable_node;
-    SGPropertyNode *cdi_serviceable_node;
-    SGPropertyNode *gs_serviceable_node;
-    SGPropertyNode *tofrom_serviceable_node;
+    SGPropertyNode_ptr power_btn_node;
+    SGPropertyNode_ptr freq_node;       // primary freq
+    SGPropertyNode_ptr alt_freq_node;   // standby freq
+    SGPropertyNode_ptr sel_radial_node; // selected radial
+    SGPropertyNode_ptr vol_btn_node;
+    SGPropertyNode_ptr ident_btn_node;
+    SGPropertyNode_ptr audio_btn_node;
+    SGPropertyNode_ptr nav_serviceable_node;
+    SGPropertyNode_ptr cdi_serviceable_node;
+    SGPropertyNode_ptr gs_serviceable_node;
+    SGPropertyNode_ptr tofrom_serviceable_node;
 
     // property outputs
-    SGPropertyNode *fmt_freq_node;     // formated frequency
-    SGPropertyNode *fmt_alt_freq_node; // formated alternate frequency
-    SGPropertyNode *heading_node;      // true heading to nav station
-    SGPropertyNode *radial_node;       // current radial we are on (taking
+    SGPropertyNode_ptr fmt_freq_node;     // formated frequency
+    SGPropertyNode_ptr fmt_alt_freq_node; // formated alternate frequency
+    SGPropertyNode_ptr heading_node;      // true heading to nav station
+    SGPropertyNode_ptr radial_node;       // current radial we are on (taking
                                        // into consideration the vor station
                                        // alignment which likely doesn't
                                        // match the magnetic alignment
                                        // exactly.)
-    SGPropertyNode *recip_radial_node; // radial_node(val) + 180 (for
+    SGPropertyNode_ptr recip_radial_node; // radial_node(val) + 180 (for
                                        // convenience)
-    SGPropertyNode *target_radial_true_node;
+    SGPropertyNode_ptr target_radial_true_node;
                                        // true heading of selected radial
-    SGPropertyNode *target_auto_hdg_node;
+    SGPropertyNode_ptr target_auto_hdg_node;
                                        // suggested autopilot heading
                                        // to intercept selected radial
-    SGPropertyNode *time_to_intercept; // estimated time to intecept selected
+    SGPropertyNode_ptr time_to_intercept; // estimated time to intecept selected
                                        // radial at current speed and heading
-    SGPropertyNode *to_flag_node;
-    SGPropertyNode *from_flag_node;
-    SGPropertyNode *inrange_node;
-    SGPropertyNode *cdi_deflection_node;
-    SGPropertyNode *cdi_xtrack_error_node;
-    SGPropertyNode *cdi_xtrack_hdg_err_node;
-    SGPropertyNode *has_gs_node;
-    SGPropertyNode *loc_node;
-    SGPropertyNode *loc_dist_node;
-    SGPropertyNode *gs_deflection_node;
-    SGPropertyNode *gs_rate_of_climb_node;
-    SGPropertyNode *gs_dist_node;
-    SGPropertyNode *nav_id_node;
-    SGPropertyNode *id_c1_node;
-    SGPropertyNode *id_c2_node;
-    SGPropertyNode *id_c3_node;
-    SGPropertyNode *id_c4_node;
+    SGPropertyNode_ptr to_flag_node;
+    SGPropertyNode_ptr from_flag_node;
+    SGPropertyNode_ptr inrange_node;
+    SGPropertyNode_ptr cdi_deflection_node;
+    SGPropertyNode_ptr cdi_xtrack_error_node;
+    SGPropertyNode_ptr cdi_xtrack_hdg_err_node;
+    SGPropertyNode_ptr has_gs_node;
+    SGPropertyNode_ptr loc_node;
+    SGPropertyNode_ptr loc_dist_node;
+    SGPropertyNode_ptr gs_deflection_node;
+    SGPropertyNode_ptr gs_rate_of_climb_node;
+    SGPropertyNode_ptr gs_dist_node;
+    SGPropertyNode_ptr nav_id_node;
+    SGPropertyNode_ptr id_c1_node;
+    SGPropertyNode_ptr id_c2_node;
+    SGPropertyNode_ptr id_c3_node;
+    SGPropertyNode_ptr id_c4_node;
 
     // gps slaving support
-    SGPropertyNode *nav_slaved_to_gps_node;
-    SGPropertyNode *gps_cdi_deflection_node;
-    SGPropertyNode *gps_to_flag_node;
-    SGPropertyNode *gps_from_flag_node;
+    SGPropertyNode_ptr nav_slaved_to_gps_node;
+    SGPropertyNode_ptr gps_cdi_deflection_node;
+    SGPropertyNode_ptr gps_to_flag_node;
+    SGPropertyNode_ptr gps_from_flag_node;
 
     // internal (private) values
 
index f1098d6790c38438c832294d00f5d9e409364afb..273ccd6b014b95726f90cd33f0ec741f72a861f4 100644 (file)
@@ -52,7 +52,7 @@ private:
   struct Log {
     Log ();
     virtual ~Log ();
-    vector<SGPropertyNode *> nodes;
+    vector<SGPropertyNode_ptr> nodes;
     ostream * output;
     long interval_ms;
     double last_time_ms;
index f199231391ff3769f7ca4570ae575e68d880b17b..ff9d4d29f7e7bd1eee2a71fae306c223dbe703e8 100644 (file)
@@ -57,12 +57,12 @@ class FGATCInput {
     unsigned char radio_switch_data[ATC_RADIO_SWITCH_BYTES];
     unsigned char switch_data[ATC_SWITCH_BYTES];
 
-    SGPropertyNode *ignore_flight_controls;
-    SGPropertyNode *ignore_pedal_controls;
+    SGPropertyNode_ptr ignore_flight_controls;
+    SGPropertyNode_ptr ignore_pedal_controls;
 
-    SGPropertyNode *analog_in_node;
-    SGPropertyNode *radio_in_node;
-    SGPropertyNode *switches_node;
+    SGPropertyNode_ptr analog_in_node;
+    SGPropertyNode_ptr radio_in_node;
+    SGPropertyNode_ptr switches_node;
 
     void init_config();
     bool do_analog_in();
index 34ab3bcc7280f8d1c45b25208bd286d0469f3e49..c1572c4e7bc0f25812b7172ef424a3fbb285e17a 100644 (file)
@@ -53,9 +53,9 @@ class FGATCOutput {
 
     unsigned char radio_display_data[ATC_RADIO_DISPLAY_BYTES];
 
-    SGPropertyNode *lamps_out_node;
-    SGPropertyNode *radio_display_node;
-    SGPropertyNode *steppers_node;
+    SGPropertyNode_ptr lamps_out_node;
+    SGPropertyNode_ptr radio_display_node;
+    SGPropertyNode_ptr steppers_node;
 
     void init_config();
     bool do_lamps();
index f9eaccf363c6d62288b573db5fe6f41d68641064..d0acb1e982a8bbc7c72e982504b20dd06a2f3c2b 100644 (file)
@@ -63,7 +63,7 @@ protected:
         e_type type;
         double offset;
         double factor;
-        SGPropertyNode *prop;
+        SGPropertyNode_ptr prop;
     } _serial_prot;
 
 private:
index fa7a4a39bb32ca192844c17654a0e50b896b5b4f..49911cffe3dda99494e670684910f79f666622b2 100644 (file)
@@ -42,7 +42,7 @@ class FGJsClient : public FGProtocol {
     char buf[256];
     int length;
     double axis[4];
-    SGPropertyNode *axisdef[4];
+    SGPropertyNode_ptr axisdef[4];
     string axisdefstr[4];
     bool active;
                                
index da1abfca2292a1c7d2b2cc8ac87d730e82365d18..6a496f984d054c7a3ef5b6bd965f86054222a8f4 100644 (file)
@@ -42,104 +42,104 @@ class FGLFSGlass : public FGProtocol, public FGInterface {
     int length;
     
     // Environment
-    SGPropertyNode *press_node;
-    SGPropertyNode *temp_node;
-    SGPropertyNode *wind_dir_node;
-    SGPropertyNode *wind_speed_node;
-    SGPropertyNode *magvar_node;
+    SGPropertyNode_ptr press_node;
+    SGPropertyNode_ptr temp_node;
+    SGPropertyNode_ptr wind_dir_node;
+    SGPropertyNode_ptr wind_speed_node;
+    SGPropertyNode_ptr magvar_node;
     
     // Position on the Geod
-    SGPropertyNode *p_latitude;
-    SGPropertyNode *p_longitude;
-    SGPropertyNode *p_elev_node;
-    //SGPropertyNode *p_altitude;
-    SGPropertyNode *p_altitude_agl;
+    SGPropertyNode_ptr p_latitude;
+    SGPropertyNode_ptr p_longitude;
+    SGPropertyNode_ptr p_elev_node;
+    //SGPropertyNode_ptr p_altitude;
+    SGPropertyNode_ptr p_altitude_agl;
     
     // Orientation
-    SGPropertyNode     *p_pitch;
-    SGPropertyNode     *p_bank;
-    SGPropertyNode     *p_heading;
-    SGPropertyNode     *p_yaw;
-    SGPropertyNode     *p_yaw_rate;
+    SGPropertyNode_ptr p_pitch;
+    SGPropertyNode_ptr p_bank;
+    SGPropertyNode_ptr p_heading;
+    SGPropertyNode_ptr p_yaw;
+    SGPropertyNode_ptr p_yaw_rate;
     
     // Flight Parameters
-    SGPropertyNode     *vel_kcas;
-    SGPropertyNode     *p_vvi;
-    SGPropertyNode     *p_mach;
+    SGPropertyNode_ptr vel_kcas;
+    SGPropertyNode_ptr p_vvi;
+    SGPropertyNode_ptr p_mach;
     
     // Control surfaces
-    SGPropertyNode *p_left_aileron;
-    SGPropertyNode *p_right_aileron;
-    SGPropertyNode *p_elevator;
-    SGPropertyNode *p_elevator_trim;
-    SGPropertyNode *p_rudder;
-    SGPropertyNode *p_flaps;
-    SGPropertyNode *p_flaps_cmd;
+    SGPropertyNode_ptr p_left_aileron;
+    SGPropertyNode_ptr p_right_aileron;
+    SGPropertyNode_ptr p_elevator;
+    SGPropertyNode_ptr p_elevator_trim;
+    SGPropertyNode_ptr p_rudder;
+    SGPropertyNode_ptr p_flaps;
+    SGPropertyNode_ptr p_flaps_cmd;
     
     // GEAR System
-    SGPropertyNode *p_park_brake;
+    SGPropertyNode_ptr p_park_brake;
     
     // Engines
-    SGPropertyNode *egt0_node;
-    SGPropertyNode *egt1_node;
-    SGPropertyNode *egt2_node;
-    SGPropertyNode *egt3_node;
+    SGPropertyNode_ptr egt0_node;
+    SGPropertyNode_ptr egt1_node;
+    SGPropertyNode_ptr egt2_node;
+    SGPropertyNode_ptr egt3_node;
     
-    SGPropertyNode *epr0_node;
-    SGPropertyNode *epr1_node;
-    SGPropertyNode *epr2_node;
-    SGPropertyNode *epr3_node;
+    SGPropertyNode_ptr epr0_node;
+    SGPropertyNode_ptr epr1_node;
+    SGPropertyNode_ptr epr2_node;
+    SGPropertyNode_ptr epr3_node;
     
-    SGPropertyNode *n10_node;
-    SGPropertyNode *n11_node;
-    SGPropertyNode *n12_node;
-    SGPropertyNode *n13_node;
+    SGPropertyNode_ptr n10_node;
+    SGPropertyNode_ptr n11_node;
+    SGPropertyNode_ptr n12_node;
+    SGPropertyNode_ptr n13_node;
     
-    SGPropertyNode *n20_node;
-    SGPropertyNode *n21_node;
-    SGPropertyNode *n22_node;
-    SGPropertyNode *n23_node;
+    SGPropertyNode_ptr n20_node;
+    SGPropertyNode_ptr n21_node;
+    SGPropertyNode_ptr n22_node;
+    SGPropertyNode_ptr n23_node;
     
-    SGPropertyNode *oil_temp0;
-    SGPropertyNode *oil_temp1;
-    SGPropertyNode *oil_temp2;
-    SGPropertyNode *oil_temp3;
+    SGPropertyNode_ptr oil_temp0;
+    SGPropertyNode_ptr oil_temp1;
+    SGPropertyNode_ptr oil_temp2;
+    SGPropertyNode_ptr oil_temp3;
    
     // Fuel System
-    SGPropertyNode *tank0_node;
-    SGPropertyNode *tank1_node;
-    SGPropertyNode *tank2_node;
-    SGPropertyNode *tank3_node;
-    SGPropertyNode *tank4_node;
-    SGPropertyNode *tank5_node;
-    SGPropertyNode *tank6_node;
-    SGPropertyNode *tank7_node;
+    SGPropertyNode_ptr tank0_node;
+    SGPropertyNode_ptr tank1_node;
+    SGPropertyNode_ptr tank2_node;
+    SGPropertyNode_ptr tank3_node;
+    SGPropertyNode_ptr tank4_node;
+    SGPropertyNode_ptr tank5_node;
+    SGPropertyNode_ptr tank6_node;
+    SGPropertyNode_ptr tank7_node;
     // Boost pumps; Center tank has only override pumps; boosts are in the
     // four main wing tanks 1->4
-//    SGPropertyNode   *boost1_node;
-//    SGPropertyNode   *boost2_node;
-//    SGPropertyNode   *boost3_node;
-//    SGPropertyNode   *boost4_node;
-//    SGPropertyNode   *boost5_node;
-//    SGPropertyNode   *boost6_node;
-//    SGPropertyNode   *boost7_node;
-//    SGPropertyNode   *boost8_node;
+//    SGPropertyNode_ptr boost1_node;
+//    SGPropertyNode_ptr boost2_node;
+//    SGPropertyNode_ptr boost3_node;
+//    SGPropertyNode_ptr boost4_node;
+//    SGPropertyNode_ptr boost5_node;
+//    SGPropertyNode_ptr boost6_node;
+//    SGPropertyNode_ptr boost7_node;
+//    SGPropertyNode_ptr boost8_node;
     // Override pumps
-//    SGPropertyNode   *ovride0_node;
-//    SGPropertyNode   *ovride1_node;
-//    SGPropertyNode   *ovride2_node;
-//    SGPropertyNode   *ovride3_node;
-//    SGPropertyNode   *ovride4_node;
-//    SGPropertyNode   *ovride5_node;
+//    SGPropertyNode_ptr ovride0_node;
+//    SGPropertyNode_ptr ovride1_node;
+//    SGPropertyNode_ptr ovride2_node;
+//    SGPropertyNode_ptr ovride3_node;
+//    SGPropertyNode_ptr ovride4_node;
+//    SGPropertyNode_ptr ovride5_node;
     // X_Feed valves
-//    SGPropertyNode   *x_feed0_node;
-//    SGPropertyNode   *x_feed1_node;
-//    SGPropertyNode   *x_feed2_node;
-//    SGPropertyNode   *x_feed3_node;
+//    SGPropertyNode_ptr x_feed0_node;
+//    SGPropertyNode_ptr x_feed1_node;
+//    SGPropertyNode_ptr x_feed2_node;
+//    SGPropertyNode_ptr x_feed3_node;
     
     // Aero numbers
-    SGPropertyNode *p_alphadot;
-    SGPropertyNode *p_betadot;
+    SGPropertyNode_ptr p_alphadot;
+    SGPropertyNode_ptr p_betadot;
 
 public:
 
index 3194e9dfe4b703cbfc48883e973deca294aa9c5c..c7d1ac9d5fb3b573bbf4004c5f70b3d16bd95288 100644 (file)
@@ -42,104 +42,104 @@ class FGOpenGC : public FGProtocol, public FGInterface {
     int length;
     
     // Environment
-    SGPropertyNode *press_node;
-    SGPropertyNode *temp_node;
-    SGPropertyNode *wind_dir_node;
-    SGPropertyNode *wind_speed_node;
-    SGPropertyNode *magvar_node;
+    SGPropertyNode_ptr press_node;
+    SGPropertyNode_ptr temp_node;
+    SGPropertyNode_ptr wind_dir_node;
+    SGPropertyNode_ptr wind_speed_node;
+    SGPropertyNode_ptr magvar_node;
     
     // Position on the Geod
-    SGPropertyNode *p_latitude;
-    SGPropertyNode *p_longitude;
-    SGPropertyNode *p_elev_node;
-    //SGPropertyNode *p_altitude;
-    SGPropertyNode *p_altitude_agl;
+    SGPropertyNode_ptr p_latitude;
+    SGPropertyNode_ptr p_longitude;
+    SGPropertyNode_ptr p_elev_node;
+    //SGPropertyNode_ptr p_altitude;
+    SGPropertyNode_ptr p_altitude_agl;
     
     // Orientation
-    SGPropertyNode     *p_pitch;
-    SGPropertyNode     *p_bank;
-    SGPropertyNode     *p_heading;
-    SGPropertyNode     *p_yaw;
-    SGPropertyNode     *p_yaw_rate;
+    SGPropertyNode_ptr p_pitch;
+    SGPropertyNode_ptr p_bank;
+    SGPropertyNode_ptr p_heading;
+    SGPropertyNode_ptr p_yaw;
+    SGPropertyNode_ptr p_yaw_rate;
     
     // Flight Parameters
-    SGPropertyNode     *vel_kcas;
-    SGPropertyNode     *p_vvi;
-    SGPropertyNode     *p_mach;
+    SGPropertyNode_ptr vel_kcas;
+    SGPropertyNode_ptr p_vvi;
+    SGPropertyNode_ptr p_mach;
     
     // Control surfaces
-    SGPropertyNode *p_left_aileron;
-    SGPropertyNode *p_right_aileron;
-    SGPropertyNode *p_elevator;
-    SGPropertyNode *p_elevator_trim;
-    SGPropertyNode *p_rudder;
-    SGPropertyNode *p_flaps;
-    SGPropertyNode *p_flaps_cmd;
+    SGPropertyNode_ptr p_left_aileron;
+    SGPropertyNode_ptr p_right_aileron;
+    SGPropertyNode_ptr p_elevator;
+    SGPropertyNode_ptr p_elevator_trim;
+    SGPropertyNode_ptr p_rudder;
+    SGPropertyNode_ptr p_flaps;
+    SGPropertyNode_ptr p_flaps_cmd;
     
     // GEAR System
-    SGPropertyNode *p_park_brake;
+    SGPropertyNode_ptr p_park_brake;
     
     // Engines
-    SGPropertyNode *egt0_node;
-    SGPropertyNode *egt1_node;
-    SGPropertyNode *egt2_node;
-    SGPropertyNode *egt3_node;
+    SGPropertyNode_ptr egt0_node;
+    SGPropertyNode_ptr egt1_node;
+    SGPropertyNode_ptr egt2_node;
+    SGPropertyNode_ptr egt3_node;
     
-    SGPropertyNode *epr0_node;
-    SGPropertyNode *epr1_node;
-    SGPropertyNode *epr2_node;
-    SGPropertyNode *epr3_node;
+    SGPropertyNode_ptr epr0_node;
+    SGPropertyNode_ptr epr1_node;
+    SGPropertyNode_ptr epr2_node;
+    SGPropertyNode_ptr epr3_node;
     
-    SGPropertyNode *n10_node;
-    SGPropertyNode *n11_node;
-    SGPropertyNode *n12_node;
-    SGPropertyNode *n13_node;
+    SGPropertyNode_ptr n10_node;
+    SGPropertyNode_ptr n11_node;
+    SGPropertyNode_ptr n12_node;
+    SGPropertyNode_ptr n13_node;
     
-    SGPropertyNode *n20_node;
-    SGPropertyNode *n21_node;
-    SGPropertyNode *n22_node;
-    SGPropertyNode *n23_node;
+    SGPropertyNode_ptr n20_node;
+    SGPropertyNode_ptr n21_node;
+    SGPropertyNode_ptr n22_node;
+    SGPropertyNode_ptr n23_node;
     
-    SGPropertyNode *oil_temp0;
-    SGPropertyNode *oil_temp1;
-    SGPropertyNode *oil_temp2;
-    SGPropertyNode *oil_temp3;
+    SGPropertyNode_ptr oil_temp0;
+    SGPropertyNode_ptr oil_temp1;
+    SGPropertyNode_ptr oil_temp2;
+    SGPropertyNode_ptr oil_temp3;
    
     // Fuel System
-    SGPropertyNode *tank0_node;
-    SGPropertyNode *tank1_node;
-    SGPropertyNode *tank2_node;
-    SGPropertyNode *tank3_node;
-    SGPropertyNode *tank4_node;
-    SGPropertyNode *tank5_node;
-    SGPropertyNode *tank6_node;
-    SGPropertyNode *tank7_node;
+    SGPropertyNode_ptr tank0_node;
+    SGPropertyNode_ptr tank1_node;
+    SGPropertyNode_ptr tank2_node;
+    SGPropertyNode_ptr tank3_node;
+    SGPropertyNode_ptr tank4_node;
+    SGPropertyNode_ptr tank5_node;
+    SGPropertyNode_ptr tank6_node;
+    SGPropertyNode_ptr tank7_node;
     // Boost pumps; Center tank has only override pumps; boosts are in the
     // four main wing tanks 1->4
-//    SGPropertyNode   *boost1_node;
-//    SGPropertyNode   *boost2_node;
-//    SGPropertyNode   *boost3_node;
-//    SGPropertyNode   *boost4_node;
-//    SGPropertyNode   *boost5_node;
-//    SGPropertyNode   *boost6_node;
-//    SGPropertyNode   *boost7_node;
-//    SGPropertyNode   *boost8_node;
+//    SGPropertyNode_ptr boost1_node;
+//    SGPropertyNode_ptr boost2_node;
+//    SGPropertyNode_ptr boost3_node;
+//    SGPropertyNode_ptr boost4_node;
+//    SGPropertyNode_ptr boost5_node;
+//    SGPropertyNode_ptr boost6_node;
+//    SGPropertyNode_ptr boost7_node;
+//    SGPropertyNode_ptr boost8_node;
     // Override pumps
-//    SGPropertyNode   *ovride0_node;
-//    SGPropertyNode   *ovride1_node;
-//    SGPropertyNode   *ovride2_node;
-//    SGPropertyNode   *ovride3_node;
-//    SGPropertyNode   *ovride4_node;
-//    SGPropertyNode   *ovride5_node;
+//    SGPropertyNode_ptr ovride0_node;
+//    SGPropertyNode_ptr ovride1_node;
+//    SGPropertyNode_ptr ovride2_node;
+//    SGPropertyNode_ptr ovride3_node;
+//    SGPropertyNode_ptr ovride4_node;
+//    SGPropertyNode_ptr ovride5_node;
     // X_Feed valves
-//    SGPropertyNode   *x_feed0_node;
-//    SGPropertyNode   *x_feed1_node;
-//    SGPropertyNode   *x_feed2_node;
-//    SGPropertyNode   *x_feed3_node;
+//    SGPropertyNode_ptr x_feed0_node;
+//    SGPropertyNode_ptr x_feed1_node;
+//    SGPropertyNode_ptr x_feed2_node;
+//    SGPropertyNode_ptr x_feed3_node;
     
     // Aero numbers
-    SGPropertyNode *p_alphadot;
-    SGPropertyNode *p_betadot;
+    SGPropertyNode_ptr p_alphadot;
+    SGPropertyNode_ptr p_betadot;
 
 public:
 
index 7324a23b7edf6cd45222595978a3eca632ba0d1a..ca7d9f2eaa23d57ae5511f42de3a8263c2303cd4 100644 (file)
@@ -96,7 +96,7 @@ private:
     naContext _context;
     naRef _globals;
 
-    SGPropertyNode* _cmdArg;
+    SGPropertyNode_ptr _cmdArg;
 
     int _nextGCKey;
     naRef _gcHash;
index e80c7d4c6f65bb272402cea652525aa29aba2dff..3bfa58c3573e958134f31528bd13b832352aff22 100644 (file)
@@ -82,8 +82,8 @@ private:
     bool last_pause;
     double last_volume;
 
-    SGPropertyNode *_pause;
-    SGPropertyNode *_volume;
+    SGPropertyNode_ptr _pause;
+    SGPropertyNode_ptr _volume;
 
 };
 
index eaba350ccdd7e715f0ab8657707ba25bc7334a23..613e422687ecf0068c5e82485149cffd20fbcba8 100644 (file)
@@ -193,7 +193,7 @@ class FGElectricalSwitch {
 
 private:
 
-    SGPropertyNode *switch_node;
+    SGPropertyNode_ptr switch_node;
     float rating_amps;
     bool circuit_breaker;
 
@@ -275,8 +275,8 @@ private:
     comp_list outputs;
     comp_list connectors;
 
-    SGPropertyNode *_volts_out;
-    SGPropertyNode *_amps_out;
+    SGPropertyNode_ptr _volts_out;
+    SGPropertyNode_ptr _amps_out;
 };