PLCnext API Documentation 26.6.0.38
Classes | Enumerations | Functions
Arp::Services::AppManager::Services Namespace Reference

Namespace for services of the AppManager More...

Classes

class  AdditionalAppInfo
 This structure describes additional information in Arp.Services.AppManager.Services.AppInfo More...
 
class  AppInfo
 This structure is used for PLCnext application information indication. More...
 
class  AppManagerServiceError
 This struct is used for error codes of the IAppManagerService More...
 
class  IAppManagerService
 This services represents the RSC-Interface for the AppManager service component More...
 

Enumerations

enum class  AdditionalAppInfoType : int32 {
  None = 0 , InfoText = 1 , ExternalLink = 2 , LocalLink = 3 ,
  PortLink = 4
}
 This enum describes the type of an !:AdditonalAppInfo entry More...
 
enum class  AppLicenseType : int32 { None = 0 , Free = 1 , Limited = 2 , Full = 3 }
 This enum is used for PLCnext application license type indication More...
 
enum class  AppManagerErrorCode : int32 {
  None = 0 , Unknown = 1 , FileNotFound = 2 , AppNotInstalled = 3 ,
  AppAlreadyInstalled = 4 , AppAlreadyStarted = 5 , AppNotStarted = 6 , AppMountError = 7 ,
  AppInfoFileError = 8 , SettingsError = 9 , AppInfoFileNotFound = 10 , IoError = 11 ,
  EngineerAppStarted = 12 , KeyNotFound = 13 , TargetIncompatible = 14 , FirmwareIncompatible = 15 ,
  WrongIdentifier = 16 , InvalidIdentifierFormat = 17 , AppPartActive = 18 , AppPartNotActive = 19 ,
  MultiPartDefinition = 20 , AppConfigError = 21 , InstallationModeActive = 22 , InstallationModeInactive = 23 ,
  RestartScheduled = 24 , DuplicatedEntry = 25 , InconsistentConfig = 26 , UndefinedPlcnextService = 27 ,
  ServiceSubscribingError = 28 , UndefinedAppLicenseType = 29 , InvalidAppLicense = 30 , AppVersionParseError = 31 ,
  AppVersionIncompatible = 32 , AppUpdateError = 33 , PlcStartStopError = 34 , DiscontinuedAppPart = 35 ,
  AppManagerBusy = 36 , OciContainerPartError = 37 , InvalidAppSignature = 38 , InvalidConfigError = 39 ,
  WebConfigError = 40
}
 This enum defines error codes used by the App Manager. More...
 
enum class  AppManagerStatus : uint32 {
  None = 0 , Ready = 1 , InstallingApp = 2 , UninstallingApp = 3 ,
  StartingApp = 4 , StoppingApp = 5 , Initializing = 6 , VerifyingAppSignature = 7 ,
  InstallationModeEnabled = 64 , RestartRequired = 128 , InstallError = 256 , StateMask = 63 ,
  FlagsMask = 4294967232
}
 Bit field that indicates the App Manager state and related flags. More...
 
enum class  AppStatus : uint32 {
  None = 0 , Installed = 1 , Starting = 2 , Started = 3 ,
  Stopping = 4 , Stopped = 5 , Uninstalling = 6 , RestartRequired = 64 ,
  StartError = 128 , StopError = 256 , StateMask = 63 , FlagsMask = 4294967232
}
 Bit field that indicates the status of a PLCnext application and related flags. More...
 

Functions

ARP_EXPORT std::ostream & operator<< (std::ostream &os, AdditionalAppInfoType value)
 
ARP_EXPORT std::istream & operator>> (std::istream &is, AdditionalAppInfoType &value)
 
ARP_EXPORT std::ostream & operator<< (std::ostream &os, AppLicenseType value)
 
ARP_EXPORT std::istream & operator>> (std::istream &is, AppLicenseType &value)
 
ARP_EXPORT std::ostream & operator<< (std::ostream &os, AppManagerErrorCode value)
 
ARP_EXPORT std::istream & operator>> (std::istream &is, AppManagerErrorCode &value)
 
ARP_EXPORT std::ostream & operator<< (std::ostream &os, AppManagerStatus value)
 
ARP_EXPORT std::istream & operator>> (std::istream &is, AppManagerStatus &value)
 
constexpr AppManagerStatus operator| (AppManagerStatus lhs, AppManagerStatus rhs)
 
constexpr AppManagerStatus operator& (AppManagerStatus lhs, AppManagerStatus rhs)
 
constexpr AppManagerStatusoperator|= (AppManagerStatus &lhs, AppManagerStatus rhs)
 
constexpr AppManagerStatusoperator&= (AppManagerStatus &lhs, AppManagerStatus rhs)
 
constexpr AppManagerStatus operator~ (AppManagerStatus arg)
 
ARP_EXPORT std::ostream & operator<< (std::ostream &os, AppStatus value)
 
ARP_EXPORT std::istream & operator>> (std::istream &is, AppStatus &value)
 
constexpr AppStatus operator| (AppStatus lhs, AppStatus rhs)
 
constexpr AppStatus operator& (AppStatus lhs, AppStatus rhs)
 
constexpr AppStatusoperator|= (AppStatus &lhs, AppStatus rhs)
 
constexpr AppStatusoperator&= (AppStatus &lhs, AppStatus rhs)
 
constexpr AppStatus operator~ (AppStatus arg)
 

Detailed Description

Namespace for services of the AppManager

Enumeration Type Documentation

◆ AdditionalAppInfoType

This enum describes the type of an !:AdditonalAppInfo entry

Enumerator
None 

Not specified.

InfoText 

A text info

This info type represents a short text info limited to 256 characters.

ExternalLink 

A link to an external resource associated with the app

LocalLink 

A link to a resource on the controller

PortLink 

A link to a resource at a specific port of the controller

◆ AppLicenseType

This enum is used for PLCnext application license type indication

Enumerator
None 

Not specified.

Free 

The PLCnext application has no license and is free to use.

Limited 

The PLCnext application has a license but can be used with limitations without a license.

Full 

The PLCnext application requires a license.

◆ AppManagerErrorCode

This enum defines error codes used by the App Manager.

Error reporting model

Arp.Services.AppManager.Services.AppManagerErrorCode values are reported in two different ways:

For asynchronous operations, a successful method return value (Arp.Services.AppManager.Services.AppManagerErrorCode.None) only indicates that the operation was accepted and started. Clients must monitor the execution state and explicitly query extended error information if the operation fails.

Enumerator
None 

No error occurred, operation successful.

Unknown 

An unknown error has occurred. The textual error description or the log may provide more detailed information.

FileNotFound 

A file was not found.

AppNotInstalled 

The referenced PLCnext application is not installed.

AppAlreadyInstalled 

An PLCnext application with the same app identifier is already installed.

AppAlreadyStarted 

The PLCnext application is already started.

AppNotStarted 

The PLCnext application is not started.

AppMountError 

An error occurred while mounting the PLCnext application container.

AppInfoFileError 

The PLCnext application information file could not be read.

SettingsError 

Settings could not be read.

AppInfoFileNotFound 

The PLCnext application information file was not found.

IoError 

An input/output error has occurred.

EngineerAppStarted 

An Engineer application is already started, this must first be stopped.

KeyNotFound 

Key not found. Internal map may not contain the PLCnext application identifier.

TargetIncompatible 

The control unit is incompatible with the PLCnext application.

FirmwareIncompatible 

The firmware version does not match the requirements of the PLCnext application.

WrongIdentifier 

Verification of the PLCnext application identifier failed when installing the application.

InvalidIdentifierFormat 

The identifier format is invalid.

AppPartActive 

Application part is active.

AppPartNotActive 

Application part is not active.

MultiPartDefinition 

Multiple parts are defined.

AppConfigError 

An application configuration error has occurred.

InstallationModeActive 

Installation mode is active.

InstallationModeInactive 

Installation mode is inactive.

RestartScheduled 

A restart is scheduled.

DuplicatedEntry 

There is a duplicated entry.

InconsistentConfig 

Configuration is inconsistent.

UndefinedPlcnextService 

The PLCnext service is undefined.

ServiceSubscribingError 

An error occurred while subscribing to a service.

UndefinedAppLicenseType 

The application license type is undefined.

InvalidAppLicense 

The application license is invalid.

AppVersionParseError 

While parsing the application version.

AppVersionIncompatible 

The application version is incompatible.

AppUpdateError 

An error occurred during the application update.

PlcStartStopError 

tbd

DiscontinuedAppPart 

App part has beem discontinued and is not supported any more

AppManagerBusy 

The AppManager is busy

OciContainerPartError 

An error occurred in the oci container part

InvalidAppSignature 

App has no valid signature

InvalidConfigError 

Configuration has invalid content

WebConfigError 

Indicates an error while processing the web configuration

◆ AppManagerStatus

Bit field that indicates the App Manager state and related flags.

State vs. flags: The lower six bits (Arp.Services.AppManager.Services.AppManagerStatus.StateMask) encode the primary manager state (e.g., Arp.Services.AppManager.Services.AppManagerStatus.Ready, Arp.Services.AppManager.Services.AppManagerStatus.InstallingApp). The remaining bits are flags (Arp.Services.AppManager.Services.AppManagerStatus.FlagsMask), such as Arp.Services.AppManager.Services.AppManagerStatus.InstallationModeEnabled, Arp.Services.AppManager.Services.AppManagerStatus.RestartRequired, and Arp.Services.AppManager.Services.AppManagerStatus.InstallError.

Masking pattern: To read the primary state, apply Arp.Services.AppManager.Services.AppManagerStatus.StateMask to the value. To test a flag, bitwise-and the value with the specific flag and compare against the flag value.

Enumerator
None 

AppManager not initialized yet. No actions possible.

Ready 

The AppManager is set up and ready to use.

InstallingApp 

The AppManager is currently installing a PLCnext application.

UninstallingApp 

The AppManager is currently uninstalling a PLCnext application.

StartingApp 

The AppManager is currently starting a PLCnext application.

StoppingApp 

The AppManager is currently stopping a PLCnext application.

Initializing 

The AppManager is currently initializing its system.

VerifyingAppSignature 

The AppManager is currently verifying app signature.

InstallationModeEnabled 

This bit is set if the installation mode is enabled.

RestartRequired 

This bit is set if at least one App needs a restart to work properly.

InstallError 

Set if an error occurred while installing or uninstalling a PLCnext Technology Application.

StateMask 

Use this mask (0x3F) to extract the primary Arp.Services.AppManager.Services.AppManagerStatus state.

FlagsMask 

Use this entry to unmask the flags portion of this AppManager status.

◆ AppStatus

Bit field that indicates the status of a PLCnext application and related flags.

State vs. flags: The lower six bits (Arp.Services.AppManager.Services.AppStatus.StateMask) encode the primary application state (e.g., Arp.Services.AppManager.Services.AppStatus.Installed, Arp.Services.AppManager.Services.AppStatus.Starting, Arp.Services.AppManager.Services.AppStatus.Started). The remaining bits are flags (Arp.Services.AppManager.Services.AppStatus.FlagsMask) that can be combined with the state, such as Arp.Services.AppManager.Services.AppStatus.RestartRequired, Arp.Services.AppManager.Services.AppStatus.StartError, and Arp.Services.AppManager.Services.AppStatus.StopError.

Masking pattern: To read the primary state, apply Arp.Services.AppManager.Services.AppStatus.StateMask to the value. To test a flag, bitwise-and the value with the specific flag and compare against the flag value.

Enumerator
None 

Not specified.

Installed 

The PLCnext Technology App is installed. This is an initial app status on installation, after successful installation the app status will change to Arp.Services.AppManager.Services.AppStatus.Stopped

Starting 

Indicates that the PLCnext Technology App is currently starting asynchronously.

Started 

The PLCnext application is started.

Stopping 

Indicates that the PLCnext Technology App is currently stopping asynchronously.

Stopped 

The PLCnext application is currently stopped.

Uninstalling 

The PLCnext application is being uninstalled.

RestartRequired 

The PLCnext application has an error.

StartError 

This bit is set if an error has occurred during the last start operation of the PLCnext Technology App.

StopError 

This bit is set if an error has occurred during the last stop operation of the PLCnext Technology App.

StateMask 

Use this mask (0x3F) to extract the primary Arp.Services.AppManager.Services.AppStatus state.

FlagsMask 

Use this mask to extract the flags portion of an Arp.Services.AppManager.Services.AppStatus value.