blob: 35524c1f77fff8d23e4470295aa7c9f910667480 [file] [log] [blame]
// Interface for a DataSinkService client.
#ifndef PLATFORMS_SYSHEALTH_COLLECTION_FEED_FORWARD_CLIENT_LIB_FEED_CLIENT_INTERFACE_H_
#define PLATFORMS_SYSHEALTH_COLLECTION_FEED_FORWARD_CLIENT_LIB_FEED_CLIENT_INTERFACE_H_
#include "tlbmc/agent_config_service.pb.h"
#include "tlbmc/data_sink_service.pb.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
namespace platforms_syshealth::collection::feed {
class FeedClientInterface {
public:
virtual ~FeedClientInterface() = default;
// Writes metrics to the DataSinkService.
virtual absl::StatusOr<WriteMetricsResponse> WriteMetrics(
const WriteMetricsRequest& request) = 0;
// Gets policies from the AgentConfigService.
virtual absl::StatusOr<GetPoliciesResponse> GetPolicies(
const GetPoliciesRequest& request) = 0;
};
} // namespace platforms_syshealth::collection::feed
#endif // PLATFORMS_SYSHEALTH_COLLECTION_FEED_FORWARD_CLIENT_LIB_FEED_CLIENT_INTERFACE_H_