->SetEditSettingGroupChangedHandler

v1.6
Maxson Ramon dos Anjos Medeiros 1 month ago
parent 81af5a159c
commit f3f1ef5cc4

@ -2881,7 +2881,6 @@ namespace IEC61850
private ActiveSettingGroupChangedHandler activeSettingGroupChangedHandler = null;
public void SetActiveSettingGroupChangedHandler(InternalActiveSettingGroupChangedHandler handler,SettingGroupControlBlock settingGroupControlBlock, object parameter)
{
internalActiveSettingGroupChangedHandler = handler;
@ -2909,6 +2908,41 @@ namespace IEC61850
return false;
}
public delegate bool InternalEditSettingGroupChangedHandler(object parameter, SettingGroupControlBlock sgcb, uint newEditSg, ClientConnection connection);
private InternalEditSettingGroupChangedHandler internalEditSettingGroupChangedHandler = null;
private object editSettingGroupChangedHandlerParameter = null;
private EditSettingGroupChangedHandler editSettingGroupChangedHandler = null;
public void SetEditSettingGroupChangedHandler(InternalEditSettingGroupChangedHandler handler, SettingGroupControlBlock settingGroupControlBlock, object parameter)
{
internalEditSettingGroupChangedHandler = handler;
editSettingGroupChangedHandlerParameter = parameter;
if (editSettingGroupChangedHandler == null)
{
editSettingGroupChangedHandler = new EditSettingGroupChangedHandler(InternalEditSettingGroupChangedImplementation);
IedServer_setEditSettingGroupChangedHandler(self, settingGroupControlBlock.self, editSettingGroupChangedHandler, IntPtr.Zero);
}
}
private bool InternalEditSettingGroupChangedImplementation(IntPtr parameter, IntPtr sgcb, uint newEditSg, IntPtr connection)
{
if (sgcb != IntPtr.Zero && connection != IntPtr.Zero)
{
ClientConnection con = null;
this.clientConnections.TryGetValue(connection, out con);
return internalEditSettingGroupChangedHandler(editSettingGroupChangedHandlerParameter, new SettingGroupControlBlock(sgcb), newEditSg, con);
}
return false;
}
//------------
//public delegate bool InternalSVCBEventHandler(SampledValuesControlBlock sampledValuesControlBlock, SMVEvent sMVEvent, object parameter);

@ -244,7 +244,15 @@ namespace server_access_control
return true;
}
bool editSGChangedHandler(object parameter, SettingGroupControlBlock sgcb, uint newEditSg, ClientConnection connection)
{
Console.WriteLine("Set edit setting group to " + newEditSg + "\n");
return true;
}
iedServer.SetActiveSettingGroupChangedHandler(activeSGChangedHandler, settingGroupControlBlock, null);
iedServer.SetEditSettingGroupChangedHandler(editSGChangedHandler, settingGroupControlBlock, null);
iedServer.Start(102);

Loading…
Cancel
Save