- mms-utility: added read array

pull/119/head
Michael Zillgith 7 years ago
parent 452abd7dbf
commit 952f12bffb

@ -25,6 +25,7 @@ print_help()
printf("-x <filename> delete file\n"); printf("-x <filename> delete file\n");
printf("-j <domainName/journalName> read journal\n"); printf("-j <domainName/journalName> read journal\n");
printf("-v <variable list_name> read domain variable list\n"); printf("-v <variable list_name> read domain variable list\n");
printf("-y <index> array index for read access\n");
printf("-m print raw MMS messages\n"); printf("-m print raw MMS messages\n");
} }
@ -103,6 +104,7 @@ int main(int argc, char** argv) {
char* hostname = StringUtils_copyString("localhost"); char* hostname = StringUtils_copyString("localhost");
int tcpPort = 102; int tcpPort = 102;
int maxPduSize = 65000; int maxPduSize = 65000;
int arrayIndex = -1;
char* domainName = NULL; char* domainName = NULL;
char* variableName = NULL; char* variableName = NULL;
@ -124,7 +126,7 @@ int main(int argc, char** argv) {
int c; int c;
while ((c = getopt(argc, argv, "mifdh:p:l:t:a:r:g:j:x:v:c:")) != -1) while ((c = getopt(argc, argv, "mifdh:p:l:t:a:r:g:j:x:v:c:y:")) != -1)
switch (c) { switch (c) {
case 'm': case 'm':
printRawMmsMessages = 1; printRawMmsMessages = 1;
@ -181,6 +183,10 @@ int main(int argc, char** argv) {
journalName = StringUtils_copyString(optarg); journalName = StringUtils_copyString(optarg);
break; break;
case 'y':
arrayIndex = atoi(optarg);
break;
default: default:
print_help(); print_help();
return 0; return 0;
@ -340,10 +346,23 @@ int main(int argc, char** argv) {
MmsValue* result; MmsValue* result;
if (componentName == NULL) if (componentName == NULL) {
if (arrayIndex == -1) {
result = MmsConnection_readVariable(con, &error, domainName, variableName); result = MmsConnection_readVariable(con, &error, domainName, variableName);
else }
else {
result = MmsConnection_readSingleArrayElementWithComponent(con, &error, domainName, variableName, arrayIndex, NULL);
}
}
else {
if (arrayIndex == -1) {
result = MmsConnection_readVariableComponent(con, &error, domainName, variableName, componentName); result = MmsConnection_readVariableComponent(con, &error, domainName, variableName, componentName);
}
else {
result = MmsConnection_readSingleArrayElementWithComponent(con, &error, domainName, variableName, arrayIndex, componentName);
}
}
if (error != MMS_ERROR_NONE) { if (error != MMS_ERROR_NONE) {
printf("Reading variable failed: (ERROR %i)\n", error); printf("Reading variable failed: (ERROR %i)\n", error);

Loading…
Cancel
Save