Overte C++ Documentation
DomainServerWebSessionData.h
1 //
2 // DomainServerWebSessionData.h
3 // domain-server/src
4 //
5 // Created by Stephen Birarda on 2014-07-21.
6 // Copyright 2014 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 #ifndef hifi_DomainServerWebSessionData_h
13 #define hifi_DomainServerWebSessionData_h
14 
15 #include <QtCore/QObject>
16 #include <QtCore/QSet>
17 
18 class DomainServerWebSessionData : public QObject {
19  Q_OBJECT
20 public:
21  DomainServerWebSessionData();
22  DomainServerWebSessionData(const QJsonObject& userObject);
23  DomainServerWebSessionData(const DomainServerWebSessionData& otherSessionData);
24  DomainServerWebSessionData& operator=(const DomainServerWebSessionData& otherSessionData);
25 
26  const QString& getUsername() const { return _username; }
27  const QSet<QString>& getRoles() const { return _roles; }
28 
29  friend QDataStream& operator<<(QDataStream &out, const DomainServerWebSessionData& session);
30  friend QDataStream& operator>>(QDataStream &in, DomainServerWebSessionData& session);
31 
32 private:
33  void swap(DomainServerWebSessionData& otherSessionData);
34 
35  QString _username;
36  QSet<QString> _roles;
37 };
38 
39 Q_DECLARE_METATYPE(DomainServerWebSessionData)
40 
41 #endif // hifi_DomainServerWebSessionData_h