1// Copyright 2014 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
5#ifndef PlatformCredential_h
6#define PlatformCredential_h
7
8#include "platform/heap/Handle.h"
9#include "platform/weborigin/KURL.h"
10#include "wtf/text/WTFString.h"
11
12namespace blink {
13
14class PLATFORM_EXPORT PlatformCredential : public GarbageCollectedFinalized<PlatformCredential> {
15    WTF_MAKE_NONCOPYABLE(PlatformCredential);
16public:
17    static PlatformCredential* create(const String& id, const String& name, const KURL& avatarURL);
18    virtual ~PlatformCredential();
19
20    const String& id() const { return m_id; }
21    const String& name() const { return m_name; }
22    const KURL& avatarURL() const { return m_avatarURL; }
23
24    virtual void trace(Visitor*) { }
25
26protected:
27    PlatformCredential(const String& id, const String& name, const KURL& avatarURL);
28
29private:
30    String m_id;
31    String m_name;
32    KURL m_avatarURL;
33};
34
35} // namespace blink
36
37#endif // PlatformCredential_h
38