blob: 5d016db0ea2d92f433a37e694645221c2765451a [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MISSIVE_CLIENT_EMPTY_DM_TOKEN_RETRIEVER_H_
#define MISSIVE_CLIENT_EMPTY_DM_TOKEN_RETRIEVER_H_
#include "missive/client/dm_token_retriever.h"
namespace reporting {
// |EmptyDMTokenRetriever| is a |DMTokenRetriever| that is used for certain
// event types that do not need DM tokens to be retrieved or attached when
// creating a report queue. One such example is for device events, since device
// DM tokens are appended by default during event uploads.
class EmptyDMTokenRetriever : public DMTokenRetriever {
public:
EmptyDMTokenRetriever() = default;
EmptyDMTokenRetriever(const EmptyDMTokenRetriever& other) = delete;
EmptyDMTokenRetriever& operator=(const EmptyDMTokenRetriever& other) = delete;
~EmptyDMTokenRetriever() override = default;
// Retrieves empty DM token and triggers the corresponding callback with the
// result
void RetrieveDMToken(
DMTokenRetriever::CompletionCallback completion_cb) override;
};
} // namespace reporting
#endif // MISSIVE_CLIENT_EMPTY_DM_TOKEN_RETRIEVER_H_