Technical information
Programming - Asset Management
82
RMS Enterprise - NetLinx Programmer’s Guide
Asset Metadata Registration Functions (Cont.)
RmsAssetMetadata
Enqueue
Description: This function is used to place an asset metadata property registration in queue.
This function registers an asset metadata property defined by the RmsAssetMetadataProperty data structure argument.
Arguments:
• CHAR assetClientKey[] - asset client key
• RmsAssetMetadataProperty - metadata Property
Returns: 1 if call was successful; 0 if call was unsuccessful
Syntax:
DEFINE_FUNCTION CHAR RmsAssetMetadataEnqueue(CHAR assetClientKey[],
RmsAssetMetadataProperty
metadataProperty)
{
STACK_VAR CHAR rmsCommand[RMS_MAX_CMD_LEN];
// ensure an asset client key has been provided
IF(assetClientKey == '')
{
SEND_STRING 0, '>>>> RMS API ERROR <RmsAssetMetadataEnqueue> :: missing asset client key';
RETURN FALSE;
}
// ensure a metadata key has been provided
IF(metadataProperty.key == '')
{
SEND_STRING 0, '>>>> RMS API ERROR <RmsAssetMetadataEnqueue> :: missing metadata key';
RETURN FALSE;
}
// ensure a metadata name has been provided
IF(metadataProperty.name == '')
{
SEND_STRING 0, '>>>> RMS API ERROR <RmsAssetMetadataEnqueue> :: missing metadata name';
RETURN FALSE;
}
// ensure a metadata property data type is assigned
IF(metadataProperty.dataType == '')
metadataProperty.dataType = RMS_METADATA_TYPE_STRING;
// submit the asset metadata registration now
rmsCommand =
RmsPackCmdHeader('ASSET.METADATA');
rmsCommand = RmsPackCmdParam(rmsCommand,assetClientKey);
rmsCommand = RmsPackCmdParam(rmsCommand,metadataProperty.key);
rmsCommand = RmsPackCmdParam(rmsCommand,metadataProperty.name);
rmsCommand = RmsPackCmdParam(rmsCommand,metadataProperty.value);
rmsCommand = RmsPackCmdParam(rmsCommand,metadataProperty.dataType);
rmsCommand = RmsPackCmdParam(rmsCommand,RmsBooleanString(metadataProperty.readOnly));
rmsCommand = RmsPackCmdParam(rmsCommand,metadataProperty.hyperlinkName);
rmsCommand = RmsPackCmdParam(rmsCommand,metadataProperty.hyperlinkUrl);
SEND_COMMAND vdvRMS, rmsCommand;
RETURN TRUE;
}