libiec61850  1.5.3
Functions
MmsVariableSpecification data type specifications

Functions

LIB61850_API void MmsVariableSpecification_destroy (MmsVariableSpecification *self)
 Delete MmsTypeSpecification object (recursive). More...
 
LIB61850_API MmsValueMmsVariableSpecification_getChildValue (MmsVariableSpecification *self, MmsValue *value, const char *childId)
 Get the corresponding child of value according to childId. More...
 
LIB61850_API MmsVariableSpecification * MmsVariableSpecification_getNamedVariableRecursive (MmsVariableSpecification *self, const char *nameId)
 Get the child of self specified by its relative name. More...
 
LIB61850_API MmsType MmsVariableSpecification_getType (MmsVariableSpecification *self)
 get the MMS type of the variable More...
 
LIB61850_API bool MmsVariableSpecification_isValueOfType (MmsVariableSpecification *self, const MmsValue *value)
 Check if the value has exactly the same type as this variable specfication. More...
 
LIB61850_API const char * MmsVariableSpecification_getName (MmsVariableSpecification *self)
 get the name of the variable More...
 
LIB61850_API LinkedList MmsVariableSpecification_getStructureElements (MmsVariableSpecification *self)
 
LIB61850_API int MmsVariableSpecification_getSize (MmsVariableSpecification *self)
 returns the number of elements if the type is a complex type (structure, array) or the bit size of integers, unsigned integers, floats, bit strings, visible and MMS strings and octet strings. More...
 
LIB61850_API MmsVariableSpecification * MmsVariableSpecification_getChildSpecificationByIndex (MmsVariableSpecification *self, int index)
 
LIB61850_API MmsVariableSpecification * MmsVariableSpecification_getChildSpecificationByName (MmsVariableSpecification *self, const char *name, int *index)
 return the MmsVariableSpecification of a structure element with the given name More...
 
LIB61850_API MmsVariableSpecification * MmsVariableSpecification_getArrayElementSpecification (MmsVariableSpecification *self)
 
LIB61850_API int MmsVariableSpecification_getExponentWidth (MmsVariableSpecification *self)
 

Detailed Description

Function Documentation

◆ MmsVariableSpecification_destroy()

LIB61850_API void MmsVariableSpecification_destroy ( MmsVariableSpecification *  self)

Delete MmsTypeSpecification object (recursive).

Parameters
selfthe MmsVariableSpecification instance

◆ MmsVariableSpecification_getArrayElementSpecification()

LIB61850_API MmsVariableSpecification* MmsVariableSpecification_getArrayElementSpecification ( MmsVariableSpecification *  self)

◆ MmsVariableSpecification_getChildSpecificationByIndex()

LIB61850_API MmsVariableSpecification* MmsVariableSpecification_getChildSpecificationByIndex ( MmsVariableSpecification *  self,
int  index 
)

◆ MmsVariableSpecification_getChildSpecificationByName()

LIB61850_API MmsVariableSpecification* MmsVariableSpecification_getChildSpecificationByName ( MmsVariableSpecification *  self,
const char *  name,
int *  index 
)

return the MmsVariableSpecification of a structure element with the given name

Parameters
selfthe MmsVariableSpecification object
namethe name of the component (structure element)
index(OUT) if not NULL the index of the structure element will be stored there
Returns
the type specification of the component or NULL if the component was not found

◆ MmsVariableSpecification_getChildValue()

LIB61850_API MmsValue* MmsVariableSpecification_getChildValue ( MmsVariableSpecification *  self,
MmsValue value,
const char *  childId 
)

Get the corresponding child of value according to childId.

This function assumes that value is the corresponding value of the MMS variable self. Given the relative name of a child of self this function returns the corresponding child of the value object. Note: the child name has to be provided in MMS mapping syntax (with "$" sign as separator between path name elements!

Parameters
selfthe MmsVariableSpecification instance
valuethe MmsValue instance
childIdthe relative MMS name to the child MMS variable (with "$" separators!)

◆ MmsVariableSpecification_getExponentWidth()

LIB61850_API int MmsVariableSpecification_getExponentWidth ( MmsVariableSpecification *  self)

◆ MmsVariableSpecification_getName()

LIB61850_API const char* MmsVariableSpecification_getName ( MmsVariableSpecification *  self)

get the name of the variable

Note: the return string is only valid as long as the MmsVariableSpecification instance exists!

Parameters
selfthe MmsVariableSpecification instance
Returns
the name of the variable

◆ MmsVariableSpecification_getNamedVariableRecursive()

LIB61850_API MmsVariableSpecification* MmsVariableSpecification_getNamedVariableRecursive ( MmsVariableSpecification *  self,
const char *  nameId 
)

Get the child of self specified by its relative name.

Parameters
selfthe MmsVariableSpecification instance
nameIdthe relative MMS name to the child MMS variable (with "$" separators!)
Returns
the variable specification of the child or NULL if not existing.

◆ MmsVariableSpecification_getSize()

LIB61850_API int MmsVariableSpecification_getSize ( MmsVariableSpecification *  self)

returns the number of elements if the type is a complex type (structure, array) or the bit size of integers, unsigned integers, floats, bit strings, visible and MMS strings and octet strings.

Parameters
selfthe MmsVariableSpecification object
Returns
the number of elements or -1 if not applicable

◆ MmsVariableSpecification_getStructureElements()

LIB61850_API LinkedList MmsVariableSpecification_getStructureElements ( MmsVariableSpecification *  self)

◆ MmsVariableSpecification_getType()

LIB61850_API MmsType MmsVariableSpecification_getType ( MmsVariableSpecification *  self)

get the MMS type of the variable

Parameters
selfthe MmsVariableSpecification instance
Returns
the MMS type of the variable

◆ MmsVariableSpecification_isValueOfType()

LIB61850_API bool MmsVariableSpecification_isValueOfType ( MmsVariableSpecification *  self,
const MmsValue value 
)

Check if the value has exactly the same type as this variable specfication.

Parameters
selfthe MmsVariableSpecification instance
valuethe value to check
Returns
true if type is matching, false otherwise