7 #include "Arp/System/Core/Enum.hxx" 8 #include "Arp/System/Core/TypeDeduction.hxx" 11 namespace Arp {
namespace System {
namespace Rsc {
namespace Services
19 class RscSecurityToken;
125 , ElementType(elementType)
126 , Dimensions(dimensions)
127 , FieldCount(fieldCount)
138 size_t Dimensions = 1;
148 size_t FieldCount = 0;
161 size_t FieldCount = 0;
166 template<class T, bool isSerializable = std::is_base_of<IRscSerializable, T>::value>
169 size_t FieldCount = 0;
173 struct StructInfo<T, true>
175 size_t FieldCount = T::GetFieldCount();
179 inline constexpr
RscType GetRscType(
void)
182 return std::is_enum<T>::value ? GetRscType<typename underlying_enum_type<T>::type>() :
192 inline constexpr
RscType GetRscType<boolean>(void)
198 inline constexpr
RscType GetRscType<char8>(void)
204 inline constexpr
RscType GetRscType<uint8>(void)
210 inline constexpr
RscType GetRscType<int8>(void)
216 inline constexpr
RscType GetRscType<uint16>(void)
222 inline constexpr
RscType GetRscType<int16>(void)
228 inline constexpr
RscType GetRscType<uint32>(void)
234 inline constexpr
RscType GetRscType<int32>(void)
240 inline constexpr
RscType GetRscType<uint64>(void)
246 inline constexpr
RscType GetRscType<int64>(void)
252 inline constexpr
RscType GetRscType<float32>(void)
258 inline constexpr
RscType GetRscType<float64>(void)
264 inline constexpr
RscType GetRscType<char*>(void)
276 inline constexpr
RscType GetRscType<String>(void)
282 inline constexpr
RscType GetRscType<DateTime>(void)
288 inline constexpr
RscType GetRscType<RscVersion>(void)
294 inline constexpr
RscType GetRscType<RscGuid>(void)
300 inline constexpr
RscType GetRscType<RscSecurityToken>(void)
306 inline constexpr
RscType GetRscTypeFrom(
const T& )
308 return GetRscType<T>();
312 inline constexpr
RscType GetRscTypeFrom(
const char(&)[N])
354 inline constexpr
RscType GetRscTypeFrom(
const RscSecurityToken&)
359 inline constexpr
bool IsPrimitiveRscType(
RscType type)
364 inline std::ostream& operator<<(std::ostream& os,
const RscType rhs)
366 os << Enum<RscType>(rhs);
Definition: RscGuid.hpp:17
summary>IEC type: LDATE_AND_TIME, LDT [int64]
Complex datatype with implements IRscSerializable
summary>IEC type: LDATE [int64]
32 bit floating point number
Definition: SecurityToken.hpp:11
Utf-16 string, not implemented in Rsc context
summary>IEC type: LTIME [int64]
The class contains date and time informations.
Definition: DateTime.hpp:43
String for security context, handled by Rsc with SecureString
Adapter class for enums to make them loggable and parsable from e.g. XML files.
Definition: Enum.hxx:23
RscType
Datatypes supported by Rsc. Values are identical with CommonRemoting::RemotingMarshalType. Only supported types of RemotingMarshalType are included.
Definition: RscType.hpp:27
This class represents the version of a special SDK or Arp build.
Definition: BasicVersion.hpp:34
Object type handled by Rsc as RscVariant
Specifies a version with 4 version numbers and is marshalled to .NET type System.Version.
Definition: RscVersion.hpp:20
Security token needed for security services, handly by Rsc with SecurityToken
64 bit floating point number
Marshalls structure or class data types. Serialize and Deserialize have to marshal fields in the same...
Definition: IRscSerializable.hpp:18
Ansi string, not implemented in Rsc context
Specialized version of RscString for security context. Not implemented in this version. Wraps only RscString
Definition: RscType.hpp:18
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
Root namespace for the PLCnext API
Datetime, handled by Rsc with DateTime
System components used by the System, Device, Plc or Io domains.
Stream type to marshal large data packets (see <see cref="RscStream")/>
This is the base class of all Arp exception classes.
Definition: Exception.hpp:15
summary>IEC type: LTIME_OF_DAY, LTOD [int64]
Contains a static string with string lentgh up to N characters. The string has to be null terminated...
Definition: RscString.hxx:18
This class defines a base class for all enumerator implementations and some predefined enumerators as...
Definition: Enumerator.hxx:21