Program Listing for File Session.h
↰ Return to documentation for file (axr.sdk/models/Session.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 "axr.sdk/StringEnum.h"
#include "axr.sdk/models/Criteria.h"
#include "axr.sdk/models/Team.h"
#include <cpprest/details/basic_types.h>
#include <vector>
namespace axr {
namespace sdk {
namespace models {
class Session : public EntityBase
{
public:
class Status : public StringEnum<Status>
{
public:
static const Status* WAITING_FOR_PLAYERS;
static const Status* IDLE;
static const Status* IN_PROGRESS;
static const Status* ENDED;
private:
Status(const utility::char_t* value)
: StringEnum(value)
{
}
};
class Type : public StringEnum<Status>
{
public:
static const Type* GAME;
static const Type* LOBBY;
static const Type* PARTY;
private:
Type(const utility::char_t* value)
: StringEnum(value)
{
}
};
class Visibility : public StringEnum<Status>
{
public:
static const Visibility* PUBLIC;
static const Visibility* FRIENDS_EXTENDED;
static const Visibility* FRIENDS_ONLY;
static const Visibility* INVITE_ONLY;
static const Visibility* LOCKED;
private:
Visibility(const utility::char_t* value)
: StringEnum(value)
{
}
};
Session() {}
Session(const Session& value) : EntityBase(value) {}
Session(Session&& value) : EntityBase(value) {}
virtual ~Session() {}
// Object overrides
virtual Session& SetProperties(const std::map<utility::string_t, Variant>& value) override
{
Object::SetProperties(value);
return *this;
}
virtual Session& SetProperties(std::map<utility::string_t, Variant>&& value) override
{
Object::SetProperties(value);
return *this;
}
virtual Session& SetProperty(const utility::char_t* name, const Variant& value) override
{
Object::SetProperty(name, value);
return*this;
}
virtual Session& SetProperty(const utility::string_t& name, const Variant& value) override
{
Object::SetProperty(name, value);
return*this;
}
virtual Session& SetRemoteUrl(const utility::string_t& url) override
{
Object::SetRemoteUrl(url);
return *this;
}
// EntityBase overrides
virtual Session& SetUid(const utility::string_t& value) override
{
EntityBase::SetUid(value);
return *this;
}
virtual Session& SetDateCreated(const datetime& value) override
{
EntityBase::SetDateCreated(value);
return *this;
}
virtual Session& SetDateModified(const datetime& value) override
{
EntityBase::SetDateModified(value);
return *this;
}
virtual Session& SetVersion(const uint64_t value) override
{
EntityBase::SetVersion(value);
return *this;
}
static const utility::char_t* ClassName()
{
return _XPLATSTR("axr::sdk::models::Session");
}
void Validate() override;
// Session members
std::shared_ptr<Object> GetData() const;
Session& SetData(std::shared_ptr<Object> value);
utility::string_t GetHostUid() const;
Session& SetHostUid(const utility::string_t& value);
std::vector<utility::string_t> GetInvited() const;
Session& SetInvited(std::vector<utility::string_t> value);
int64_t GetNumTeams() const;
Session& SetNumTeams(const int64_t value);
utility::string_t GetPassword() const;
Session& SetPassword(const utility::string_t& value);
utility::string_t GetProductUid() const;
Session& SetProductUid(const utility::string_t& value);
utility::string_t GetServerUrl() const;
Session& SetServerUrl(const utility::string_t& value);
const Status* GetStatus() const;
Session& SetStatus(const Status* value);
std::vector<std::shared_ptr<Team>> GetTeams() const;
Session& SetTeams(const std::vector<std::shared_ptr<Team>> value);
int64_t GetTeamSize() const;
Session& SetTeamSize(const int64_t value);
const Type* GetType() const;
Session& SetType(const Type* value);
std::vector<utility::string_t> GetUsers() const;
Session& SetUsers(const std::vector<utility::string_t> value);
const Visibility* GetVisibility() const;
Session& SetVisibility(const Visibility* value);
};
} // namespace models
} // namespace axr
} // namespace sdk