8#include "Arp/System/Rsc/Services/Rsc.h"
11namespace CommonRemoting
16namespace Arp {
namespace System {
namespace Rsc {
namespace Services
19using namespace CommonRemoting;
23class RscClientContext;
31 friend class RscStream;
34 RemotingReader(BinaryReader2& binaryReader, RscReader& rscReader, RscClientContext* pRscClientContext =
nullptr);
37 RscReader& GetRscReader(
void);
38 bool HasDataTagging(
void)
const;
41 size_t ReadArrayLength(
void);
42 RscType ReadEnumeratorTag(
bool& isEndTag);
43 void ReadDataInternal(
byte* pBuffer,
size_t count);
45 void ReadStringInternal(
char* pBuffer,
size_t count,
RscStringEncoding encoding,
bool readTag =
true);
47 size_t TryReadDataInternal(
byte* pBuffer,
size_t count);
48 void BeginReadStream(
int& maxPackageSize,
int& count,
int& remaining);
49 bool ReadStream(
byte* pBuffer,
int bufferSize,
int maxPackageSize,
int& count,
int& remaining);
52 void ReadTag(
RscType expectedType);
53 void ReadArrayTag(
RscType elementType,
size_t& arrayLength);
54 void ReadBeginStruct(
size_t fieldCount);
55 size_t ReadFieldCount(
void);
56 void ReadSecurityToken(SecurityToken& value,
bool readTag =
true);
57 RscArrayInformation ReadArrayInformation(
void);
60 BinaryReader2& binaryReader;
62 RscClientContext* pRscClientContext =
nullptr;
67inline RscReader& RemotingReader::GetRscReader(
void)
69 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