PLCnext API Documentation 25.0.2.69
IDiagnosisQueryService.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include <vector>
11#include "Arp/Io/ProfinetStack/Controller/Services/ChannelQualifier.hpp"
12#include "Arp/Io/ProfinetStack/Controller/Services/DiagnosisItem.hpp"
13#include "Arp/Io/ProfinetStack/Controller/Services/DiagnosisSource.hpp"
14#include "Arp/Io/ProfinetStack/Controller/Services/FilterLevel.hpp"
15
16// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IDiagnosisQueryService.cs
17
19{
20
21using namespace Arp::Base::Rsc::Commons;
22
31class ARP_EXPORT IDiagnosisQueryService : public IRscService
32{
33public: // usings
34 using Ptr = std::shared_ptr<IDiagnosisQueryService>;
35
36public: // construction/destruction
38 IDiagnosisQueryService(void) = default;
39
40public: // static policy operation
41 static IRscServiceProxyFactory& GetProxyFactory(void);
42
43public: // abstract operations
59 virtual std::vector<DiagnosisItem> Query(const DiagnosisSource& source, FilterLevel filterLevel = FilterLevel::None, ChannelQualifier filterSeverity = ChannelQualifier::Normal) = 0;
60};
61
62} // end of namespace Arp::Io::ProfinetStack::Controller::Services
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
Contains the information where a diagnosis is located on the device according to "Guideline for PROFI...
Definition: DiagnosisSource.hpp:27
This services allows access to the diagnosis informationen of the subordinated devices....
Definition: IDiagnosisQueryService.hpp:32
IDiagnosisQueryService(void)=default
Constructs an IDiagnosisQueryService instance.
virtual std::vector< DiagnosisItem > Query(const DiagnosisSource &source, FilterLevel filterLevel=FilterLevel::None, ChannelQualifier filterSeverity=ChannelQualifier::Normal)=0
Gets all diagnoses filtered by !:filterLevel and !:filterSeverity;
Namespace for Profinet I/O controller services
ChannelQualifier
Describes diagnosis severity.
Definition: ChannelQualifier.hpp:19
@ Normal
Normal severity, used if diagnosis is not QualifiedChannelDiagnosis
FilterLevel
Used to determine which values of Arp.Io.ProfinetStack.Controller.Services.DiagnosisSource are used t...
Definition: FilterLevel.hpp:19
@ None
All stored diagnoses sources will be returned.