8 #include "Arp/System/Core/TypeName.hxx" 9 #include "Arp/System/Commons/Exceptions/InvalidCastException.hpp" 10 #include "Arp/System/Acf/IComponent.hpp" 11 namespace Arp {
namespace System {
namespace Rsc {
namespace Services
38 T& GetComponent(
void);
53 : component(componentArg)
60 if (!IsInstanceOfType<T>(this->component))
65 return dynamic_cast<T&
>(this->component);
70 return this->component;
virtual String GetFullName(void) const =0
Gets the full qualified name of this component
This (meta programming) class provides the C++ typename of the as template argument passed type...
Definition: TypeName.hxx:55
This is the most important basic interface of the Arp platform. Any component shall implement this in...
Definition: IComponent.hpp:77
This exception is used when an invalid cast occurs.
Definition: InvalidCastException.hpp:14
RscComponentServiceImplBase(IComponent &component)
Constructs an RscComponentServiceImplBase instance.
Definition: RscComponentServiceImplBase.hpp:52
Root namespace for the PLCnext API
Base class for Rsc component service implementations. Contains reference to associated component...
Definition: RscComponentServiceImplBase.hpp:20
System components used by the System, Device, Plc or Io domains.
T & GetComponent(void)
Gets a reference to the associated service. Throws if T doesn't match type of component.
Definition: RscComponentServiceImplBase.hpp:58
This is the namespace of the Application Component Framework.
Definition: ComponentBase.hpp:12
Namespace for basic functions of the framework
Definition: Console.hpp:14