62 *
this >> params.Alias;
64 *
this >> params.AttributeId;
65 *
this >> params.IndexRange;
72 *
this << params.Alias;
74 *
this << params.AttributeId;
75 *
this << params.IndexRange;
94 *
this >> params.TypeId;
95 *
this >> params.BrowsePath;
96 *
this >> params.Attribute;
97 *
this >> params.IndexRange;
103 *
this << params.TypeId;
104 *
this << params.BrowsePath;
105 *
this << params.Attribute;
106 *
this << params.IndexRange;
110 void DataSerializer::Serialize<std::vector<SimpleAttributeOperand>>(
const std::vector<SimpleAttributeOperand> & targets)
116 void DataDeserializer::Deserialize<std::vector<SimpleAttributeOperand>>(std::vector<SimpleAttributeOperand> & targets)
135 *
this >> params.Value;
141 *
this << params.Value;
159 *
this >> params.Index;
165 *
this << params.Index;
176 size_t total =
RawSize(params.Header);
181 total +=
RawSize(params.Element);
187 total +=
RawSize(params.Literal);
193 total +=
RawSize(params.Attribute);
199 total +=
RawSize(params.SimpleAttribute);
208 *
this >> params.Header;
214 *
this >> params.Element;
219 *
this >> params.Literal;
224 *
this >> params.Attribute;
229 *
this >> params.SimpleAttribute;
236 *
this << params.Header;
240 uint32_t size =
RawSize(params.Element);
242 *
this << params.Element;
247 uint32_t size =
RawSize(params.Literal);
249 *
this << params.Literal;
254 uint32_t size =
RawSize(params.Attribute);
256 *
this << params.Attribute;
261 uint32_t size =
RawSize(params.SimpleAttribute);
263 *
this << params.SimpleAttribute;
268 void DataSerializer::Serialize<std::vector<FilterOperand>>(
const std::vector<FilterOperand> & targets)
274 void DataDeserializer::Deserialize<std::vector<FilterOperand>>(std::vector<FilterOperand> & targets)
288 return RawSize(params.Operator) +
295 *
this >> params.Operator;
303 *
this << params.Operator;
318 return RawSize(params.StartTime) +
319 RawSize(params.AggregateType) +
320 RawSize(params.ProcessingInterval) +
321 RawSize(params.UseServerCapabilitiesDefaults) +
322 RawSize(params.TreatUncertainAsBad) +
323 RawSize(params.PercentDataBad) +
324 RawSize(params.PercentDataGood) +
325 RawSize(params.SteppedSlopedExtrapolation);
331 *
this >> params.StartTime;
332 *
this >> params.AggregateType;
333 *
this >> params.ProcessingInterval;
334 *
this >> params.UseServerCapabilitiesDefaults;
335 *
this >> params.TreatUncertainAsBad;
336 *
this >> params.PercentDataBad;
337 *
this >> params.PercentDataGood;
338 *
this >> params.SteppedSlopedExtrapolation;
344 *
this << params.StartTime;
345 *
this << params.AggregateType;
346 *
this << params.ProcessingInterval;
347 *
this << params.UseServerCapabilitiesDefaults;
348 *
this << params.TreatUncertainAsBad;
349 *
this << params.PercentDataBad;
350 *
this << params.PercentDataGood;
351 *
this << params.SteppedSlopedExtrapolation;
368 void DataDeserializer::Deserialize<EventFilter>(
EventFilter & params)
370 *
this >> params.SelectClauses;
375 void DataSerializer::Serialize<EventFilter>(
const EventFilter & params)
377 *
this << params.SelectClauses;
389 return RawSize(params.Trigger) +
397 *
this >> params.Trigger;
398 *
this >> params.Deadband;
399 *
this >> params.DeadbandValue;
405 *
this << params.Trigger;
406 *
this << params.Deadband;
407 *
this << params.DeadbandValue;
424 total +=
RawSize(data.DataChange);
436 total +=
RawSize(data.Aggregate);
439 else if (data.Header.TypeId ==
NodeId(0, 0))
445 throw std::runtime_error(
"MonitoringFilter type not implemented");
455 *
this >> data.Header;
461 *
this >> data.DataChange;
473 *
this >> data.Aggregate;
476 else if (data.Header.TypeId ==
NodeId(0, 0))
482 throw std::runtime_error(
"Filter data type not supported in deserialization");
489 *
this << data.Header;
493 *
this << (uint32_t)
RawSize(data.DataChange);
494 *
this << data.DataChange;
499 *
this << (uint32_t)
RawSize(data.Event);
505 *
this << (uint32_t)
RawSize(data.Aggregate);
506 *
this << data.Aggregate;
509 else if (data.Header.TypeId ==
NodeId(0, 0))
515 throw std::runtime_error(
"Filter data type not supported in serialization");
524 void DataSerializer::Serialize<std::vector<MonitoredItemCreateRequest>>(
const std::vector<MonitoredItemCreateRequest> & targets)
530 void DataDeserializer::Deserialize<std::vector<MonitoredItemCreateRequest>>(std::vector<MonitoredItemCreateRequest> & targets)
542 void DataSerializer::Serialize<std::vector<MonitoredItemCreateResult>>(
const std::vector<MonitoredItemCreateResult> & targets)
548 void DataDeserializer::Deserialize<std::vector<MonitoredItemCreateResult>>(std::vector<MonitoredItemCreateResult> & targets)
std::size_t RawSize< AttributeOperand >(const OpcUa::AttributeOperand ¶ms)
void SerializeContainer(Stream &out, const Container &c, uint32_t emptySizeValue=~uint32_t())
std::size_t RawSize< DataChangeFilter >(const OpcUa::DataChangeFilter ¶ms)
void DeserializeContainer(Stream &in, Container &c)
std::size_t RawSize< MonitoringFilter >(const MonitoringFilter &data)
std::size_t RawSize< AggregateFilter >(const OpcUa::AggregateFilter ¶ms)
std::size_t RawSize< FilterOperand >(const OpcUa::FilterOperand ¶ms)
std::size_t RawSize< EventFilter >(const OpcUa::EventFilter ¶ms)
OPC UA Address space part. GNU LGPL.
const char * Binary(const char *input, short n)
std::size_t RawSize< LiteralOperand >(const OpcUa::LiteralOperand ¶ms)
AggregateFilter Aggregate
std::size_t RawSize< ContentFilterElement >(const OpcUa::ContentFilterElement ¶ms)
std::size_t RawSize< SimpleAttributeOperand >(const OpcUa::SimpleAttributeOperand ¶ms)
std::size_t RawSizeContainer(const T &container)
std::size_t RawSize< ElementOperand >(const OpcUa::ElementOperand ¶ms)
std::size_t RawSize(const T &obj)