Program Listing for File Configuration.h

Return to documentation for file (axr.sdk/Configuration.h)

// Copyright (C) AcceleratXR, Inc. All rights reserved.
//
// Author: Jean-Philippe Steinmetz <info@acceleratxr.com>
//
// NOTE: This file was auto generated by the AcceleratXR code generator.
// https://gitlab.com/AcceleratXR/Core/code_generator.git
#pragma once

#include <cpprest/asyncrt_utils.h>
#include "models/User.h"
#include "logging/BaseLogger.h"

#include <cpprest/details/basic_types.h>
#include <map>

namespace axr {
namespace sdk {


class Configuration : public std::enable_shared_from_this<Configuration>
{
public:
    Configuration(const utility::string_t& InstanceName);
    virtual ~Configuration();

    utility::string_t GetInstanceName() const;

    Configuration& SetInstanceName(const utility::string_t& value);

    utility::string_t GetBaseUrl() const;

    Configuration& SetBaseUrl( const utility::string_t& value );

    utility::string_t GetBaseServicePath(utility::string_t key) const;

    std::map<utility::string_t, utility::string_t>& GetBaseServicePaths();

    Configuration& SetBaseServicePaths(std::map<utility::string_t, utility::string_t> value);

    pplx::cancellation_token GetCancellationToken() const;

    pplx::cancellation_token_source GetCancellationTokenSource() const;

    Configuration& SetCancellationTokenSource(pplx::cancellation_token_source cts);

    utility::string_t GetUserAgent() const;

    Configuration& SetUserAgent( const utility::string_t& value );

    std::map<utility::string_t, utility::string_t>& GetDefaultHeaders();

    utility::string_t GetApiKey( const utility::string_t& prefix) const;

    Configuration& SetApiKey( const utility::string_t& prefix, const utility::string_t& apiKey );

    void ClearApiKeys();

    void ClearApiKey( const utility::string_t& prefix );

    utility::string_t GetAlgorithm() const;

    Configuration& SetAlgorithm(const utility::string_t& value);

    utility::string_t GetPrivateKey() const;

    Configuration& SetPrivateKey(const utility::string_t& value);

    utility::string_t GetAudience() const;

    Configuration& SetAudience(const utility::string_t& value);

    utility::string_t GetIssuer() const;

    Configuration& SetIssuer(const utility::string_t& value);

    std::shared_ptr<models::User> GetLoggedInUser() const;

    Configuration& SetLoggedInUser(std::shared_ptr<models::User> user);

    std::shared_ptr<logging::BaseLogger> GetLogger() const;

    Configuration& SetLogger(std::shared_ptr<logging::BaseLogger> logger);

    logging::LogLevel GetLogLevel() const;

    Configuration& SetLogLevel(logging::LogLevel level);

    uint32_t GetPollingFrequency() const;

    Configuration& SetPollingFrequency(uint32_t millis);

    utility::string_t GetProxyUrl() const;

    Configuration& SetProxyUrl(const utility::string_t& value);

    bool IsPushEnabled() const;

    Configuration& SetPushEnabled(bool value);

    bool IsAgonesEnabled() const;

    Configuration& SetAgonesEnabled(bool value);

    utility::string_t GetAgonesUrl() const;

    Configuration& SetAgonesUrl(const utility::string_t& value);

protected:
    utility::string_t m_InstanceName;
    utility::string_t m_BaseUrl;
    std::map<utility::string_t, utility::string_t> m_BaseServicePaths;
    pplx::cancellation_token_source m_CancellationToken;
    std::map<utility::string_t, utility::string_t> m_DefaultHeaders;
    std::map<utility::string_t, utility::string_t> m_ApiKeys;
    utility::string_t m_UserAgent;
    bool m_LocalAuth;
    utility::string_t m_Algorithm;
    utility::string_t m_PrivateKey;
    utility::string_t m_ExpiresIn;
    utility::string_t m_Audience;
    utility::string_t m_Issuer;
    std::shared_ptr<models::User> m_LoggedInUser;
    std::shared_ptr<logging::BaseLogger> m_Logger;
    logging::LogLevel m_LogLevel;
    uint32_t m_PollingFrequency;
    utility::string_t m_proxyUrl;
    bool m_pushEnabled;
    bool m_agonesEnabled;
    utility::string_t m_agonesUrl;
};

} // namespace axr
} // namespace sdk