2021-12-05 17:54:36 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// Custom Classes
|
|
|
|
#include "AMFFormat.h"
|
|
|
|
|
|
|
|
// RakNet
|
|
|
|
#include <BitStream.h>
|
|
|
|
|
|
|
|
/*!
|
2022-07-22 05:26:09 +00:00
|
|
|
\file AMFFormat_BitStream.h
|
|
|
|
\brief A class that implements native writing of AMF values to RakNet::BitStream
|
2021-12-05 17:54:36 +00:00
|
|
|
*/
|
|
|
|
|
2022-07-28 13:39:57 +00:00
|
|
|
// We are using the RakNet namespace
|
2021-12-05 17:54:36 +00:00
|
|
|
namespace RakNet {
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFValue pointer to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFValue*>(AMFValue* value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFUndefinedValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFUndefinedValue>(AMFUndefinedValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFNullValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFNullValue>(AMFNullValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFFalseValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFFalseValue>(AMFFalseValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFTrueValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFTrueValue>(AMFTrueValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFIntegerValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFIntegerValue>(AMFIntegerValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFDoubleValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFDoubleValue>(AMFDoubleValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFStringValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFStringValue>(AMFStringValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFXMLDocValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFXMLDocValue>(AMFXMLDocValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFDateValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFDateValue>(AMFDateValue value);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-07-22 05:26:09 +00:00
|
|
|
//! Writes an AMFArrayValue to a RakNet::BitStream
|
|
|
|
/*!
|
|
|
|
\param value The value to write
|
|
|
|
*/
|
|
|
|
template <>
|
|
|
|
void RakNet::BitStream::Write<AMFArrayValue*>(AMFArrayValue* value);
|
|
|
|
} // namespace RakNet
|