7#include "Arp/System/Rsc/Services/Rsc.h"
10namespace CommonRemoting
15namespace Arp {
namespace System {
namespace Rsc {
namespace Services
18using namespace CommonRemoting;
22class RscClientContext;
30 friend class RscStream;
33 RemotingReader(BinaryReader2& binaryReader, RscReader& rscReader, RscClientContext* pRscClientContext =
nullptr);
36 RscReader& GetRscReader(
void);
37 bool HasDataTagging(
void)
const;
40 size_t ReadArrayLength(
void);
41 RscType ReadEnumeratorTag(
bool& isEndTag);
42 void ReadDataInternal(
byte* pBuffer,
size_t count);
44 void ReadStringInternal(
char* pBuffer,
size_t count,
RscStringEncoding encoding,
bool readTag =
true);
46 size_t TryReadDataInternal(
byte* pBuffer,
size_t count);
47 void BeginReadStream(
int& maxPackageSize,
int& count,
int& remaining);
48 bool ReadStream(
byte* pBuffer,
int bufferSize,
int maxPackageSize,
int& count,
int& remaining);
51 void ReadTag(
RscType expectedType);
52 void ReadArrayTag(
RscType elementType,
size_t& arrayLength);
53 void ReadBeginStruct(
size_t fieldCount);
54 size_t ReadFieldCount(
void);
55 void ReadSecurityToken(SecurityToken& value,
bool readTag =
true);
56 RscArrayInformation ReadArrayInformation(
void);
59 BinaryReader2& binaryReader;
61 RscClientContext* pRscClientContext =
nullptr;
66inline RscReader& RemotingReader::GetRscReader(
void)
68 return this->rscReader;
@ System
System components used by the System, Device, Plc or Io domains.
RscStringEncoding
Determines the encoding of a Rsc String. Values are identical to CommonRemoting::StringEncoding.
Definition: RscStringEncoding.hpp:18
RscType
Data types supported by RSC.
Definition: RscType.hpp:36
Root namespace for the PLCnext API