| #include "convert_proto.h" |
| |
| #include "google/protobuf/timestamp.pb.h" |
| #include "daemon_context.h" |
| #include "safepower_agent.pb.h" |
| #include "absl/status/status.h" |
| #include "absl/time/time.h" |
| |
| namespace safepower_agent { |
| absl::Time ConvertTime(const google::protobuf::Timestamp& timestamp) { |
| return absl::FromUnixSeconds(timestamp.seconds()) + |
| absl::Nanoseconds(timestamp.nanos()); |
| } |
| |
| void SetTimestamp(google::protobuf::Timestamp& timestamp, absl::Time time) { |
| auto ts = absl::ToTimespec(time); |
| timestamp.set_seconds(ts.tv_sec); |
| timestamp.set_nanos(ts.tv_nsec); |
| } |
| |
| void SetTimestampToNow(google::protobuf::Timestamp& timestamp) { |
| SetTimestamp(timestamp, DaemonContext::Get().now()); |
| } |
| |
| void SetStatus(safepower_agent_proto::Status& status_proto, |
| const absl::Status& status) { |
| status_proto.set_code(static_cast<int>(status.code())); |
| status_proto.set_message(status.message()); |
| } |
| |
| |
| } // namespace safepower_agent |