libiec61850  1.6.0
Typedefs | Functions
Server side setting group handling

Functions and callbacks to handle setting groups on the server side. More...

Typedefs

typedef bool(* ActiveSettingGroupChangedHandler) (void *parameter, SettingGroupControlBlock *sgcb, uint8_t newActSg, ClientConnection connection)
 Callback handler that is invoked when the active setting group is about to be changed by an external client. More...
 
typedef bool(* EditSettingGroupChangedHandler) (void *parameter, SettingGroupControlBlock *sgcb, uint8_t newEditSg, ClientConnection connection)
 Callback handler that is invoked when the edit setting group is about to be changed by an external client. More...
 
typedef void(* EditSettingGroupConfirmationHandler) (void *parameter, SettingGroupControlBlock *sgcb, uint8_t editSg)
 Callback handler that is invoked when the edit setting group has been confirmed by an external client. More...
 

Functions

LIB61850_API void IedServer_changeActiveSettingGroup (IedServer self, SettingGroupControlBlock *sgcb, uint8_t newActiveSg)
 Change active setting group. More...
 
LIB61850_API uint8_t IedServer_getActiveSettingGroup (IedServer self, SettingGroupControlBlock *sgcb)
 Get the active setting group number. More...
 
LIB61850_API void IedServer_setActiveSettingGroupChangedHandler (IedServer self, SettingGroupControlBlock *sgcb, ActiveSettingGroupChangedHandler handler, void *parameter)
 Set the callback handler for the SetActSG event. More...
 
LIB61850_API void IedServer_setEditSettingGroupChangedHandler (IedServer self, SettingGroupControlBlock *sgcb, EditSettingGroupChangedHandler handler, void *parameter)
 Set the callback handler for the SetEditSG event. More...
 
LIB61850_API void IedServer_setEditSettingGroupConfirmationHandler (IedServer self, SettingGroupControlBlock *sgcb, EditSettingGroupConfirmationHandler handler, void *parameter)
 Set the callback handler for the COnfEditSG event. More...
 

Detailed Description

Functions and callbacks to handle setting groups on the server side.

Typedef Documentation

◆ ActiveSettingGroupChangedHandler

typedef bool(* ActiveSettingGroupChangedHandler) (void *parameter, SettingGroupControlBlock *sgcb, uint8_t newActSg, ClientConnection connection)

Callback handler that is invoked when the active setting group is about to be changed by an external client.

This function is called BEFORE the active setting group is changed. The user can reject to change the active setting group by returning false.

Parameters
userprovided parameter
sgcbthe setting group control block of the setting group that is about to be changed
newActSgthe new active setting group
connectionthe client connection that requests the change
Returns
true if the change is accepted, false otherwise.

◆ EditSettingGroupChangedHandler

typedef bool(* EditSettingGroupChangedHandler) (void *parameter, SettingGroupControlBlock *sgcb, uint8_t newEditSg, ClientConnection connection)

Callback handler that is invoked when the edit setting group is about to be changed by an external client.

In this function the user should update all SE data attributes associated with the given SettingGroupControlBlock. This function is called BEFORE the active setting group is changed. The user can reject to change the edit setting group by returning false. This can be used to implement RBAC.

Parameters
userprovided parameter
sgcbthe setting group control block of the setting group that is about to be changed
newEditSgthe new edit setting group
connectionthe client connection that requests the change
Returns
true if the change is accepted, false otherwise.

◆ EditSettingGroupConfirmationHandler

typedef void(* EditSettingGroupConfirmationHandler) (void *parameter, SettingGroupControlBlock *sgcb, uint8_t editSg)

Callback handler that is invoked when the edit setting group has been confirmed by an external client.

Parameters
userprovided parameter
sgcbthe setting group control block of the setting group that is about to be changed
editSgthe edit setting group that has been confirmed

Function Documentation

◆ IedServer_changeActiveSettingGroup()

LIB61850_API void IedServer_changeActiveSettingGroup ( IedServer  self,
SettingGroupControlBlock *  sgcb,
uint8_t  newActiveSg 
)

Change active setting group.

Inform the IedServer that the active setting group has changed due to an internal event. Before calling this function the user should update the relevant data attributes with FC=SG!

Parameters
selfthe instance of IedServer to operate on.
sgcbthe handle of the setting group control block of the setting group
newActiveSgthe number of the new active setting group

◆ IedServer_getActiveSettingGroup()

LIB61850_API uint8_t IedServer_getActiveSettingGroup ( IedServer  self,
SettingGroupControlBlock *  sgcb 
)

Get the active setting group number.

Parameters
selfthe instance of IedServer to operate on.
sgcbthe handle of the setting group control block of the setting group
Returns
the number of the active setting group

◆ IedServer_setActiveSettingGroupChangedHandler()

LIB61850_API void IedServer_setActiveSettingGroupChangedHandler ( IedServer  self,
SettingGroupControlBlock *  sgcb,
ActiveSettingGroupChangedHandler  handler,
void *  parameter 
)

Set the callback handler for the SetActSG event.

Parameters
selfthe instance of IedServer to operate on.
sgcbthe handle of the setting group control block of the setting group.
handlerthe user provided callback handler.
parametera user provided parameter that is passed to the control handler.

◆ IedServer_setEditSettingGroupChangedHandler()

LIB61850_API void IedServer_setEditSettingGroupChangedHandler ( IedServer  self,
SettingGroupControlBlock *  sgcb,
EditSettingGroupChangedHandler  handler,
void *  parameter 
)

Set the callback handler for the SetEditSG event.

Parameters
selfthe instance of IedServer to operate on.
sgcbthe handle of the setting group control block of the setting group.
handlerthe user provided callback handler.
parametera user provided parameter that is passed to the control handler.

◆ IedServer_setEditSettingGroupConfirmationHandler()

LIB61850_API void IedServer_setEditSettingGroupConfirmationHandler ( IedServer  self,
SettingGroupControlBlock *  sgcb,
EditSettingGroupConfirmationHandler  handler,
void *  parameter 
)

Set the callback handler for the COnfEditSG event.

Parameters
selfthe instance of IedServer to operate on.
sgcbthe handle of the setting group control block of the setting group.
handlerthe user provided callback handler.
parametera user provided parameter that is passed to the control handler.