Program Listing for File Quest.h

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

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

namespace axr {
namespace sdk {
namespace models {

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

    // Object overrides

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

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

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

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

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

    // EntityBase overrides

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

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

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

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

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

    void Validate() override;

    // Quest members

    utility::string_t GetQuestUid() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetQuestUid(const utility::string_t& value);
#endif // AXR_COMPILE_SERVER
    utility::string_t GetPersonaUid() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetPersonaUid(const utility::string_t& value);
#endif // AXR_COMPILE_SERVER
    std::vector<std::shared_ptr<QuestProgress>> GetProgress() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetProgress(const std::vector<std::shared_ptr<QuestProgress>> value);
#endif // AXR_COMPILE_SERVER
    int64_t GetCompletions() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetCompletions(int64_t value);
#endif // AXR_COMPILE_SERVER
    datetime GetDateLastCompleted() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetDateLastCompleted(const datetime value);
#endif // AXR_COMPILE_SERVER
    datetime GetDateLastStarted() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetDateLastStarted(const datetime value);
#endif // AXR_COMPILE_SERVER
    utility::string_t GetProductUid() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetProductUid(const utility::string_t& value);
#endif // AXR_COMPILE_SERVER
    bool IsUnlocked() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetIsUnlocked(bool value);
#endif // AXR_COMPILE_SERVER
    std::vector<std::shared_ptr<QuestProgress>> GetUnlockProgress() const;
#ifdef AXR_COMPILE_SERVER
    Quest& SetUnlockProgress(const std::vector<std::shared_ptr<QuestProgress>>& value);
#endif // AXR_COMPILE_SERVER
};

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