// Copyright 2014 The Chromium 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 COMPONENTS_COPRESENCE_TOKENS_H_ #define COMPONENTS_COPRESENCE_TOKENS_H_ #include #include "base/time/time.h" #include "components/copresence/proto/enums.pb.h" namespace copresence { struct AudioToken final { AudioToken(const std::string& token, bool audible) : token(token), audible(audible) {} std::string token; bool audible; }; // It's an error to define these constructors inline, // so they're defined in tokens.cc. struct TransmittedToken final { TransmittedToken(); std::string id; TokenMedium medium; base::Time start_time; base::Time stop_time; bool broadcast_confirmed; }; struct ReceivedToken final { enum Validity { UNKNOWN = 0, VALID = 1, INVALID = 2 }; ReceivedToken(); ReceivedToken(const std::string& id, TokenMedium medium, base::Time last_time); std::string id; TokenMedium medium; base::Time start_time; base::Time last_time; Validity valid; }; } // namespace copresence #endif // COMPONENTS_COPRESENCE_TOKENS_H_