ImagingTools Core SDK
IGqlContext.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <iser/IObject.h>
7
8// ImtCore includes
9#include <imtauth/IUserInfo.h>
10
11
12namespace imtgql
13{
14
15
20class IGqlContext: virtual public iser::IObject
21{
22public:
23 typedef QMap<QByteArray,QByteArray> Headers;
24
25 virtual QByteArray GetProductId() const = 0;
26 virtual void SetProductId(const QByteArray& productId) = 0;
27
28 virtual QByteArray GetLanguageId() const = 0;
29 virtual void SetLanguageId(const QByteArray& languageId) = 0;
30
31 virtual QByteArray GetDesignScheme() const = 0;
32 virtual void SetDesignScheme(const QByteArray& designScheme) = 0;
33
34 virtual QByteArray GetToken() const = 0;
35 virtual void SetToken(const QByteArray& token) = 0;
36
37 virtual QByteArray GetUserId() const = 0;
38 virtual void SetUserId(const QByteArray& userId) = 0;
39
40 virtual const imtauth::IUserInfo* GetUserInfo() const = 0;
41 virtual void SetUserInfo(const imtauth::IUserInfo* userInfoPtr) = 0;
42
43 virtual Headers GetHeaders() const = 0;
44 virtual void SetHeaders(const Headers& headers) = 0;
45};
46
47
48typedef istd::TUniqueInterfacePtr<IGqlContext> IGqlContextUniquePtr;
49typedef istd::TSharedInterfacePtr<IGqlContext> IGqlContextSharedPtr;
50
51
52} // namespace imtgql
53
54