test_activity_data_service.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef COMPONENTS_UPDATE_CLIENT_TEST_ACTIVITY_DATA_SERVICE_H_
  5. #define COMPONENTS_UPDATE_CLIENT_TEST_ACTIVITY_DATA_SERVICE_H_
  6. #include <map>
  7. #include <set>
  8. #include <string>
  9. #include <vector>
  10. #include "base/callback_forward.h"
  11. #include "components/update_client/activity_data_service.h"
  12. namespace update_client {
  13. class PersistedData;
  14. namespace test {
  15. // Synchronously set date-last data.
  16. void SetDateLastData(PersistedData* metadata,
  17. const std::vector<std::string>& ids,
  18. int daynum);
  19. // Synchronously fetch the active bit.
  20. bool GetActiveBit(PersistedData* metadata, const std::string& id);
  21. } // namespace test
  22. class TestActivityDataService final : public ActivityDataService {
  23. public:
  24. TestActivityDataService();
  25. TestActivityDataService(const TestActivityDataService&) = delete;
  26. TestActivityDataService& operator=(const TestActivityDataService&) = delete;
  27. ~TestActivityDataService() override;
  28. // ActivityDataService overrides
  29. void GetActiveBits(const std::vector<std::string>& ids,
  30. base::OnceCallback<void(const std::set<std::string>&)>
  31. callback) const override;
  32. void GetAndClearActiveBits(
  33. const std::vector<std::string>& ids,
  34. base::OnceCallback<void(const std::set<std::string>&)> callback) override;
  35. int GetDaysSinceLastActive(const std::string& id) const override;
  36. int GetDaysSinceLastRollCall(const std::string& id) const override;
  37. bool GetActiveBit(const std::string& id) const;
  38. void SetActiveBit(const std::string& id, bool value);
  39. void SetDaysSinceLastActive(const std::string& id, int daynum);
  40. void SetDaysSinceLastRollCall(const std::string& id, int daynum);
  41. private:
  42. std::map<std::string, bool> actives_;
  43. std::map<std::string, int> days_since_last_actives_;
  44. std::map<std::string, int> days_since_last_rollcalls_;
  45. };
  46. } // namespace update_client
  47. #endif // COMPONENTS_UPDATE_CLIENT_TEST_ACTIVITY_DATA_SERVICE_H_