PLCnext API Documentation 25.0.2.69
Public Member Functions | List of all members
Arp::Plc::Domain::Commons::DomainBase Class Reference

This class is used as base class of structures, which shall be adapted by DualDomain to support download-changes operations. More...

#include <DomainBase.hpp>

Inheritance diagram for Arp::Plc::Domain::Commons::DomainBase:
Inheritance graph

Public Member Functions

 DomainBase (const DomainBase &arg)=delete
 
 DomainBase (DomainBase &&arg) noexcept=delete
 
DomainBaseoperator= (const DomainBase &arg)=delete
 
DomainBaseoperator= (DomainBase &&arg) noexcept=delete
 
 ~DomainBase (void)
 The default destructor.
 
 DomainBase (void)
 Default constructor.
 
bool IsBackgroundDomain (void) const
 Determines if this instance is the background domain. More...
 
bool IsForegroundDomain (void) const
 Determines if this instance is the foreground domain. More...
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value T & GetForegroundDomain (void)
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value const T & GetForegroundDomain (void) const
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value T & GetBackgroundDomain (void)
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value const T & GetBackgroundDomain (void) const
 
Impl & GetImpl (void)
 For internal use only.
 
const Impl & GetImpl (void) const
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value T & GetForegroundDomain ()
 Gets the instance from the foreground domain. More...
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value const T & GetForegroundDomain () const
 Gets the instance from the foreground domain. More...
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value T & GetBackgroundDomain ()
 Gets the instance from the background domain. More...
 
template<class T >
requires std::is_base_of<DomainBase, T>
::value const T & GetBackgroundDomain () const
 Gets the instance from the background domain. More...
 

Detailed Description

This class is used as base class of structures, which shall be adapted by DualDomain to support download-changes operations.

The specialized domain class should contain all PLC project related data of a single PLC component and shall derive from this class. Use the DualDomain to double the data of the specialized domain for supporting the download-changes feature.

The specialized domain class might be easily adapted by the template class DualDomain<T> through assigning it as template parameter T.

In the constructor of the drived class all member functions of this class may not be called. There is a hidden setup step by DualDomain<T> that is executed after the constructor of the derived type. Calling any of this class' member functions in the derived class' constructor will result in an exception.

The objects of this class are inteded to be referred to by other objects. Therefore, copying and moving is not possible.

Member Function Documentation

◆ GetBackgroundDomain() [1/2]

template<class T >
requires std::is_base_of<DomainBase, T>
::value T & Arp::Plc::Domain::Commons::DomainBase::GetBackgroundDomain ( void  )
inline

Gets the instance from the background domain.

Returns
Instance from the background domain

◆ GetBackgroundDomain() [2/2]

template<class T >
requires std::is_base_of<DomainBase, T>
::value const T & Arp::Plc::Domain::Commons::DomainBase::GetBackgroundDomain ( void  ) const
inline

Gets the instance from the background domain.

Returns
Instance from the background domain

◆ GetForegroundDomain() [1/2]

template<class T >
requires std::is_base_of<DomainBase, T>
::value T & Arp::Plc::Domain::Commons::DomainBase::GetForegroundDomain ( void  )
inline

Gets the instance from the foreground domain.

Returns
Instance from the foreground domain

◆ GetForegroundDomain() [2/2]

template<class T >
requires std::is_base_of<DomainBase, T>
::value const T & Arp::Plc::Domain::Commons::DomainBase::GetForegroundDomain ( void  ) const
inline

Gets the instance from the foreground domain.

Returns
Instance from the foreground domain

◆ IsBackgroundDomain()

bool Arp::Plc::Domain::Commons::DomainBase::IsBackgroundDomain ( void  ) const

Determines if this instance is the background domain.

Returns
true if this instance is the background domain, otherwise false.

◆ IsForegroundDomain()

bool Arp::Plc::Domain::Commons::DomainBase::IsForegroundDomain ( void  ) const

Determines if this instance is the foreground domain.

Returns
true if this instance is the foreground domain, otherwise false.

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