PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
profinet::rpc::MockRPCCon Class Reference

Google Mock implementation of the IRPCCon RPC connection interface. More...

#include <mockRPCCon.h>

+ Inheritance diagram for profinet::rpc::MockRPCCon:
+ Collaboration diagram for profinet::rpc::MockRPCCon:

Public Member Functions

 MockRPCCon ()=default
 Constructs a mock RPC connection.
 
 ~MockRPCCon () override=default
 Destroys the mock RPC connection.
 
 MOCK_METHOD (std::optional< ConnectResult >, Connect,(std::optional< MacAddress > srcMac, bool withAlarmCr, std::optional< IOCRSetup > iocrSetup),(override))
 
 MOCK_METHOD (void, Disconnect,(),(override))
 
 MOCK_METHOD (void, Close,(),(noexcept, override))
 
 MOCK_METHOD (bool, IsConnected,(),(const, override))
 
 MOCK_METHOD (PNIODHeader, Read,(std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx),(override))
 
 MOCK_METHOD (PNIODHeader, ReadImplicit,(std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx),(override))
 
 MOCK_METHOD (void, Write,(std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx, const Bytes &data),(override))
 
 MOCK_METHOD (std::vector< blocks::WriteMultipleResult >, WriteMultiple,(const std::vector< WriteItem > &writes),(override))
 
 MOCK_METHOD (PNInM0, ReadIm0,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM1, ReadIm1,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM2, ReadIm2,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM3, ReadIm3,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM4, ReadIm4,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM5, ReadIm5,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM6, ReadIm6,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM7, ReadIm7,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM8, ReadIm8,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM9, ReadIm9,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM10, ReadIm10,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM11, ReadIm11,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM12, ReadIm12,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM13, ReadIm13,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM14, ReadIm14,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (PNInM15, ReadIm15,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (AllIM, ReadAllIm,(std::uint16_t slot, std::uint16_t subslot),(override))
 
 MOCK_METHOD (blocks::ModuleDiffBlock, ReadModuleDiff,(),(override))
 
 MOCK_METHOD (diagnosis::DiagnosisData, ReadDiagnosis,(std::uint16_t slot, std::uint16_t subslot, std::uint16_t index),(override))
 
 MOCK_METHOD ((std::map< std::uint16_t, diagnosis::DiagnosisData >), ReadAllDiagnosis,(),(override))
 
 MOCK_METHOD (blocks::PDRealData, ReadPdRealData,(),(override))
 
 MOCK_METHOD (blocks::RealIdentificationData, ReadRealIdentificationData,(),(override))
 
 MOCK_METHOD (std::vector< blocks::SlotInfo >, DiscoverSlots,(),(override))
 
 MOCK_METHOD ((std::pair< blocks::PDRealData, blocks::RealIdentificationData >), DiscoverTopology,(),(override))
 
 MOCK_METHOD ((std::map< std::uint16_t, IndexProbeResult >), EnumerateIndices,(std::uint16_t slot, std::uint16_t subslot, std::optional< std::vector< std::uint16_t > > customIndices),(override))
 
 MOCK_METHOD (Bytes, PrmBegin,(),(override))
 
 MOCK_METHOD (Bytes, PrmEnd,(),(override))
 
 MOCK_METHOD (Bytes, ReadyForRtClass3,(),(override))
 
 MOCK_METHOD (Bytes, ApplicationReady,(double timeoutSec),(override))
 
 MOCK_METHOD (const dcp::DCPDeviceDescription &, Info,(),(const, override))
 
 MOCK_METHOD (std::uint16_t, LocalAlarmRef,(),(const, override))
 
 MOCK_METHOD (int, DeviceAlarmRef,(),(const, override))
 
 MOCK_METHOD (bool, HasAlarmCr,(),(const, override))
 
 MOCK_METHOD (std::vector< EPMEndpoint >, EpmLookup,(const std::string &, std::uint16_t, double timeoutSec, std::optional< std::string >),(override))
 
- Public Member Functions inherited from profinet::rpc::IRPCCon
virtual ~IRPCCon ()=default
 Virtual destructor.
 
virtual std::optional< ConnectResult > Connect (std::optional< MacAddress > srcMac=std::nullopt, bool withAlarmCr=false, std::optional< IOCRSetup > iocrSetup=std::nullopt)=0
 Establishes an Application Relationship with the IO-Device.
 
virtual void Disconnect ()=0
 Disconnects the Application Relationship.
 
virtual void Close () noexcept=0
 Disconnects and closes the underlying RPC sockets.
 
virtual bool IsConnected () const =0
 Indicates whether the Application Relationship is established.
 
virtual PNIODHeader Read (std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx)=0
 Reads a PROFINET data record through the established AR.
 
virtual PNIODHeader ReadImplicit (std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx)=0
 Reads a PROFINET data record without an established AR.
 
virtual void Write (std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx, const Bytes &data)=0
 Writes a PROFINET data record through the established AR.
 
virtual std::vector< blocks::WriteMultipleResult > WriteMultiple (const std::vector< WriteItem > &writes)=0
 Writes multiple PROFINET records in one operation.
 
virtual PNInM0 ReadIm0 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M0 identification data.
 
virtual PNInM1 ReadIm1 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M1 tag function and location data.
 
virtual PNInM2 ReadIm2 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M2 installation date data.
 
virtual PNInM3 ReadIm3 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M3 free-text descriptor data.
 
virtual PNInM4 ReadIm4 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M4 PROFIsafe signature data.
 
virtual PNInM5 ReadIm5 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M5 free-text annotation data.
 
virtual PNInM6 ReadIm6 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M6 data.
 
virtual PNInM7 ReadIm7 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M7 data.
 
virtual PNInM8 ReadIm8 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M8 data.
 
virtual PNInM9 ReadIm9 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M9 data.
 
virtual PNInM10 ReadIm10 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M10 data.
 
virtual PNInM11 ReadIm11 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M11 data.
 
virtual PNInM12 ReadIm12 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M12 data.
 
virtual PNInM13 ReadIm13 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M13 data.
 
virtual PNInM14 ReadIm14 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M14 data.
 
virtual PNInM15 ReadIm15 (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads I&M15 data.
 
virtual AllIM ReadAllIm (std::uint16_t slot=0, std::uint16_t subslot=1)=0
 Reads all supported I&M records.
 
virtual blocks::ModuleDiffBlock ReadModuleDiff ()=0
 Reads the ModuleDiffBlock.
 
virtual diagnosis::DiagnosisData ReadDiagnosis (std::uint16_t slot=0, std::uint16_t subslot=0, std::uint16_t index=0xF000)=0
 Reads diagnosis information.
 
virtual std::map< std::uint16_t, diagnosis::DiagnosisData > ReadAllDiagnosis ()=0
 Reads diagnosis information for all standard indices.
 
virtual blocks::PDRealData ReadPdRealData ()=0
 Reads physical-device topology information.
 
virtual blocks::RealIdentificationData ReadRealIdentificationData ()=0
 Reads logical slot and subslot information.
 
virtual std::vector< blocks::SlotInfo > DiscoverSlots ()=0
 Discovers the populated device slots.
 
virtual std::pair< blocks::PDRealData, blocks::RealIdentificationData > DiscoverTopology ()=0
 Reads physical and logical topology information.
 
virtual std::map< std::uint16_t, IndexProbeResult > EnumerateIndices (std::uint16_t slot=0, std::uint16_t subslot=1, std::optional< std::vector< std::uint16_t > > customIndices=std::nullopt)=0
 Enumerates readable PROFINET record indices.
 
virtual Bytes PrmBegin ()=0
 Sends the PrmBegin control operation.
 
virtual Bytes PrmEnd ()=0
 Sends the PrmEnd control operation.
 
virtual Bytes ReadyForRtClass3 ()=0
 Sends the ReadyForRTClass3 control operation.
 
virtual Bytes ApplicationReady (double timeoutSec=30.0)=0
 Waits for and confirms the ApplicationReady request.
 
virtual const dcp::DCPDeviceDescription & Info () const =0
 Returns the device's DCP description.
 
virtual std::uint16_t LocalAlarmRef () const =0
 Returns the controller's local alarm reference.
 
virtual int DeviceAlarmRef () const =0
 Returns the device's alarm reference.
 
virtual bool HasAlarmCr () const =0
 Indicates whether an AlarmCR was established.
 
virtual std::vector< EPMEndpoint > EpmLookup (const std::string &ip, std::uint16_t port=RPC_PORT, double timeoutSec=DEFAULT_TIMEOUT, std::optional< std::string > interfaceFilter=std::nullopt)=0
 Query a device's Endpoint Mapper for available RPC endpoints.
 

Detailed Description

Google Mock implementation of the IRPCCon RPC connection interface.

Provides mock implementations of all pure virtual operations defined by IRPCCon. Tests can use Google Mock expectations to control RPC behaviour and verify interactions between higher-level components and the RPC layer.

The mock does not establish network connections or communicate with a physical PROFINET device. Instead, each operation can be configured by the test to return a controlled value or throw a controlled exception.

Definition at line 34 of file mockRPCCon.h.

Constructor & Destructor Documentation

◆ MockRPCCon()

profinet::rpc::MockRPCCon::MockRPCCon ( )
default

Constructs a mock RPC connection.

◆ ~MockRPCCon()

profinet::rpc::MockRPCCon::~MockRPCCon ( )
overridedefault

Destroys the mock RPC connection.

Member Function Documentation

◆ MOCK_METHOD() [1/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( (std::map< std::uint16_t, diagnosis::DiagnosisData >)  ,
ReadAllDiagnosis  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [2/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( (std::map< std::uint16_t, IndexProbeResult >)  ,
EnumerateIndices  ,
(std::uint16_t slot, std::uint16_t subslot, std::optional< std::vector< std::uint16_t > > customIndices)  ,
(override)   
)

◆ MOCK_METHOD() [3/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( (std::pair< blocks::PDRealData, blocks::RealIdentificationData >)  ,
DiscoverTopology  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [4/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( AllIM  ,
ReadAllIm  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [5/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( blocks::ModuleDiffBlock  ,
ReadModuleDiff  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [6/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( blocks::PDRealData  ,
ReadPdRealData  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [7/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( blocks::RealIdentificationData  ,
ReadRealIdentificationData  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [8/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( bool  ,
HasAlarmCr  ,
()  ,
(const, override)   
)

◆ MOCK_METHOD() [9/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( bool  ,
IsConnected  ,
()  ,
(const, override)   
)

◆ MOCK_METHOD() [10/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( Bytes  ,
ApplicationReady  ,
(double timeoutSec)  ,
(override)   
)

◆ MOCK_METHOD() [11/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( Bytes  ,
PrmBegin  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [12/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( Bytes  ,
PrmEnd  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [13/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( Bytes  ,
ReadyForRtClass3  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [14/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( const dcp::DCPDeviceDescription &  ,
Info  ,
()  ,
(const, override)   
)

◆ MOCK_METHOD() [15/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( diagnosis::DiagnosisData  ,
ReadDiagnosis  ,
(std::uint16_t slot, std::uint16_t subslot, std::uint16_t index)  ,
(override)   
)

◆ MOCK_METHOD() [16/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( int  ,
DeviceAlarmRef  ,
()  ,
(const, override)   
)

◆ MOCK_METHOD() [17/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM0  ,
ReadIm0  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [18/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM1  ,
ReadIm1  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [19/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM10  ,
ReadIm10  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [20/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM11  ,
ReadIm11  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [21/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM12  ,
ReadIm12  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [22/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM13  ,
ReadIm13  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [23/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM14  ,
ReadIm14  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [24/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM15  ,
ReadIm15  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [25/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM2  ,
ReadIm2  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [26/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM3  ,
ReadIm3  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [27/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM4  ,
ReadIm4  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [28/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM5  ,
ReadIm5  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [29/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM6  ,
ReadIm6  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [30/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM7  ,
ReadIm7  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [31/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM8  ,
ReadIm8  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [32/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNInM9  ,
ReadIm9  ,
(std::uint16_t slot, std::uint16_t subslot)  ,
(override)   
)

◆ MOCK_METHOD() [33/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNIODHeader  ,
Read  ,
(std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx)  ,
(override)   
)

◆ MOCK_METHOD() [34/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( PNIODHeader  ,
ReadImplicit  ,
(std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx)  ,
(override)   
)

◆ MOCK_METHOD() [35/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( std::optional< ConnectResult >  ,
Connect  ,
(std::optional< MacAddress > srcMac, bool withAlarmCr, std::optional< IOCRSetup > iocrSetup)  ,
(override)   
)

◆ MOCK_METHOD() [36/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( std::uint16_t  ,
LocalAlarmRef  ,
()  ,
(const, override)   
)

◆ MOCK_METHOD() [37/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( std::vector< blocks::SlotInfo >  ,
DiscoverSlots  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [38/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( std::vector< blocks::WriteMultipleResult >  ,
WriteMultiple  ,
(const std::vector< WriteItem > &writes)  ,
(override)   
)

◆ MOCK_METHOD() [39/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( std::vector< EPMEndpoint >  ,
EpmLookup  ,
(const std::string &, std::uint16_t, double timeoutSec, std::optional< std::string >)  ,
(override)   
)

◆ MOCK_METHOD() [40/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( void  ,
Close  ,
()  ,
(noexcept, override)   
)

◆ MOCK_METHOD() [41/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( void  ,
Disconnect  ,
()  ,
(override)   
)

◆ MOCK_METHOD() [42/42]

profinet::rpc::MockRPCCon::MOCK_METHOD ( void  ,
Write  ,
(std::uint32_t api, std::uint16_t slot, std::uint16_t subslot, std::uint16_t idx, const Bytes &data)  ,
(override)   
)

The documentation for this class was generated from the following file: