PLCnext API Documentation 25.0.2.69
INetloadLimiterService.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 "Arp/Hardware/Nim/Services/NetloadLimiterErrorCode.hpp"
11#include "Arp/Hardware/Nim/Services/NetloadLimiterSettings.hpp"
12#include "Arp/Hardware/Nim/Services/NetloadLimiterState.hpp"
13
14// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY INetloadLimiterService.cs
15
17{
18
19using namespace Arp::Base::Rsc::Commons;
20
28class ARP_EXPORT INetloadLimiterService : public IRscService
29{
30public: // usings
31 using Ptr = std::shared_ptr<INetloadLimiterService>;
32
33public: // construction/destruction
35 INetloadLimiterService(void) = default;
36
37public: // static policy operation
38 static IRscServiceProxyFactory& GetProxyFactory(void);
39
40public: // abstract operations
47 virtual NetloadLimiterErrorCode GetSettings(uint8 networkInterface, NetloadLimiterSettings& settings) = 0;
48
55 virtual NetloadLimiterErrorCode SetSettings(uint8 networkInterface, const NetloadLimiterSettings& settings) = 0;
56
63 virtual NetloadLimiterErrorCode SetByteLimit(uint8 networkInterface, uint32 limit) = 0;
64
71 virtual NetloadLimiterErrorCode SetPacketLimit(uint8 networkInterface, uint16 limit) = 0;
72
78 virtual NetloadLimiterErrorCode EnableByteLimiter(uint8 networkInterface) = 0;
79
85 virtual NetloadLimiterErrorCode DisableByteLimiter(uint8 networkInterface) = 0;
86
92 virtual NetloadLimiterErrorCode EnablePacketLimiter(uint8 networkInterface) = 0;
93
99 virtual NetloadLimiterErrorCode DisablePacketLimiter(uint8 networkInterface) = 0;
100
107 virtual NetloadLimiterErrorCode GetState(uint8 networkInterface, NetloadLimiterState& state) = 0;
108};
109
110} // end of namespace Arp::Hardware::Nim::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
This Services controls the NetloadLimiter
Definition: INetloadLimiterService.hpp:29
INetloadLimiterService(void)=default
Constructs an INetloadLimiterService instance.
virtual NetloadLimiterErrorCode GetSettings(uint8 networkInterface, NetloadLimiterSettings &settings)=0
Gets the current settings for the selected network interface.
virtual NetloadLimiterErrorCode SetByteLimit(uint8 networkInterface, uint32 limit)=0
Sets new byte limit for the selected network interface.
virtual NetloadLimiterErrorCode GetState(uint8 networkInterface, NetloadLimiterState &state)=0
Gets the current state of the selected network interface.
virtual NetloadLimiterErrorCode SetSettings(uint8 networkInterface, const NetloadLimiterSettings &settings)=0
Sets settings for selected network interface.
virtual NetloadLimiterErrorCode EnableByteLimiter(uint8 networkInterface)=0
Enables the byte limiter for the selected network interface.
virtual NetloadLimiterErrorCode EnablePacketLimiter(uint8 networkInterface)=0
Enables the packet limiter for the selected network interface.
virtual NetloadLimiterErrorCode DisablePacketLimiter(uint8 networkInterface)=0
Disables the packet limiter for the selected network interface.
virtual NetloadLimiterErrorCode SetPacketLimit(uint8 networkInterface, uint16 limit)=0
Sets new packet limit for the selected network interface.
virtual NetloadLimiterErrorCode DisableByteLimiter(uint8 networkInterface)=0
Disables the byte limiter for the selected network interface.
This struct contains all settings of the netload limiter. It is used to set and get the current setti...
Definition: NetloadLimiterSettings.hpp:26
This struct contains the current state of the network limiter for one network interface.
Definition: NetloadLimiterState.hpp:26
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:25
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:29
Namespace for services of the Network Interface Manager
NetloadLimiterErrorCode
This enum contains the error codes for the operations of the netload limiter services.
Definition: NetloadLimiterErrorCode.hpp:19