8#include "Arp/Base/Core/CommonTypeName.hxx"
9#include "Arp/Base/Commons/Exceptions/InvalidCastException.hpp"
10#include "Arp/Base/Acf/Commons/IComponent.hpp"
12namespace Arp::Base::Rsc::Commons::Services
31 T& GetComponent(
void);
51 if (!IsInstanceOfType<T>(this->component))
53 throw InvalidCastException(
"RSC service component '{0}' does not implement required interface '{1}'.",
58 return dynamic_cast<T&
>(this->component);
This is the most important basic interface of the Arp platform. Any component shall implement this in...
Definition: IComponent.hpp:79
virtual String GetFullName(void) const =0
Gets the full qualified name of this component
This exception is thrown when an invalid cast occurs.
Definition: InvalidCastException.hpp:17
String GetFullName(void) const
Gets the full type-name of this instance.
Definition: TypeNameBase.cpp:101
This (meta programming) class provides the C++ type-name of the as template argument passed type.
Definition: TypeName.hxx:20
Base class for RSC component services. Holds a reference to the associated component.
Definition: RscComponentServiceImplBase.hpp:25
T & GetComponent(void)
Gets a reference to the associated component.
Definition: RscComponentServiceImplBase.hpp:46