Add SensorPurpose for total_power sensor

Change will allow users to find the total system/chassis power sensor by
querying the SensorPurpose for TotalPower.
The total_power chassis association is being removed, since the
SensorPurpose will be used in its place.

Tested on Rainier.

'''
$ busctl call xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTree sias "/" 0 1 "xyz.openbmc_project.Sensor.Purpose"

a{sa{sas}} 1 "/xyz/openbmc_project/sensors/power/total_power" 1 "org.open_power.OCC.Control" 6 "org.freedesktop.DBus.Introspectable" "org.freedesktop.DBus.Peer" "org.freedesktop.DBus.Properties" "xyz.openbmc_project.Sensor.Purpose" "xyz.openbmc_project.Sensor.Value" "xyz.openbmc_project.State.Decorator.OperationalStatus"

$ busctl -l introspect org.open_power.OCC.Control /xyz/openbmc_project/sensors/power/total_power

NAME                                                  TYPE      SIGNATURE RESULT/VALUE                                                                                                                                      FLAGS
org.freedesktop.DBus.Introspectable                   interface -         -                                                                                                                                                 -
.Introspect                                           method    -         s                                                                                                                                                 -
org.freedesktop.DBus.Peer                             interface -         -                                                                                                                                                 -
.GetMachineId                                         method    -         s                                                                                                                                                 -
.Ping                                                 method    -         -                                                                                                                                                 -
org.freedesktop.DBus.Properties                       interface -         -                                                                                                                                                 -
.Get                                                  method    ss        v                                                                                                                                                 -
.GetAll                                               method    s         a{sv}                                                                                                                                             -
.Set                                                  method    ssv       -                                                                                                                                                 -
.PropertiesChanged                                    signal    sa{sv}as  -                                                                                                                                                 -
xyz.openbmc_project.Association.Definitions           interface -         -                                                                                                                                                 -
.Associations                                         property  a(sss)    1 "chassis" "all_sensors" "/xyz/openbmc_project/inventory/system/chassis" emits-change writable
B
xyz.openbmc_project.Sensor.Purpose                    interface -         -                                                                                                                                                 -
.Purpose                                              property  as        1 "xyz.openbmc_project.Sensor.Purpose.SensorPurpose.TotalPower"                                                                                   emits-change
xyz.openbmc_project.Sensor.Value                      interface -         -                                                                                                                                                 -
.MaxValue                                             property  d         inf                                                                                                                                               emits-change writable
.MinValue                                             property  d         -inf                                                                                                                                              emits-change writable
.Unit                                                 property  s         "xyz.openbmc_project.Sensor.Value.Unit.Watts"                                                                                                     emits-change writable
.Value                                                property  d         419                                                                                                                                               emits-change writable
xyz.openbmc_project.State.Decorator.OperationalStatus interface -         -                                                                                                                                                 -
.Functional                                           property  b         true                                                                                                                                              emits-change writable
'''

Change-Id: I414c01e81cbb965d9ab68bafa06565d997abbe0f
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
diff --git a/occ_manager.cpp b/occ_manager.cpp
index df8ff0c..6b0282c 100644
--- a/occ_manager.cpp
+++ b/occ_manager.cpp
@@ -1260,12 +1260,13 @@
 
         if (existingSensors.find(sensorPath) == existingSensors.end())
         {
-            std::vector<int> occs;
             std::vector<std::string> fTypeList = {"all_sensors"};
             if (iter->second == "total_power")
             {
-                // Total system power has its own chassis association
-                fTypeList.push_back("total_power");
+                // Set sensor purpose as TotalPower
+                dbus::OccDBusSensors::getOccDBus().setPurpose(
+                    sensorPath,
+                    "xyz.openbmc_project.Sensor.Purpose.SensorPurpose.TotalPower");
             }
             dbus::OccDBusSensors::getOccDBus().setChassisAssociation(
                 sensorPath, fTypeList);