152e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET/* 252e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * Copyright (C) 2015 The Android Open Source Project 352e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * 452e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * Licensed under the Apache License, Version 2.0 (the "License"); 552e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * you may not use this file except in compliance with the License. 652e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * You may obtain a copy of the License at 752e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * 852e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * http://www.apache.org/licenses/LICENSE-2.0 952e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * 1052e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * Unless required by applicable law or agreed to in writing, software 1152e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * distributed under the License is distributed on an "AS IS" BASIS, 1252e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1352e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * See the License for the specific language governing permissions and 1452e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET * limitations under the License. 1552e5b99983c1f7ff0b9a1f3b4b80d779073b21c8Bertrand SIMONNET */ 1646b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET 1746b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET#ifndef METRICS_UPLOADER_SENDER_H_ 1846b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET#define METRICS_UPLOADER_SENDER_H_ 1946b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET 2046b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET#include <string> 2146b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET 2246b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET// Abstract class for a Sender that uploads a metrics message. 2346b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNETclass Sender { 2446b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET public: 25b1640eee939813efd80e3ead1cd0e10d5a3d28d5Yunlian Jiang virtual ~Sender() {} 2646b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET // Sends a message |content| with its sha1 hash |hash| 2746b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET virtual bool Send(const std::string& content, const std::string& hash) = 0; 2846b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET}; 2946b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET 3046b49da5ad156911cf17aa79f373d90595063ba0Bertrand SIMONNET#endif // METRICS_UPLOADER_SENDER_H_ 31