PLCnext API Documentation  22.9.0.33
INetloadLimiterService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/Hardware/Nim/Services/NetloadLimiterErrorCode.hpp"
9 #include "Arp/Hardware/Nim/Services/NetloadLimiterServiceProxyFactory.hpp"
10 #include "Arp/Hardware/Nim/Services/NetloadLimiterSettings.hpp"
11 #include "Arp/Hardware/Nim/Services/NetloadLimiterState.hpp"
12 #include "Arp/System/Rsc/Services/IRscService.hpp"
13 
14 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY INetloadLimiterService.cs
15 
16 namespace Arp { namespace Hardware { namespace Nim { namespace Services
17 {
18 
19 using namespace Arp;
20 using namespace Arp::System::Rsc::Services;
21 
27 {
28 public: // typedefs
29  using Ptr = std::shared_ptr<INetloadLimiterService>;
30 
31 public: // construction/destruction
33  INetloadLimiterService(void) = default;
34 
35 public: // static policy operation
36  static IRscServiceProxyFactory& GetProxyFactory(void);
37 
38 public: // abstract operations
45  virtual NetloadLimiterErrorCode GetSettings(uint8 networkInterface, NetloadLimiterSettings& settings) = 0;
46 
53  virtual NetloadLimiterErrorCode SetSettings(uint8 networkInterface, const NetloadLimiterSettings& settings) = 0;
54 
61  virtual NetloadLimiterErrorCode SetByteLimit(uint8 networkInterface, uint32 limit) = 0;
62 
69  virtual NetloadLimiterErrorCode SetPacketLimit(uint8 networkInterface, uint16 limit) = 0;
70 
76  virtual NetloadLimiterErrorCode EnableByteLimiter(uint8 networkInterface) = 0;
77 
83  virtual NetloadLimiterErrorCode DisableByteLimiter(uint8 networkInterface) = 0;
84 
90  virtual NetloadLimiterErrorCode EnablePacketLimiter(uint8 networkInterface) = 0;
91 
97  virtual NetloadLimiterErrorCode DisablePacketLimiter(uint8 networkInterface) = 0;
98 
105  virtual NetloadLimiterErrorCode GetState(uint8 networkInterface, NetloadLimiterState& state) = 0;
106 };
107 
109 // inline methods of class INetloadLimiterService
110 inline IRscServiceProxyFactory& INetloadLimiterService::GetProxyFactory()
111 {
112  return NetloadLimiterServiceProxyFactory::GetInstance();
113 }
114 
115 }}}} // end of namespace Arp::Hardware::Nim::Services
This Services controls the NetloadLimiter
Definition: INetloadLimiterService.hpp:27
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:24
This struct contains the current state of the network limiter for one network interface.
Definition: NetloadLimiterState.hpp:24
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
NetloadLimiterErrorCode
This enum contains the error codes for the operations of the netload limiter services.
Definition: NetloadLimiterErrorCode.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API