UA Bundle SDK .NET  2.2.3.276
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Groups Pages
UnifiedAutomation.UaBase.ApplicationInstance Class Reference

Represents an instance of a UA application. More...

Classes

class  BuiltInCommands
 The built-in command line parameters. More...
 
class  CommandDescription
 Stores the description of a command. More...
 
class  WindowsService
 Manages the interface between the UA server and the Windows SCM. More...
 

Public Member Functions

MessageContext GetServerMessageContext ()
 Create a new message context for the server. More...
 
StatusCode GetEndpointStatus (EndpointDescription endpoint)
 Gets the endpoint status. More...
 
void SetEndpointStatus (EndpointDescription endpoint, StatusCode status)
 Sets the endpoint status. More...
 
virtual void SetApplicationSettings (UaSchema.SecuredApplication settings)
 Sets the application settings. More...
 
GetConfigurationExtension< T > (bool silent)
 Parses the extension. More...
 
GetConfigurationExtension< T > (bool silent, XmlQualifiedName elementName)
 Parses the extension. More...
 
void SetConfigurationExtension< T > (T extension)
 Updates the extension. More...
 
virtual void ValidateCertificate (ICertificate certificate)
 Verifies the certificate. More...
 
virtual void AddCertificateToTrustList (ICertificate certificate)
 Adds the certificate to trust list. More...
 
void Install ()
 Installs the application. More...
 
void Uninstall ()
 Uninstalls the application. More...
 
void Install (bool silent)
 Installs the application. More...
 
void Uninstall (bool silent)
 Uninstalls the application. More...
 
void Start ()
 Starts the application. More...
 
void Start (WaitCallback callback, object userData)
 Starts the application. More...
 
void Start (ServerBase server, WaitCallback callback, object userData)
 Starts the application. More...
 
void LoadConfiguration (bool silent, bool isServer)
 Loads the configuration. More...
 
void SaveConfiguration (bool silent)
 Saves the configuration. More...
 
virtual void SaveConfiguration (Stream ostrm, bool silent)
 Saves the configuration. More...
 

Protected Member Functions

virtual void ExchangeLdsCertificates ()
 Adds a copy of the application certificate to the trusted store of the local discovery server and adds a copy of the lds certificate to the trusted store of the application. More...
 
virtual void PreInstallProcessing (bool silent, UaSchema.InstallationSettings settings)
 Does any pre-install processing. More...
 
virtual void PostInstallProcessing (bool silent, UaSchema.InstallationSettings settings)
 Does any post-install processing. More...
 
ICertificateStore FindTrustedStoreForLDS ()
 Finds the trusted store for LDS. More...
 
ICertificate FindCertificateForLDS ()
 Finds the certificate for LDS. More...
 
virtual void InstallService (bool silent, UaSchema.InstallationSettings settings)
 Installs the service. More...
 
virtual List< AccessRuleGetAccessRules (UaSchema.InstallationSettings settings)
 Gets the access rules. More...
 
virtual void SetFilePermissions (bool silent, UaSchema.InstallationSettings settings)
 Sets the file permissions. More...
 
virtual void OpenFirewallPorts (UaSchema.InstallationSettings settings)
 Opens the firewall ports. Called during the /install command. More...
 
virtual void CloseFirewallPorts (UaSchema.InstallationSettings settings)
 Closes the firewall ports. Called during the /uninstall command. More...
 
virtual void CreateHttpsBindings (UaSchema.InstallationSettings settings)
 Creates the HTTPS bindings. Called during the /install command. More...
 
virtual void DeleteHttpsBindings (UaSchema.InstallationSettings settings)
 Deletes the HTTPS bindings. Called during the /uninstall command. More...
 
virtual void RemoveCertificateFromLds ()
 Removes the application certificate from the trusted store of the local discovery server. More...
 
virtual void PreUninstallProcessing (bool silent, UaSchema.InstallationSettings settings)
 Does any pre-uninstall processing. More...
 
virtual void PostUninstallProcessing (bool silent, UaSchema.InstallationSettings settings)
 Does any post-uninstall processing. More...
 
virtual void UninstallService (bool silent, UaSchema.InstallationSettings settings)
 Uninstalls the service. More...
 
virtual string ValidateArguments (bool ignoreUnknownArguments, Dictionary< string, string > args)
 Validates the arguments. More...
 
virtual CommandDescription[] GetCommandDescriptions ()
 Gets the descriptions for the supported command line arguments. More...
 
virtual string GetHelpString (CommandDescription[] commands)
 Gets the help string for the command line parameters. More...
 
virtual bool ProcessCommand (bool silent, Dictionary< string, string > args)
 Processes the command. More...
 
virtual bool CheckConfiguration (bool silent)
 Checks the configuration. More...
 
EndpointDescription GetEndpointDescription (string endpointUri, string securityProfileUri, MessageSecurityMode securityMode, bool supportXmlEncoding, ApplicationDescription application)
 Gets the endpoint description. More...
 
void ApplyTraceSettings ()
 Applies the trace settings found in the ApplicationSettings. More...
 
virtual void LoadConfigurationAsDefault (bool isServer)
 Creates the default application settings. More...
 
void LoadConfiguration (Stream istrm, bool silent)
 Loads the configuration. More...
 

Properties

static ApplicationInstance Default [get]
 Gets the default ApplicationInstance for the process. More...
 
string ApplicationName [get, set]
 Gets or sets the name of the application. More...
 
string ApplicationUri [get, set]
 Gets or sets the application URI. More...
 
ApplicationType ApplicationType [get, set]
 Gets or sets the type of the application. More...
 
string ProductUri [get, set]
 Gets or sets the product URI. More...
 
string ProductVersion [get, set]
 Gets or sets the product version. More...
 
ICertificate ApplicationCertificate [get, set]
 Gets or sets the application certificate. More...
 
ICertificateStore TrustedStore [get, set]
 Gets or sets the trusted store. More...
 
ICertificateStore IssuerStore [get, set]
 Gets or sets the issuer store. More...
 
ICertificateStore RejectedStore [get, set]
 Gets or sets the rejected store. More...
 
EncodeableFactory KnownTypeFactory [get, set]
 Gets or sets the known type factory. More...
 
EndpointConfiguration DefaultEndpointConfiguration [get, set]
 Gets or sets the default endpoint configuration. More...
 
CertificateValidator CertificateValidator [get, set]
 Gets or sets the certificate validator. More...
 
IList< EndpointDescriptionEndpoints [get, set]
 Gets or sets the endpoints. More...
 
bool IsStarted [get, set]
 Gets a value indicating whether this instance is started. More...
 
bool AutoCreateCertificate [get, set]
 Gets or sets a value indicating whether the certificate should be automatically created. More...
 
bool NoAutoStartService [get, set]
 Gets or sets a value indicating whether a Windows service should be automatically started if the EXE was started by a non-interactive user. More...
 
bool DisableCommandLineProcessing [get, set]
 Gets or sets a value indicating whether that the SDK should NOT attempt to interpret the command line when it is initialize. More...
 
string ConfigurationFilePath [get, set]
 Gets or sets the configuration file path. More...
 
string EmbeddedConfigurationAssemblyName [get, set]
 Gets or sets the name of the assembly which has the embedded resource containing the default configuration file. More...
 
UaSchema.SecuredApplication ApplicationSettings [get, set]
 Gets the application settings. More...
 
static
UntrustedCertificateEventHandler 
UntrustedHttpsCertificate
 Occurs when an untrusted certificate is encountered. More...
 
Dictionary< string, string > CommandLine [get, set]
 Gets the command line parameters passed to the process. More...
 

Events

CreateCertificateEventHandler MissingApplicationCertificate
 Occurs when the application certificate is missing. More...
 
CreateHttpsCertificateEventHandler MissingHttpsCertificate
 Occurs when the HTTPS certificate is missing. More...
 
UntrustedCertificateEventHandler UntrustedCertificate
 Occurs when an untrusted certificate is encountered. More...
 
EventHandler ConfigurationChanged
 Occurs if the configuration has changed and needs to be persisted. More...
 

Detailed Description

Represents an instance of a UA application.

Member Function Documentation

virtual void UnifiedAutomation.UaBase.ApplicationInstance.AddCertificateToTrustList ( ICertificate  certificate)
inlinevirtual

Adds the certificate to trust list.

Parameters
certificateThe certificate.
void UnifiedAutomation.UaBase.ApplicationInstance.ApplyTraceSettings ( )
inlineprotected

Applies the trace settings found in the ApplicationSettings.

virtual bool UnifiedAutomation.UaBase.ApplicationInstance.CheckConfiguration ( bool  silent)
inlineprotectedvirtual

Checks the configuration.

Parameters
silentif set to true then no exceptions will be thrown.
Returns
True if no errors occured or if they could be automatically corrected.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.CloseFirewallPorts ( UaSchema.InstallationSettings  settings)
inlineprotectedvirtual

Closes the firewall ports. Called during the /uninstall command.

All ports used by the application are closed even if they were already open at install time. Developers can override the method if they need something different.

virtual void UnifiedAutomation.UaBase.ApplicationInstance.CreateHttpsBindings ( UaSchema.InstallationSettings  settings)
inlineprotectedvirtual

Creates the HTTPS bindings. Called during the /install command.

All HTTPS addresses are bound to all IP address using the HTTPS certificate in the InstallationSettings. Developers can override the method if they need something different.

virtual void UnifiedAutomation.UaBase.ApplicationInstance.DeleteHttpsBindings ( UaSchema.InstallationSettings  settings)
inlineprotectedvirtual

Deletes the HTTPS bindings. Called during the /uninstall command.

All HTTPS addresses are unbound from all IP addresses. Developers can override the method if they need something different.

virtual void UnifiedAutomation.UaBase.ApplicationInstance.ExchangeLdsCertificates ( )
inlineprotectedvirtual

Adds a copy of the application certificate to the trusted store of the local discovery server and adds a copy of the lds certificate to the trusted store of the application.

ICertificate UnifiedAutomation.UaBase.ApplicationInstance.FindCertificateForLDS ( )
inlineprotected

Finds the certificate for LDS.

Returns
ICertificateStore UnifiedAutomation.UaBase.ApplicationInstance.FindTrustedStoreForLDS ( )
inlineprotected

Finds the trusted store for LDS.

Returns
virtual List<AccessRule> UnifiedAutomation.UaBase.ApplicationInstance.GetAccessRules ( UaSchema.InstallationSettings  settings)
inlineprotectedvirtual

Gets the access rules.

Parameters
settingsThe settings.
Returns
The access rules to use when setting file permissions.
virtual CommandDescription [] UnifiedAutomation.UaBase.ApplicationInstance.GetCommandDescriptions ( )
inlineprotectedvirtual

Gets the descriptions for the supported command line arguments.

Returns
A list of descriptions for the supported command line arguments.
T UnifiedAutomation.UaBase.ApplicationInstance.GetConfigurationExtension< T > ( bool  silent)
inline

Parses the extension.

Template Parameters
T
Parameters
silentif set to true then errors are suppressed.
Returns
The settings. Returns null if a suppressed error occurred or if the extension does not exist.
Type Constraints
T :class 
T UnifiedAutomation.UaBase.ApplicationInstance.GetConfigurationExtension< T > ( bool  silent,
XmlQualifiedName  elementName 
)
inline

Parses the extension.

Template Parameters
T
Parameters
silentif set to true then errors are suppressed.
elementNameName of the element.
Returns
The settings. Returns null if a suppressed error occurred or if the extension does not exist.
Type Constraints
T :class 
EndpointDescription UnifiedAutomation.UaBase.ApplicationInstance.GetEndpointDescription ( string  endpointUri,
string  securityProfileUri,
MessageSecurityMode  securityMode,
bool  supportXmlEncoding,
ApplicationDescription  application 
)
inlineprotected

Gets the endpoint description.

Parameters
endpointUriThe endpoint URI.
securityProfileUriThe security profile URI.
securityModeThe security mode.
supportXmlEncodingif set to true the endpoint supports the XML encoding.
applicationThe application.
Returns
The endpoint description.
StatusCode UnifiedAutomation.UaBase.ApplicationInstance.GetEndpointStatus ( EndpointDescription  endpoint)
inline

Gets the endpoint status.

Parameters
endpointThe endpoint.
Returns
virtual string UnifiedAutomation.UaBase.ApplicationInstance.GetHelpString ( CommandDescription[]  commands)
inlineprotectedvirtual

Gets the help string for the command line parameters.

Parameters
commandsThe descriptions for the supported arguments.
Returns
Formatted help text that can be displayed in a console.
MessageContext UnifiedAutomation.UaBase.ApplicationInstance.GetServerMessageContext ( )
inline

Create a new message context for the server.

Returns
The message context.
void UnifiedAutomation.UaBase.ApplicationInstance.Install ( )
inline

Installs the application.

void UnifiedAutomation.UaBase.ApplicationInstance.Install ( bool  silent)
inline

Installs the application.

virtual void UnifiedAutomation.UaBase.ApplicationInstance.InstallService ( bool  silent,
UaSchema.InstallationSettings  settings 
)
inlineprotectedvirtual

Installs the service.

Parameters
silentDo not throw exceptions if TRUE.
settingsThe settings.
void UnifiedAutomation.UaBase.ApplicationInstance.LoadConfiguration ( bool  silent,
bool  isServer 
)
inline

Loads the configuration.

Parameters
silentif set to true then no exceptions will be thrown.
isServerif set to true the application is a server.
void UnifiedAutomation.UaBase.ApplicationInstance.LoadConfiguration ( Stream  istrm,
bool  silent 
)
inlineprotected

Loads the configuration.

Parameters
istrmThe stream to read.
silentIf set to true then no exceptions will be thrown.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.LoadConfigurationAsDefault ( bool  isServer)
inlineprotectedvirtual

Creates the default application settings.

Parameters
isServerif set to true the application is a server.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.OpenFirewallPorts ( UaSchema.InstallationSettings  settings)
inlineprotectedvirtual

Opens the firewall ports. Called during the /install command.

By default ports are openedin the 'Public' profile for each port used by the base address. Developers can override the method if they need something different.

virtual void UnifiedAutomation.UaBase.ApplicationInstance.PostInstallProcessing ( bool  silent,
UaSchema.InstallationSettings  settings 
)
inlineprotectedvirtual

Does any post-install processing.

Parameters
silentDo not throw exceptions if TRUE.
settingsThe settings.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.PostUninstallProcessing ( bool  silent,
UaSchema.InstallationSettings  settings 
)
inlineprotectedvirtual

Does any post-uninstall processing.

Parameters
silentDo not throw exceptions if TRUE.
settingsThe settings.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.PreInstallProcessing ( bool  silent,
UaSchema.InstallationSettings  settings 
)
inlineprotectedvirtual

Does any pre-install processing.

Parameters
silentDo not throw exceptions if TRUE.
settingsThe settings.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.PreUninstallProcessing ( bool  silent,
UaSchema.InstallationSettings  settings 
)
inlineprotectedvirtual

Does any pre-uninstall processing.

Parameters
silentDo not throw exceptions if TRUE.
settingsThe settings.
virtual bool UnifiedAutomation.UaBase.ApplicationInstance.ProcessCommand ( bool  silent,
Dictionary< string, string >  args 
)
inlineprotectedvirtual

Processes the command.

Parameters
silentif set to true no dialogs such be displayed.
argsAdditional arguments provided on the command line.
Returns
True if the command was processed.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.RemoveCertificateFromLds ( )
inlineprotectedvirtual

Removes the application certificate from the trusted store of the local discovery server.

void UnifiedAutomation.UaBase.ApplicationInstance.SaveConfiguration ( bool  silent)
inline

Saves the configuration.

Parameters
silentIf set to true then no exceptions will be thrown.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.SaveConfiguration ( Stream  ostrm,
bool  silent 
)
inlinevirtual

Saves the configuration.

Parameters
ostrmThe stream to write to.
silentif set to true then no exceptions will be thrown.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.SetApplicationSettings ( UaSchema.SecuredApplication  settings)
inlinevirtual

Sets the application settings.

Parameters
settingsThe settings.

This method cannot be called after Start() has been called.

void UnifiedAutomation.UaBase.ApplicationInstance.SetConfigurationExtension< T > ( extension)
inline

Updates the extension.

Template Parameters
T
Parameters
extensionThe extension.
Type Constraints
T :class 
void UnifiedAutomation.UaBase.ApplicationInstance.SetEndpointStatus ( EndpointDescription  endpoint,
StatusCode  status 
)
inline

Sets the endpoint status.

Parameters
endpointThe endpoint.
statusThe status.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.SetFilePermissions ( bool  silent,
UaSchema.InstallationSettings  settings 
)
inlineprotectedvirtual

Sets the file permissions.

Parameters
silentDo not throw exceptions if TRUE.
settingsThe settings.
void UnifiedAutomation.UaBase.ApplicationInstance.Start ( )
inline

Starts the application.

void UnifiedAutomation.UaBase.ApplicationInstance.Start ( WaitCallback  callback,
object  userData 
)
inline

Starts the application.

Parameters
callbackThe method to call when initialization is complete.
userDataThe user data to be passed to the callback.
void UnifiedAutomation.UaBase.ApplicationInstance.Start ( ServerBase  server,
WaitCallback  callback,
object  userData 
)
inline

Starts the application.

Parameters
serverThe server.
callbackThe method to call when initialization is complete.
userDataThe user data to be passed to the callback.
void UnifiedAutomation.UaBase.ApplicationInstance.Uninstall ( )
inline

Uninstalls the application.

void UnifiedAutomation.UaBase.ApplicationInstance.Uninstall ( bool  silent)
inline

Uninstalls the application.

virtual void UnifiedAutomation.UaBase.ApplicationInstance.UninstallService ( bool  silent,
UaSchema.InstallationSettings  settings 
)
inlineprotectedvirtual

Uninstalls the service.

Parameters
silentDo not throw exceptions if TRUE.
settingsThe settings.
virtual string UnifiedAutomation.UaBase.ApplicationInstance.ValidateArguments ( bool  ignoreUnknownArguments,
Dictionary< string, string >  args 
)
inlineprotectedvirtual

Validates the arguments.

Parameters
ignoreUnknownArgumentsif set to true unknown arguments are ignored.
argsThe arguments passed on the command line.
Returns
Returns an error string. Null if no error occurs.
virtual void UnifiedAutomation.UaBase.ApplicationInstance.ValidateCertificate ( ICertificate  certificate)
inlinevirtual

Verifies the certificate.

Parameters
certificateThe certificate.

This method uses the application configuration to determine the trust list. An exception is thrown if any error occurs.

Property Documentation

ICertificate UnifiedAutomation.UaBase.ApplicationInstance.ApplicationCertificate
getset

Gets or sets the application certificate.

The application certificate.

string UnifiedAutomation.UaBase.ApplicationInstance.ApplicationName
getset

Gets or sets the name of the application.

The name of the application.

UaSchema.SecuredApplication UnifiedAutomation.UaBase.ApplicationInstance.ApplicationSettings
getset

Gets the application settings.

Returns
The application settings.

Changing this object after Start() is called may have unpredicatable effects.

ApplicationType UnifiedAutomation.UaBase.ApplicationInstance.ApplicationType
getset

Gets or sets the type of the application.

The type of the application.

string UnifiedAutomation.UaBase.ApplicationInstance.ApplicationUri
getset

Gets or sets the application URI.

The application URI.

bool UnifiedAutomation.UaBase.ApplicationInstance.AutoCreateCertificate
getset

Gets or sets a value indicating whether the certificate should be automatically created.

true if the certificate should be automatically created; otherwise, false.

CertificateValidator UnifiedAutomation.UaBase.ApplicationInstance.CertificateValidator
getset

Gets or sets the certificate validator.

The certificate validator.

Dictionary<string,string> UnifiedAutomation.UaBase.ApplicationInstance.CommandLine
getsetprotected

Gets the command line parameters passed to the process.

string UnifiedAutomation.UaBase.ApplicationInstance.ConfigurationFilePath
getset

Gets or sets the configuration file path.

The configuration file path.

ApplicationInstance UnifiedAutomation.UaBase.ApplicationInstance.Default
staticget

Gets the default ApplicationInstance for the process.

EndpointConfiguration UnifiedAutomation.UaBase.ApplicationInstance.DefaultEndpointConfiguration
getset

Gets or sets the default endpoint configuration.

The default endpoint configuration.

bool UnifiedAutomation.UaBase.ApplicationInstance.DisableCommandLineProcessing
getset

Gets or sets a value indicating whether that the SDK should NOT attempt to interpret the command line when it is initialize.

true if the SDK should NOT attempt to interpret command line options; otherwise, false.

string UnifiedAutomation.UaBase.ApplicationInstance.EmbeddedConfigurationAssemblyName
getset

Gets or sets the name of the assembly which has the embedded resource containing the default configuration file.

The name of the assembly which has the embedded resource containing the default configuration file.

If not specified the EXE assembly is used.

IList<EndpointDescription> UnifiedAutomation.UaBase.ApplicationInstance.Endpoints
getset

Gets or sets the endpoints.

The endpoints.

bool UnifiedAutomation.UaBase.ApplicationInstance.IsStarted
getset

Gets a value indicating whether this instance is started.

true if this instance is started; otherwise, false.

ICertificateStore UnifiedAutomation.UaBase.ApplicationInstance.IssuerStore
getset

Gets or sets the issuer store.

The issuer store.

EncodeableFactory UnifiedAutomation.UaBase.ApplicationInstance.KnownTypeFactory
getset

Gets or sets the known type factory.

The known type factory.

bool UnifiedAutomation.UaBase.ApplicationInstance.NoAutoStartService
getset

Gets or sets a value indicating whether a Windows service should be automatically started if the EXE was started by a non-interactive user.

true if a Windows service should NOT be automatically started if the EXE was started by a non-interactive user; otherwise, false.

string UnifiedAutomation.UaBase.ApplicationInstance.ProductUri
getset

Gets or sets the product URI.

The product URI.

string UnifiedAutomation.UaBase.ApplicationInstance.ProductVersion
getset

Gets or sets the product version.

The product version.

ICertificateStore UnifiedAutomation.UaBase.ApplicationInstance.RejectedStore
getset

Gets or sets the rejected store.

The rejected store.

ICertificateStore UnifiedAutomation.UaBase.ApplicationInstance.TrustedStore
getset

Gets or sets the trusted store.

The trusted store.

UntrustedCertificateEventHandler UnifiedAutomation.UaBase.ApplicationInstance.UntrustedHttpsCertificate
staticaddremove

Occurs when an untrusted certificate is encountered.

Event Documentation

EventHandler UnifiedAutomation.UaBase.ApplicationInstance.ConfigurationChanged

Occurs if the configuration has changed and needs to be persisted.

CreateCertificateEventHandler UnifiedAutomation.UaBase.ApplicationInstance.MissingApplicationCertificate

Occurs when the application certificate is missing.

CreateHttpsCertificateEventHandler UnifiedAutomation.UaBase.ApplicationInstance.MissingHttpsCertificate

Occurs when the HTTPS certificate is missing.

UntrustedCertificateEventHandler UnifiedAutomation.UaBase.ApplicationInstance.UntrustedCertificate

Occurs when an untrusted certificate is encountered.


The documentation for this class was generated from the following file: