PLCnext API Documentation 25.0.2.69
RscServiceProxyFactoryBase.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Rsc/Commons/Services/IRscServiceProxyFactory.hpp"
10
11namespace Arp::Base::Rsc::Commons::Services
12{
13
19{
20public: // Impl forward declaration
21 class Impl;
22
23public: // construction
24 explicit RscServiceProxyFactoryBase(const char* serviceName, const char* serviceProviderName = "");
25
26 // canonical construction/destruction/assignment
29 RscServiceProxyFactoryBase& operator=(const RscServiceProxyFactoryBase& arg) = delete;
32
33public: // operations
34 const char* GetServiceName(void)const override;
35 const char* GetServiceProviderName(void)const override;
36
37public: // internal operations
38 Impl& GetImpl(void);
39 const Impl& GetImpl(void)const;
40
41private: // Impl usings
42 using Pimpl = PimplPtr<Impl>;
43
44private: // Impl fields
45 Pimpl pimpl;
46};
47
48} // end of namespace Arp::Base::Rsc::Commons::Services
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
Base class for RSC service proxy factory implementations.
Definition: RscServiceProxyFactoryBase.hpp:19
~RscServiceProxyFactoryBase(void) override
The default destructor.
RscServiceProxyFactoryBase & operator=(RscServiceProxyFactoryBase &&arg) noexcept
The default move-assignment operator.
RscServiceProxyFactoryBase(RscServiceProxyFactoryBase &&arg) noexcept
The default move constructor.