PLCnext API Documentation  21.6.0.46
IForceService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Rsc/Services/IRscService.hpp"
9 #include "ForceServiceProxyFactory.hpp"
10 #include "Arp/System/Rsc/Services/RscString.hxx"
11 #include "DataAccessError.hpp"
12 #include "ForceItem.hpp"
13 #include <vector>
14 
15 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IForceService.cs
16 
17 namespace Arp { namespace Plc { namespace Gds { namespace Services
18 {
19 
20 using namespace Arp;
21 using namespace Arp::System::Rsc::Services;
22 
29 class IForceService : public IRscService
30 {
31 public: // typedefs
32  using Ptr = std::shared_ptr<IForceService>;
33 
34 public: // construction/destruction
36  IForceService(void) = default;
37 
38 public: // static policy operation
39  static IRscServiceProxyFactory& GetProxyFactory(void);
40 
41 public: // abstract operations
58  virtual DataAccessError AddVariable(const ForceItem& item) = 0;
59 
66  virtual void RemoveVariable(const RscString<512>& variableName) = 0;
67 
74  virtual std::vector<ForceItem> GetVariables() = 0;
75 
83  virtual void Reset() = 0;
84 
96  virtual boolean IsForcable(const RscString<512>& variableName) = 0;
97 
103  virtual boolean IsActive() = 0;
104 };
105 
107 // inline methods of class IForceService
108 inline IRscServiceProxyFactory& IForceService::GetProxyFactory()
109 {
110  return ForceServiceProxyFactory::GetInstance();
111 }
112 
113 }}}} // end of namespace Arp::Plc::Gds::Services
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
Service for managing and controlling force variables by the Arp GDS.
Definition: IForceService.hpp:29
DataAccessError
This enumeration contains the possible data access errors.
Definition: DataAccessError.hpp:20
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
A force item structure.
Definition: ForceItem.hpp:25