1e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)// found in the LICENSE file.
4e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
5e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#ifndef PlatformCredential_h
6e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#define PlatformCredential_h
7e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
8e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#include "platform/heap/Handle.h"
9e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#include "platform/weborigin/KURL.h"
10e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#include "wtf/text/WTFString.h"
11e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
12e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)namespace blink {
13e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
14e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)class PLATFORM_EXPORT PlatformCredential : public GarbageCollectedFinalized<PlatformCredential> {
15e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    WTF_MAKE_NONCOPYABLE(PlatformCredential);
16e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)public:
17e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    static PlatformCredential* create(const String& id, const String& name, const KURL& avatarURL);
18e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    virtual ~PlatformCredential();
19e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
20e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    const String& id() const { return m_id; }
21e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    const String& name() const { return m_name; }
22e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    const KURL& avatarURL() const { return m_avatarURL; }
23e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
24e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    virtual void trace(Visitor*) { }
25e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
26e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)protected:
27e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    PlatformCredential(const String& id, const String& name, const KURL& avatarURL);
28e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
29e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)private:
30e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    String m_id;
31e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    String m_name;
32e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    KURL m_avatarURL;
33e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)};
34e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
35e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)} // namespace blink
36e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
37e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)#endif // PlatformCredential_h
38