arm4::ArmApplicationDefinition Class Reference
[ARM 4.0 ApplicationsARM 4.0 Definitions]

Describes the attributes of an application that do not change from one instance of the application to another. More...

Inheritance diagram for arm4::ArmApplicationDefinition:
arm4::ArmDefinition arm4::ArmInterface

List of all members.

Public Member Functions

 ArmApplicationDefinition (const std::string &name, const ArmIdentityProperties &identityProperties=ArmIdentityProperties::Null, const ArmID &id=ArmID::Null)
virtual ~ArmApplicationDefinition ()
 Destructor calls destroy() implicitly if not called by the application.
const ArmIdentityPropertiesgetIdentityProperties () const
void destroy ()

Detailed Description

Describes the attributes of an application that do not change from one instance of the application to another.

This provides an anchor point for associating ArmTransactionDefinition and ArmMetricDefinition objects with the application. It has the following attributes, all of which are immutable:

  • Name. The maximum length is 127 characters (CIM allows 256 but ARM 4.0 C Bindings allow 128 characters, including the null-termination character, so 127 is used). The name must not be a NullString or zero-length. A name should be chosen that is unique, so generic names that might be used by a different development team, such as "Payroll Application", should not be used. Names should not contain trailing blank characters or consist of only blank characters.
  • (optional) Identity property names and values and context property names in arrays. See the discussion of identity and context property names in ArmIdentityProperties.
  • (optional) ID. An optional 16-byte ID may be associated with the identity of an application definition. The returned value, which could be a ArmID::Null, is the same value passed to ArmApplicationDefinition() constructor. The ID value is bound to a unique combination of the application name, any identity property names and values, and any context property names. When provided, the ID may be used as a concise alias for the unique combination. It may be ArmID::Null.

destroy() does not, of course, destroy the ArmApplicationDefinition object. It does signal to the ARM implementation that the definition and all related definitions (e.g., ArmTransactionDefinition) within its scope are no longer needed. The normal behavior would be for the ARM implementation to release its references to all those objects. After destroy() is called, no method on any object that is scoped by the ArmApplicationDefinition should be called again. If a method is called, the results are unpredictable.

Author:
ARM Working Group of The Open Group, MyARM GmbH

Constructor & Destructor Documentation

arm4::ArmApplicationDefinition::ArmApplicationDefinition ( const std::string &  name,
const ArmIdentityProperties identityProperties = ArmIdentityProperties::Null,
const ArmID id = ArmID::Null 
)

Constructs the ArmApplicationDefinition object that describes the metadata about an application. That is, the descriptive data that is the same for all instances of the same application. name is the only required non-NullString parameter.

Parameters:
name The name of the application type. A name should be chosen that is unique. Must not be a NullString or a zero-length string.
identityProperties A set of properties contibuting to the identity of the application definition. May be ArmIdentityProperties::Null.
id An optional 16-byte ID associated with the identity of the application definition.

Member Function Documentation

void arm4::ArmApplicationDefinition::destroy (  ) 

Signal to the ARM implementation that the definition and all related definitions within its scope are no longer needed.

const ArmIdentityProperties& arm4::ArmApplicationDefinition::getIdentityProperties (  )  const
Returns:
an object describing the identity property metadata associated with this application, or ArmIdentityProperties::Null. See the discussion in ArmIdentityProperties.

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