Program Listing for File Event.h

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

// Copyright (C) AcceleratXR, Inc. All rights reserved.
//
// Author: Jean-Philippe Steinmetz <info@acceleratxr.com>
#pragma once

#include "axr.sdk/ModelBase.h"

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

namespace axr {
namespace sdk {
namespace models {

class Event : public ModelBase
{
public:
    Event() {}
    Event(const Event& value) : ModelBase(value) {}
    Event(Event&& value) : ModelBase(value) {}
    virtual ~Event() {}

    // Object overrides

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

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

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

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

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

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

    void Validate() override;

    // Event members

    utility::string_t GetEnvironment() const;

    Event& SetEnvironment(const utility::string_t& value);

    utility::string_t GetOrigin() const;

    Event& SetOrigin(const utility::string_t& value);

    utility::string_t GetProductUid() const;

    Event& SetProductUid(const utility::string_t& value);

    datetime GetTimestamp() const;

    Event& SetTimestamp(const datetime value);

    utility::string_t GetType() const;

    Event& SetType(const utility::string_t& value);

    utility::string_t GetUserId() const;

    Event& SetUserId(const utility::string_t& value);

    utility::string_t GetUid() const;

    Event& SetUid(const utility::string_t& value);
};

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