8#include "Arp/System/Rsc/Services/Rsc.h"
9#include "Arp/System/Rsc/Services/IRscServiceStub.hpp"
10#include "Arp/System/Rsc/Services/RscServerContext.hpp"
12namespace Arp {
namespace System {
namespace Rsc {
namespace Services
19template<
class TServiceImpl>
20class RscServiceStubBase :
public IRscServiceStub
23 using ServiceImpl = TServiceImpl;
24 using Base = RscServiceStubBase<TServiceImpl>;
28 RscServiceStubBase(ServiceImpl* pServiceImpl);
30 virtual ~RscServiceStubBase(
void);
33 virtual void Invoke(
int methodHandle, RscServerContext& context) = 0;
36 RscServiceStubBase(
const RscServiceStubBase& arg) =
delete;
37 RscServiceStubBase& operator=(
const RscServiceStubBase& arg) =
delete;
40 ServiceImpl* pServiceImpl;
45template<
class TServiceImpl>
46inline RscServiceStubBase<TServiceImpl>::RscServiceStubBase(ServiceImpl* pImpl)
51template<
class TServiceImpl>
52inline RscServiceStubBase<TServiceImpl>::~RscServiceStubBase(
void)
54 if (this->pServiceImpl != NULL)
56 delete this->pServiceImpl;
57 this->pServiceImpl = NULL;
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API