pull/269/head
Michael Zillgith 5 years ago
commit eceec2fc04

@ -95,6 +95,15 @@ editSgConfirmedHandler(void* parameter, SettingGroupControlBlock* sgcb,
} }
} }
static MmsDataAccessError
readAccessHandler(LogicalDevice* ld, LogicalNode* ln, DataObject* dataObject, FunctionalConstraint fc, ClientConnection connection, void* parameter)
{
void* securityToken = ClientConnection_getSecurityToken(connection);
printf("Read access to %s/%s.%s\n", ld->name, ln->name, dataObject->name);
return DATA_ACCESS_ERROR_SUCCESS;
}
int int
main(int argc, char** argv) main(int argc, char** argv)
@ -111,6 +120,8 @@ main(int argc, char** argv)
IedServer_setEditSettingGroupChangedHandler(iedServer, sgcb, editSgChangedHandler, NULL); IedServer_setEditSettingGroupChangedHandler(iedServer, sgcb, editSgChangedHandler, NULL);
IedServer_setEditSettingGroupConfirmationHandler(iedServer, sgcb, editSgConfirmedHandler, NULL); IedServer_setEditSettingGroupConfirmationHandler(iedServer, sgcb, editSgConfirmedHandler, NULL);
IedServer_setReadAccessHandler(iedServer, readAccessHandler, NULL);
/* MMS server will be instructed to start listening to client connections. */ /* MMS server will be instructed to start listening to client connections. */
IedServer_start(iedServer, 102); IedServer_start(iedServer, 102);

@ -2509,6 +2509,11 @@ mmsReadAccessHandler (void* parameter, MmsDomain* domain, char* variableId, MmsS
StringUtils_createStringFromBufferInBuffer(str, (uint8_t*) (doStart + 1), doEnd - doStart); StringUtils_createStringFromBufferInBuffer(str, (uint8_t*) (doStart + 1), doEnd - doStart);
} }
if (fc == IEC61850_FC_SP) {
if (!strcmp(str, "SGCB"))
return DATA_ACCESS_ERROR_SUCCESS;
}
ModelNode* dobj = ModelNode_getChild((ModelNode*) ln, str); ModelNode* dobj = ModelNode_getChild((ModelNode*) ln, str);
if (dobj != NULL) { if (dobj != NULL) {

@ -434,7 +434,7 @@ ConfigFileParser_createModelFromConfigFile(FileHandle fileHandle)
} }
} }
else if (StringUtils_startsWith((char*) lineBuffer, "DE")) { else if (StringUtils_startsWith((char*) lineBuffer, "DE")) {
char* start = strchr(lineBuffer, '('); char* start = strchr((char*) lineBuffer, '(');
if (start) { if (start) {
start++; start++;

Loading…
Cancel
Save