9#include "Arp/Plc/Gds/Services/DataAccessError.hpp"
10#include "Arp/Plc/Gds/Services/ForceItem.hpp"
11#include "Arp/Plc/Gds/Services/ForceServiceProxyFactory.hpp"
12#include "Arp/System/Rsc/Services/IRscService.hpp"
13#include "Arp/System/Rsc/Services/RscString.hxx"
17namespace Arp {
namespace Plc {
namespace Gds {
namespace Services
36 using Ptr = std::shared_ptr<IForceService>;
43 static IRscServiceProxyFactory& GetProxyFactory(
void);
112inline IRscServiceProxyFactory& IForceService::GetProxyFactory()
114 return ForceServiceProxyFactory::GetInstance();
A force item structure.
Definition: ForceItem.hpp:26
Service for managing and controlling force variables by the Arp GDS.
Definition: IForceService.hpp:34
IForceService(void)=default
Constructs an IForceService instance.
virtual std::vector< ForceItem > GetVariables()=0
Gets a list of all forced variables.
virtual DataAccessError AddVariable(const ForceItem &item)=0
Adds a new variable and value for forcing. Enables force mode.
virtual boolean IsActive()=0
Tests whether force mode is active.
virtual void RemoveVariable(const RscString< 512 > &variableName)=0
Resets forced variable. Disables force mode after force list is empty.
virtual void Reset()=0
Resets the force list. Disables force mode.
virtual boolean IsForcable(const RscString< 512 > &variableName)=0
Tests whether variable is forcable.
Base interface for all Rsc service interface.
Definition: IRscService.hpp:20
DataAccessError
This enumeration contains the possible data access errors.
Definition: DataAccessError.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API