PLCnext API Documentation 25.0.2.69
Public Member Functions | List of all members
Arp::Base::Rsc::Commons::RscSerializable Class Reference

Any custom struct type which is intended to be marshalled in a Rsc serialization context, shall be derived by this class. More...

#include <RscSerializable.hpp>

Inherited by Arp::Base::Acf::Services::ComponentInfo, Arp::Device::Interface::Services::DeviceSettingItem, Arp::Device::Interface::Services::DeviceSettingResult, Arp::Hardware::Nim::Services::LimiterStatistic, Arp::Hardware::Nim::Services::NetloadLimiterSettings, Arp::Hardware::Nim::Services::NetloadLimiterState, Arp::Hardware::Nim::Services::NetloadLimiterStatisticResult, Arp::Io::Axioline::Services::AxioDeviceConfiguration, Arp::Io::Axioline::Services::AxioResult, Arp::Io::Axioline::Services::PdiParam, Arp::Io::Axioline::Services::PdiResult, Arp::Io::Interbus::Services::DeviceConfiguration, Arp::Io::Interbus::Services::IdentifyResult, Arp::Io::Interbus::Services::InitiateResult, Arp::Io::Interbus::Services::InterbusResult, Arp::Io::Interbus::Services::NegativeInitiateResult, Arp::Io::Interbus::Services::ObjectAddress, Arp::Io::Interbus::Services::PositiveInitiateResult, Arp::Io::Interbus::Services::StatusResult, Arp::Io::Profibus::Services::RecordParameters, Arp::Io::Profibus::Services::RecordResult, Arp::Io::Profibus::Services::StationDiagnosisItem, Arp::Io::Profibus::Services::SystemVariables, Arp::Io::ProfinetStack::Controller::Services::API, Arp::Io::ProfinetStack::Controller::Services::APIDifference, Arp::Io::ProfinetStack::Controller::Services::AlarmInfo, Arp::Io::ProfinetStack::Controller::Services::ArConfiguration, Arp::Io::ProfinetStack::Controller::Services::ArDataResult, Arp::Io::ProfinetStack::Controller::Services::ArDifference, Arp::Io::ProfinetStack::Controller::Services::ArInfo, Arp::Io::ProfinetStack::Controller::Services::ArStatisticValue, Arp::Io::ProfinetStack::Controller::Services::AttributeInfo, Arp::Io::ProfinetStack::Controller::Services::ChannelErrorTypeInfo, Arp::Io::ProfinetStack::Controller::Services::ChannelProcessAlarmReasonInfo, Arp::Io::ProfinetStack::Controller::Services::DeviceIdentityInfo, Arp::Io::ProfinetStack::Controller::Services::DiagnosisItem, Arp::Io::ProfinetStack::Controller::Services::DiagnosisSource, Arp::Io::ProfinetStack::Controller::Services::DiagnosticInfo, Arp::Io::ProfinetStack::Controller::Services::DiagnosticResult, Arp::Io::ProfinetStack::Controller::Services::Module, Arp::Io::ProfinetStack::Controller::Services::ModuleDifference, Arp::Io::ProfinetStack::Controller::Services::NodeIdentityInfo, Arp::Io::ProfinetStack::Controller::Services::ProfinetAddress, Arp::Io::ProfinetStack::Controller::Services::RecordParam, Arp::Io::ProfinetStack::Controller::Services::RecordResult, Arp::Io::ProfinetStack::Controller::Services::StandardDiagnosisInformation, Arp::Io::ProfinetStack::Controller::Services::Submodule, Arp::Io::ProfinetStack::Controller::Services::SubmoduleDifference, Arp::Io::ProfinetStack::Controller::Services::UsiDiagnosisDetailInformation, Arp::Io::ProfinetStack::Controller::Services::UsiDiagnosisInformation, Arp::Plc::Commons::Meta::ArrayDimension, Arp::Plc::Commons::Meta::CustomAttribute, Arp::Plc::Commons::Meta::DataInfo, Arp::Plc::Commons::Meta::DataTag, Arp::Plc::Commons::Meta::TypeIdentifier, Arp::Plc::Commons::Meta::TypeInfo, Arp::Plc::Domain::Commons::DcgResultInfo, Arp::Plc::Domain::Services::PlcConfigItem, Arp::Plc::Domain::Services::PlcConfigResult, Arp::Plc::Gds::Services::ForceItem, Arp::Plc::Gds::Services::ReadItem, Arp::Plc::Gds::Services::VariableInfo, Arp::Plc::Gds::Services::WriteItem, Arp::Plc::Retain::Services::BackupResult, Arp::Services::AppManager::Services::AdditionalAppInfo, Arp::Services::AppManager::Services::AppInfo, Arp::Services::AppManager::Services::AppManagerServiceError, Arp::Services::DataLogger::Services::SessionProperty, Arp::Services::DataLogger::Services::TriggerRpnItem, Arp::Services::NotificationLogger::Services::NotificationFilter, Arp::Services::NotificationLogger::Services::NotificationFilter2, Arp::Services::NotificationLogger::Services::StoredNotification, Arp::Services::NotificationLogger::Services::StoredNotification2, Arp::System::Commons::Services::Io::FileSystemEntry, Arp::System::Commons::Services::Io::FileSystemTraitsEntry, Arp::System::Commons::Services::Io::ReadFileData, Arp::System::Commons::Services::Io::ReadFileInfo, Arp::System::Commons::Services::Io::SpaceInfo, Arp::System::Commons::Services::Io::TraitItem, Arp::System::Commons::Services::Io::WriteFileData, Arp::System::Commons::Services::Security::IdentityValidationResult, Arp::System::Nm::Notification, Arp::System::Nm::NotificationRegistrationInfo, and Arp::System::Um::Services::ChannelInformation.

Public Member Functions

 RscSerializable (void)=default
 The default constructor.
 

Detailed Description

Any custom struct type which is intended to be marshalled in a Rsc serialization context, shall be derived by this class.

This class tags a custom struct to implement the following operations for the Rsc serialization:

void Serialize(RscWriter& writer);
void Deserialize(RscReader& reader);
Reads marshaled data of RSC services.
Definition: RscReader.hpp:34
Writes marshalled data of RSC services.
Definition: RscWriter.hpp:34

If JRsc (WBM) should be supported also, the following operations shall be provided additionally:

void Serialize(const char* valueName, JRscWriter& writer);
void Deserialize(const char* valueName, JRscReader& reader);

Furthermore the struct implementation shall provide a static policy operation with the following signature:

static size_t GetFieldCount(void);

which returns the number of fields, which are implemented by the struct.


The documentation for this class was generated from the following file: