7#include "Arp/System/Rsc/Services/Rsc.h"
8#include "Arp/System/Rsc/Services/IRscServiceStub.hpp"
9#include "Arp/System/Rsc/Services/RscServerContext.hpp"
11namespace Arp {
namespace System {
namespace Rsc {
namespace Services
18template<
class TServiceImpl>
19class RscServiceStubBase :
public IRscServiceStub
22 using ServiceImpl = TServiceImpl;
23 using Base = RscServiceStubBase<TServiceImpl>;
27 RscServiceStubBase(ServiceImpl* pServiceImpl);
29 virtual ~RscServiceStubBase(
void);
32 virtual void Invoke(
int methodHandle, RscServerContext& context) = 0;
35 RscServiceStubBase(
const RscServiceStubBase& arg) =
delete;
36 RscServiceStubBase& operator=(
const RscServiceStubBase& arg) =
delete;
39 ServiceImpl* pServiceImpl;
44template<
class TServiceImpl>
45inline RscServiceStubBase<TServiceImpl>::RscServiceStubBase(ServiceImpl* pImpl)
50template<
class TServiceImpl>
51inline RscServiceStubBase<TServiceImpl>::~RscServiceStubBase(
void)
53 if (this->pServiceImpl != NULL)
55 delete this->pServiceImpl;
56 this->pServiceImpl = NULL;
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API