PLCnext API Documentation 25.0.2.69
IRscServiceStub.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/Services/SerializationContext.hpp"
10
11namespace Arp::Base::Rsc::Commons::Services
12{
13
18class ARP_EXPORT IRscServiceStub
19{
20public: // usings
21 using Ptr = std::shared_ptr<IRscServiceStub>;
22
23public: // construction
25 IRscServiceStub(void) = default;
26
27public: // canonical construction/destruction/assignment
29 IRscServiceStub(const IRscServiceStub& arg) = delete;
32 IRscServiceStub(IRscServiceStub&& arg)noexcept = default;
38 IRscServiceStub& operator=(IRscServiceStub&& arg)noexcept = default;
40 virtual ~IRscServiceStub(void) = default;
41
42public: // abstract operations
45 virtual void Invoke(SerializationContext& context) = 0;
46};
47
48} // end of namespace Arp::Base::Rsc::Commons::Services
Generic interface of service stubs used to invoke services.
Definition: IRscServiceStub.hpp:19
virtual void Invoke(SerializationContext &context)=0
Invokes a service operation polymorphic.
IRscServiceStub & operator=(IRscServiceStub &&arg) noexcept=default
The default move-assignment operator.
IRscServiceStub(const IRscServiceStub &arg)=delete
The deleted copy constructor.
IRscServiceStub(void)=default
The default constructor.
IRscServiceStub(IRscServiceStub &&arg) noexcept=default
The default move constructor.
std::shared_ptr< IRscServiceStub > Ptr
The shared pointer type of this type.
Definition: IRscServiceStub.hpp:21
IRscServiceStub & operator=(const IRscServiceStub &arg)=delete
The deleted assignment operator.
virtual ~IRscServiceStub(void)=default
Destructs this instance and frees all resources.
This class serves as base class for all serialization contexts supported by RSC.
Definition: SerializationContext.hpp:23