#safepower_agent - Add offline node entities to DaemonContext

RELNOTES: n/a
Startblock:
   has LGTM from any
   and then
   add reviewer msv-reviews
PiperOrigin-RevId: 804608888
Change-Id: I3b09e26fbe0d047a4cd9ca8a9f528dec0138dde8
diff --git a/daemon_context.h b/daemon_context.h
index a1bd274..093f43e 100644
--- a/daemon_context.h
+++ b/daemon_context.h
@@ -8,7 +8,9 @@
 #include "persistent_storage.h"
 #include "safepower_agent_config.pb.h"
 #include "scheduler_interface.h"
+#include "one/offline_node_entities.pb.h"
 #include "absl/base/nullability.h"
+#include "absl/status/status.h"
 #include "absl/time/clock.h"
 #include "absl/time/time.h"
 
@@ -37,9 +39,22 @@
 
   DisruptionManager& disruption_manager() { return disruption_manager_; }
 
+  void set_offline_node_entities(
+      production_msv::node_entities_proto::OfflineNodeEntityInformation
+          offline_node_entities) {
+    offline_node_entities_ = std::move(offline_node_entities);
+  }
+
+  const production_msv::node_entities_proto::OfflineNodeEntityInformation&
+  offline_node_entities() const {
+    return offline_node_entities_;
+  }
+
  private:
   static DaemonContext*  instance_;
   safepower_agent_config::SafePowerAgentConfig config_;
+  ::production_msv::node_entities_proto::OfflineNodeEntityInformation
+      offline_node_entities_;
 
   DisruptionManager disruption_manager_;
 };
diff --git a/google3/production/borg_mgmt/node_proxy/safepower/safepower_agent/copy.bara.sky b/google3/production/borg_mgmt/node_proxy/safepower/safepower_agent/copy.bara.sky
index 9b9cefd..f461254 100644
--- a/google3/production/borg_mgmt/node_proxy/safepower/safepower_agent/copy.bara.sky
+++ b/google3/production/borg_mgmt/node_proxy/safepower/safepower_agent/copy.bara.sky
@@ -200,6 +200,11 @@
         paths = glob(_cc_files),
     ),
     core.replace(
+        before = "production/msv/node_entities/proto/offline_node_entities.proto.h",
+        after = "one/offline_node_entities.pb.h",
+        paths = glob(_cc_files),
+    ),
+    core.replace(
         before = "proto2::",
         after = "google::protobuf::",
         paths = glob(_cc_files),
diff --git a/meson.build b/meson.build
index 9acfeeb..27f5848 100644
--- a/meson.build
+++ b/meson.build
@@ -36,6 +36,7 @@
     dependency('absl_base'),
     dependency('absl_statusor'),
     dependency('absl_flat_hash_set'),
+    dependency('one')
 ]
 
 boost = dependency('boost', modules: ['url'], version : '>=1.82.0', required : false, include_type: 'system')