|
|
|
@ -27,6 +27,21 @@ using IEC61850.Common;
|
|
|
|
|
|
|
|
|
|
namespace IEC61850.Server
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// RCB properties that are configurable to be writable or read-only
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Flags]
|
|
|
|
|
public enum ReportSettings
|
|
|
|
|
{
|
|
|
|
|
RPT_ID = 1,
|
|
|
|
|
BUF_TIME = 2,
|
|
|
|
|
DATSET = 4,
|
|
|
|
|
TRG_OPS = 8,
|
|
|
|
|
OPT_FIELDS = 16,
|
|
|
|
|
INTG_PD = 32,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IedServer configuration object
|
|
|
|
|
/// </summary>
|
|
|
|
@ -131,6 +146,13 @@ namespace IEC61850.Server
|
|
|
|
|
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
|
static extern void IedServerConfig_setSyncIntegrityReportTimes(IntPtr self, [MarshalAs(UnmanagedType.I1)] bool enable);
|
|
|
|
|
|
|
|
|
|
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
|
static extern void IedServerConfig_setReportSetting(IntPtr self, byte setting, [MarshalAs(UnmanagedType.I1)] bool enable);
|
|
|
|
|
|
|
|
|
|
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
|
[return: MarshalAs(UnmanagedType.I1)]
|
|
|
|
|
static extern bool IedServerConfig_getReportSetting(IntPtr self, byte setting);
|
|
|
|
|
|
|
|
|
|
internal IntPtr self;
|
|
|
|
|
|
|
|
|
|
public IedServerConfig()
|
|
|
|
@ -379,6 +401,28 @@ namespace IEC61850.Server
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Make a configurable report setting writeable or read-only
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <note><c>ReportSettings</c> is a flag enum, so you can set multiple settings at once</note>
|
|
|
|
|
/// <note>Can be used to implement some of Services\ReportSettings options</note>
|
|
|
|
|
/// <param name="settings">the settings that should be configured writeable or read-only</param>
|
|
|
|
|
/// <param name="isDyn">true, settings are writeable, false, settings are read-only</param>
|
|
|
|
|
public void SetReportSetting(ReportSettings settings)
|
|
|
|
|
{
|
|
|
|
|
IedServerConfig_setReportSetting(self, (byte)settings, true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Get the value of a specific report setting
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="setting">one value of <c>ReportSettings</c></param>
|
|
|
|
|
/// <returns>true, when setting is writable ("Dyn") or false, when read-only</returns>
|
|
|
|
|
public bool GetReportSetting(ReportSettings setting)
|
|
|
|
|
{
|
|
|
|
|
return IedServerConfig_getReportSetting(self, (byte)setting);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Releases all resource used by the <see cref="IEC61850.Server.IedServerConfig"/> object.
|
|
|
|
|
/// </summary>
|
|
|
|
|