arm4::ArmApplicationDefinition Class Reference
[ARM 4.0 Applications, ARM 4.0 Definitions]
Describes the attributes of an application that do not change from one instance of the application to another. More...
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 ArmIdentityProperties & | getIdentityProperties () 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 toArmApplicationDefinition()
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 beArmID::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.
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: