8 #include "Arp/System/Acf/ILibrary.hpp"     9 #include "Arp/System/Acf/ComponentCategory.hpp"    13 namespace Arp { 
namespace System { 
namespace Acf
    18 class IControllerComponent; 
    81     typedef std::shared_ptr<IComponent>         
Ptr;
   154     virtual void Dispose(
void) = 0;
 virtual void PublishServices(void)=0
Publishes components services.
 
virtual String GetFullName(void) const =0
Gets the full qualified name of this component
 
std::shared_ptr< IComponent > Ptr
The pointer type of this interface.
Definition: IComponent.hpp:81
 
virtual void ResetConfig(void)=0
Resets components project configuration.
 
Any Acf Library shall implement this interface.
Definition: ILibrary.hpp:21
 
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
 
This is the most important basic interface of the Arp platform. Any component shall implement this in...
Definition: IComponent.hpp:77
 
virtual void Dispose(void)=0
Disposes component.
 
virtual ~IComponent(void)=default
The default destructor.
 
This interface shall be implemented by the application class.
Definition: IApplication.hpp:18
 
virtual void LoadSettings(const String &settingsPath)=0
Loads components firmware settings.
 
This class represents the version of a special SDK or Arp build. 
Definition: BasicVersion.hpp:34
 
virtual void SubscribeServices(void)=0
Subscribes services required by this component.
 
virtual uint32 GetStartOrder(void) const =0
Gets the start order of this component.
 
virtual bool IsSingleton(void) const =0
Determines if this component is a singleton, that is, it's instantiated only once on the entire syste...
 
Root namespace for the PLCnext API
 
std::map< String, IComponent::Ptr > Dictionary
A map of components where the key is the name of the component.
Definition: IComponent.hpp:83
 
virtual Version GetVersion(void) const =0
Gets the version of this component which defaults to the build version of the related library...
 
virtual ILibrary & GetLibrary(void) const =0
Gets the library instance of this component.
 
IComponent(void)=default
The default constructor.
 
ComponentCategory
This enumeration determines the category of a component.
Definition: ComponentCategory.hpp:14
 
virtual void PowerDown(void)=0
This operation is called on a power breakdown event and executes component specific actions when powe...
 
virtual void Initialize(void)=0
Initializes this component: creates singletons, makes any registrations, creates any resources not de...
 
virtual IApplication & GetApplication(void) const =0
Gets the applicatopn instance of the actual process which loaded this component.
 
virtual void SetupConfig(void)=0
Sets up components configuration which was loaded in LoadConfig.
 
virtual bool IsRequired(void) const =0
Determines if this component is required.
 
System components used by the System, Device, Plc or Io domains.
 
virtual void LoadConfig(void)=0
Loads components project configuration.
 
virtual void SetupSettings(void)=0
Sets up components settings which were loaded in LoadSettings.
 
virtual ComponentCategory GetComponentCategory(void) const =0
Gets the ComponentCategory of this component.