Program Listing for File HttpContent.h

Return to documentation for file (axr.sdk/net/HttpContent.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 "../Variant.h"

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

namespace axr {
namespace sdk {
namespace net {

class HttpContent
{
public:
    HttpContent();
    virtual ~HttpContent();

    virtual utility::string_t GetContentDisposition();
    virtual void SetContentDisposition(const utility::string_t& value);

    virtual utility::string_t GetName();
    virtual void SetName(const utility::string_t& value);

    virtual utility::string_t GetFileName();
    virtual void SetFileName(const utility::string_t& value);

    virtual utility::string_t GetContentType();
    virtual void SetContentType(const utility::string_t& value);

    virtual std::shared_ptr<std::istream> GetData();
    virtual void SetData(std::shared_ptr<std::istream> value);

    virtual void WriteTo(json::StringBuffer& stream);
    virtual void WriteTo(json::StringStream& stream);

protected:
    // NOTE: no utility::string_t here because those strings can only contain ascii
    utility::string_t m_ContentDisposition;
    utility::string_t m_Name;
    utility::string_t m_FileName;
    utility::string_t m_ContentType;
    std::shared_ptr<std::istream> m_Data;
};

} // namespace net
} // namespace axr
} // namespace sdk