8 #include "Arp/System/Acf/ILibrary.hpp"     9 #include "Arp/System/Acf/IComponent.hpp"    10 #include "Arp/System/Rsc/Services/IRscServiceFactory.hpp"    12 namespace Arp { 
namespace System { 
namespace Acf
    38     ILibrary&           GetLibrary(
void)
const final;
    39     String              GetFullName(
void)
const final;
    40     Version             GetVersion(
void)
const final;
    42     uint32              GetStartOrder(
void)
const final;
    43     bool                IsSingleton(
void)
const final;
    44     bool                IsRequired(
void)
const final;
    47     void    Initialize(
void)
override;
    48     void    LoadSettings(
const String& settingsPath)
override;
    49     void    SetupSettings(
void)
override;
    50     void    SubscribeServices(
void)
override;
    51     void    PublishServices(
void)
override;
    52     void    LoadConfig(
void)
override;
    53     void    SetupConfig(
void)
override;
    54     void    ResetConfig(
void)
override;
    55     void    Dispose(
void)
override;
    56     void    PowerDown(
void)
override;
    63     template<
class TService, 
class TServiceFactory>
    64     void    PublishComponentService(
void);
    67     void    PublishComponentService(
const char* serviceName, IRscServiceFactory* pServiceFactory);
    79     bool                isSingleton = 
false;
    80     bool                isRequired = 
false;
    88     return this->application;
    98     return this->fullName;
   103     return this->library.GetBuildVersion();
   108     return this->componentCategory;
   113     return this->startOrder;
   118     return this->isSingleton;
   123     return this->isRequired;
   126 template<
class TService, 
class TServiceFactory>
   129     this->PublishComponentService(TService::GetProxyFactory().GetServiceName(), TServiceFactory::Create(*
this));
 bool IsSingleton(void) const final
Determines if this component is a singleton, that is, it's instantiated only once on the entire syste...
Definition: ComponentBase.hpp:116
 
Any Acf Library shall implement this interface.
Definition: ILibrary.hpp:21
 
Namespace for classes and interfaces for the Remote Service Call implementation
 
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
 
IApplication & GetApplication(void) const final
Gets the applicatopn instance of the actual process which loaded this component.
Definition: ComponentBase.hpp:86
 
void PublishComponentService(void)
Publishes a component service for this component instance.
Definition: ComponentBase.hpp:127
 
Use this class as base class for all Acf components.
Definition: ComponentBase.hpp:22
 
uint32 GetStartOrder(void) const final
Gets the start order of this component.
Definition: ComponentBase.hpp:111
 
This interface shall be implemented by the application class.
Definition: IApplication.hpp:18
 
ILibrary & GetLibrary(void) const final
Gets the library instance of this component.
Definition: ComponentBase.hpp:91
 
This class represents the version of a special SDK or Arp build. 
Definition: BasicVersion.hpp:34
 
Root namespace for the PLCnext API
 
ComponentCategory GetComponentCategory(void) const final
Gets the ComponentCategory of this component.
Definition: ComponentBase.hpp:106
 
ComponentCategory
This enumeration determines the category of a component.
Definition: ComponentCategory.hpp:14
 
bool IsRequired(void) const final
Determines if this component is required.
Definition: ComponentBase.hpp:121
 
String GetFullName(void) const final
Gets the full qualified name of this component
Definition: ComponentBase.hpp:96
 
System components used by the System, Device, Plc or Io domains.
 
Version GetVersion(void) const final
Gets the version of this component which defaults to the build version of the related library...
Definition: ComponentBase.hpp:101