PLCnext API Documentation  21.0.0.35466
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  typedef std::shared_ptr<IForceService> Ptr;
33 
34 public: // construction/destruction
36  IForceService(void);
38  virtual ~IForceService(void);
39 
40 public: // static policy operation
41  static IRscServiceProxyFactory& GetProxyFactory(void);
42 
43 public: // abstract operations
60  virtual DataAccessError AddVariable(const ForceItem& item) = 0;
61 
68  virtual void RemoveVariable(const RscString<512>& variableName) = 0;
69 
76  virtual std::vector<ForceItem> GetVariables() = 0;
77 
85  virtual void Reset() = 0;
86 
98  virtual boolean IsForcable(const RscString<512>& variableName) = 0;
99 
105  virtual boolean IsActive() = 0;
106 
107 private: // deleted methods (for non-copyable classes)
108  IForceService(const IForceService& arg) = delete;
109  IForceService& operator=(const IForceService& arg) = delete;
110 };
111 
113 // inline methods of class IForceService
115 {
116 }
117 
119 {
120 }
121 
122 inline IRscServiceProxyFactory& IForceService::GetProxyFactory()
123 {
124  return ForceServiceProxyFactory::GetInstance();
125 }
126 
127 }}}} // end of namespace Arp::Plc::Gds::Services
IForceService(void)
Constructs an IForceService instance.
Definition: IForceService.hpp:114
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
virtual ~IForceService(void)
Destructs this instance and frees all resouces.
Definition: IForceService.hpp:118
Service for managing and controlling force variables by the Arp GDS.
Definition: IForceService.hpp:29
A force item structure.
Definition: ForceItem.hpp:25
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