Program Listing for File PersonaStat.h

Return to documentation for file (axr.sdk/models/PersonaStat.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 "axr.sdk/EntityBase.h"

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

namespace axr {
namespace sdk {
namespace models {

class PersonaStat : public EntityBase
{
public:
    PersonaStat() {}
    PersonaStat(const PersonaStat& value) : EntityBase(value) {}
    PersonaStat(PersonaStat&& value) : EntityBase(value) {}
    virtual ~PersonaStat() {}

    // Object overrides

    virtual PersonaStat& SetProperties(const std::map<utility::string_t, Variant>& value) override
    {
        Object::SetProperties(value);
        return *this;
    }

    virtual PersonaStat& SetProperties(std::map<utility::string_t, Variant>&& value) override
    {
        Object::SetProperties(value);
        return *this;
    }

    virtual PersonaStat& SetProperty(const utility::char_t* name, const Variant& value) override
    {
        Object::SetProperty(name, value);
        return*this;
    }

    virtual PersonaStat& SetProperty(const utility::string_t& name, const Variant& value) override
    {
        Object::SetProperty(name, value);
        return*this;
    }

    virtual PersonaStat& SetRemoteUrl(const utility::string_t& url) override
    {
        Object::SetRemoteUrl(url);
        return *this;
    }

    // EntityBase overrides

    virtual PersonaStat& SetUid(const utility::string_t& value) override
    {
        EntityBase::SetUid(value);
        return *this;
    }

    virtual PersonaStat& SetDateCreated(const datetime& value) override
    {
        EntityBase::SetDateCreated(value);
        return *this;
    }

    virtual PersonaStat& SetDateModified(const datetime& value) override
    {
        EntityBase::SetDateModified(value);
        return *this;
    }

    virtual PersonaStat& SetVersion(const uint64_t value) override
    {
        EntityBase::SetVersion(value);
        return *this;
    }

    static const utility::char_t* ClassName()
    {
        return _XPLATSTR("axr::sdk::models::PersonaStat");
    }

    void Validate() override;

    // PersonaStat members

    utility::string_t GetStatUid() const;

    PersonaStat& SetStatUid(const utility::string_t& value);

    utility::string_t GetPersonaUid() const;

    PersonaStat& SetPersonaUid(const utility::string_t& value);

    Variant GetValue() const;

    template<class T>
    inline T GetValue() const
    {
        return std::get<T>(GetValue());
    }

    PersonaStat& SetValue(const Variant& value);
};

template<>
inline bool PersonaStat::GetValue() const;
template<>
inline double PersonaStat::GetValue() const;
template<>
inline float PersonaStat::GetValue() const
{
    return (float)std::get<double>(GetValue());
}
template<>
inline int8_t PersonaStat::GetValue() const
{
    return (int8_t)std::get<int64_t>(GetValue());
}
template<>
inline uint8_t PersonaStat::GetValue() const
{
    return (uint8_t)std::get<int64_t>(GetValue());
}
template<>
inline int16_t PersonaStat::GetValue() const
{
    return (int16_t)std::get<int64_t>(GetValue());
}
template<>
inline uint16_t PersonaStat::GetValue() const
{
    return (uint16_t)std::get<int64_t>(GetValue());
}
template<>
inline int32_t PersonaStat::GetValue() const
{
    return (int32_t)std::get<int64_t>(GetValue());
}
template<>
inline uint32_t PersonaStat::GetValue() const
{
    return (uint32_t)std::get<int64_t>(GetValue());
}
template<>
inline int64_t PersonaStat::GetValue() const;
template<>
inline uint64_t PersonaStat::GetValue() const
{
    return (uint64_t)std::get<int64_t>(GetValue());
}
template<>
inline std::shared_ptr<Object> PersonaStat::GetValue() const;
template<>
inline utility::string_t PersonaStat::GetValue() const;

} // namespace models
} // namespace axr
} // namespace sdk