Merge pull request #211 from andy1547/feature/add-iedserver-set-attribute-methods

Added SetBoolean and SetInt32 methods for dotnet.
pull/215/head
Michael Zillgith 6 years ago
parent 0a51f2688d
commit 85506b994d

@ -56,6 +56,9 @@ namespace IEC61850
[return: MarshalAs(UnmanagedType.I1)] [return: MarshalAs(UnmanagedType.I1)]
static extern bool MmsValue_getBoolean (IntPtr self); static extern bool MmsValue_getBoolean (IntPtr self);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void MmsValue_setBoolean(IntPtr self, [MarshalAs(UnmanagedType.I1)] bool value);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)] [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern UInt32 MmsValue_getBitStringAsInteger (IntPtr self); static extern UInt32 MmsValue_getBitStringAsInteger (IntPtr self);
@ -81,6 +84,9 @@ namespace IEC61850
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)] [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern Int32 MmsValue_toInt32 (IntPtr self); static extern Int32 MmsValue_toInt32 (IntPtr self);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void MmsValue_setInt32(IntPtr self, int value);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)] [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern Int64 MmsValue_toInt64 (IntPtr self); static extern Int64 MmsValue_toInt64 (IntPtr self);
@ -739,6 +745,21 @@ namespace IEC61850
return MmsValue_toInt32 (valueReference); return MmsValue_toInt32 (valueReference);
} }
/// <summary>
/// Sets the 32 bit signed integer.
/// </summary>
/// <param name='value'>
/// the new value to set
/// </param>
/// <exception cref="MmsValueException">This exception is thrown if the value has the wrong type.</exception>
public void SetInt32(int value)
{
if (GetType() != MmsType.MMS_INTEGER)
throw new MmsValueException("Value type is not integer");
MmsValue_setInt32(valueReference, value);
}
/// <summary> /// <summary>
/// Return the value as 64 bit signed integer. /// Return the value as 64 bit signed integer.
/// </summary> /// </summary>
@ -860,6 +881,21 @@ namespace IEC61850
throw new MmsValueException ("Value type is not boolean"); throw new MmsValueException ("Value type is not boolean");
} }
/// <summary>
/// Sets the boolean value of an MMS_BOOLEAN instance
/// </summary>
/// <param name='value'>
/// the new value to set
/// </param>
/// <exception cref="MmsValueException">This exception is thrown if the value has the wrong type.</exception>
public void SetBoolean(bool value)
{
if (GetType() != MmsType.MMS_BOOLEAN)
throw new MmsValueException("Value type is not boolean");
MmsValue_setBoolean(valueReference, value);
}
/// <summary> /// <summary>
/// Gets the float value of an MMS_FLOAT instance /// Gets the float value of an MMS_FLOAT instance
/// </summary> /// </summary>

Loading…
Cancel
Save