// Copyright 2013 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_PROTOCOL_PAIRING_REGISTRY_H_ #define REMOTING_PROTOCOL_PAIRING_REGISTRY_H_ #include <map> #include <memory> #include <string> #include <vector> #include "base/containers/queue.h" #include "base/functional/callback.h" #include "base/gtest_prod_util.h" #include "base/memory/ref_counted.h" #include "base/time/time.h" #include "base/values.h" namespace base { class Location; class SingleThreadTaskRunner; } // namespace base namespace remoting::protocol { // PairingRegistry holds information about paired clients to support // PIN-less authentication. For each paired client, the registry holds // the following information: // * The name of the client. This is supplied by the client and is not // guaranteed to be unique. // * The unique id of the client. This is generated on-demand by this // class and sent in plain-text by the client during authentication. // * The shared secret for the client. This is generated on-demand by this // class and used in the SPAKE2 exchange to mutually verify identity. class PairingRegistry : public base::RefCountedThreadSafe<PairingRegistry> { … }; } // namespace remoting::protocol #endif // REMOTING_PROTOCOL_PAIRING_REGISTRY_H_