Merge "Fix indentation and style issues in fm_cli"
This commit is contained in:
commit
206e5c4745
@ -12,177 +12,190 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
void error(const char *add="") {
|
|
||||||
printf("%s\n",add);
|
void error(const char *add = "") {
|
||||||
exit(-1);
|
printf("%s\n", add);
|
||||||
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ok(const char *s="") {
|
|
||||||
printf("Ok\n%s%s",s,strlen(s)!=0 ? "\n":"");
|
void ok(const char *s = "") {
|
||||||
exit(0);
|
printf("Ok\n%s%s", s, strlen(s) != 0 ? "\n" : "");
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ok(fm_uuid_t *uuid) {
|
void ok(fm_uuid_t *uuid) {
|
||||||
return ok(*uuid);
|
return ok(*uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void create_alarm(const char *al) {
|
void create_alarm(const char *al) {
|
||||||
SFmAlarmDataT alarm;
|
SFmAlarmDataT alarm;
|
||||||
EFmErrorT rc;
|
EFmErrorT rc;
|
||||||
|
|
||||||
memset(&alarm,0,sizeof(alarm));
|
memset(&alarm, 0, sizeof(alarm));
|
||||||
|
|
||||||
if (!fm_alarm_from_string(al,&alarm)) {
|
if (!fm_alarm_from_string(al, &alarm)) {
|
||||||
error("Invalid alarm string..");
|
error("Invalid alarm string..");
|
||||||
}
|
}
|
||||||
|
|
||||||
//clear uuid and let it be set by fm-mgr
|
// clear uuid and let it be set by fm-mgr
|
||||||
memset(alarm.uuid, 0, sizeof(*alarm.uuid));
|
memset(alarm.uuid, 0, sizeof(*alarm.uuid));
|
||||||
fm_uuid_t uuid;
|
fm_uuid_t uuid;
|
||||||
if ((rc = fm_set_fault(&alarm,&uuid))!=FM_ERR_OK) {
|
if ((rc = fm_set_fault(&alarm, &uuid)) != FM_ERR_OK) {
|
||||||
std::string errstr = fm_error_from_int(rc);
|
std::string errstr = fm_error_from_int(rc);
|
||||||
error(errstr.c_str());
|
error(errstr.c_str());
|
||||||
}
|
}
|
||||||
ok(&uuid);
|
ok(&uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void delete_alarms(const char *id) {
|
void delete_alarms(const char *id) {
|
||||||
fm_ent_inst_t inst_id;
|
fm_ent_inst_t inst_id;
|
||||||
EFmErrorT rc;
|
EFmErrorT rc;
|
||||||
|
|
||||||
memset(inst_id, 0 , sizeof(inst_id));
|
memset(inst_id, 0, sizeof(inst_id));
|
||||||
strncpy(inst_id, id ,sizeof(inst_id)-1);
|
strncpy(inst_id, id, sizeof(inst_id) - 1);
|
||||||
|
|
||||||
if ((rc = fm_clear_all(&inst_id))!=FM_ERR_OK) {
|
if ((rc = fm_clear_all(&inst_id)) != FM_ERR_OK) {
|
||||||
std::string errstr = fm_error_from_int(rc);
|
std::string errstr = fm_error_from_int(rc);
|
||||||
error(errstr.c_str());
|
error(errstr.c_str());
|
||||||
}
|
}
|
||||||
ok();
|
ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void delete_alarm(const char *f) {
|
void delete_alarm(const char *f) {
|
||||||
AlarmFilter af;
|
AlarmFilter af;
|
||||||
EFmErrorT rc;
|
EFmErrorT rc;
|
||||||
|
|
||||||
memset(&af,0,sizeof(af));
|
memset(&af, 0, sizeof(af));
|
||||||
if (!fm_alarm_filter_from_string(f,&af)) {
|
if (!fm_alarm_filter_from_string(f, &af)) {
|
||||||
error("Invalid alarm filter");
|
error("Invalid alarm filter");
|
||||||
}
|
}
|
||||||
if ((rc = fm_clear_fault(&af))!=FM_ERR_OK) {
|
if ((rc = fm_clear_fault(&af)) != FM_ERR_OK) {
|
||||||
std::string errstr = fm_error_from_int(rc);
|
std::string errstr = fm_error_from_int(rc);
|
||||||
error(errstr.c_str());
|
error(errstr.c_str());
|
||||||
}
|
}
|
||||||
ok();
|
ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void get_alarm(const char *f) {
|
void get_alarm(const char *f) {
|
||||||
AlarmFilter af;
|
AlarmFilter af;
|
||||||
EFmErrorT rc;
|
EFmErrorT rc;
|
||||||
|
|
||||||
memset(&af, 0, sizeof(af));
|
memset(&af, 0, sizeof(af));
|
||||||
if (!fm_alarm_filter_from_string(f,&af)) {
|
if (!fm_alarm_filter_from_string(f, &af)) {
|
||||||
error("Invalid alarm filter");
|
error("Invalid alarm filter");
|
||||||
}
|
}
|
||||||
|
|
||||||
SFmAlarmDataT ad;
|
SFmAlarmDataT ad;
|
||||||
memset(&ad, 0 , sizeof(ad));
|
memset(&ad, 0, sizeof(ad));
|
||||||
|
|
||||||
if ((rc = fm_get_fault(&af,&ad))!=FM_ERR_OK) {
|
if ((rc = fm_get_fault(&af, &ad)) != FM_ERR_OK) {
|
||||||
std::string errstr = fm_error_from_int(rc);
|
std::string errstr = fm_error_from_int(rc);
|
||||||
error(errstr.c_str());
|
error(errstr.c_str());
|
||||||
}
|
}
|
||||||
std::string s;
|
std::string s;
|
||||||
fm_alarm_to_string(&ad,s);
|
fm_alarm_to_string(&ad, s);
|
||||||
ok(s.c_str());
|
ok(s.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void get_alarms(const char *id) {
|
void get_alarms(const char *id) {
|
||||||
fm_ent_inst_t inst_id;
|
fm_ent_inst_t inst_id;
|
||||||
EFmErrorT rc;
|
EFmErrorT rc;
|
||||||
|
|
||||||
memset(inst_id, 0 , sizeof(inst_id));
|
memset(inst_id, 0, sizeof(inst_id));
|
||||||
strncpy(inst_id, id ,sizeof(inst_id)-1);
|
strncpy(inst_id, id, sizeof(inst_id) - 1);
|
||||||
|
|
||||||
unsigned int max_alarms=500;
|
unsigned int max_alarms = 500;
|
||||||
SFmAlarmDataT *p = (SFmAlarmDataT*)malloc(max_alarms*sizeof(SFmAlarmDataT));
|
SFmAlarmDataT *p = (SFmAlarmDataT*) \
|
||||||
if (p==NULL) error("Not enough memory...");
|
malloc(max_alarms * sizeof(SFmAlarmDataT));
|
||||||
if ((rc=fm_get_faults(&inst_id,p,&max_alarms))!=FM_ERR_OK) {
|
|
||||||
free(p);
|
|
||||||
std::string errstr = fm_error_from_int(rc);
|
|
||||||
error(errstr.c_str());
|
|
||||||
}
|
|
||||||
printf("Ok\n");
|
|
||||||
|
|
||||||
size_t ix = 0;
|
if (p == NULL)
|
||||||
for ( ; ix < max_alarms; ++ix ) {
|
error("Not enough memory...");
|
||||||
std::string a;
|
if ((rc = fm_get_faults(&inst_id, p, &max_alarms)) != FM_ERR_OK) {
|
||||||
fm_alarm_to_string(p+ix,a);
|
free(p);
|
||||||
printf("%s\n",a.c_str());
|
std::string errstr = fm_error_from_int(rc);
|
||||||
}
|
error(errstr.c_str());
|
||||||
free(p);
|
}
|
||||||
exit(0);
|
printf("Ok\n");
|
||||||
|
|
||||||
|
size_t ix = 0;
|
||||||
|
for ( ; ix < max_alarms; ++ix ) {
|
||||||
|
std::string a;
|
||||||
|
fm_alarm_to_string(p + ix, a);
|
||||||
|
printf("%s\n", a.c_str());
|
||||||
|
}
|
||||||
|
free(p);
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void get_alarms_by_id(const char *id) {
|
void get_alarms_by_id(const char *id) {
|
||||||
fm_alarm_id alm_id;
|
fm_alarm_id alm_id;
|
||||||
EFmErrorT rc;
|
EFmErrorT rc;
|
||||||
|
|
||||||
memset(alm_id, 0 , sizeof(alm_id));
|
memset(alm_id, 0, sizeof(alm_id));
|
||||||
strncpy(alm_id, id ,sizeof(alm_id)-1);
|
strncpy(alm_id, id, sizeof(alm_id) - 1);
|
||||||
|
|
||||||
unsigned int max_alarms=500;
|
unsigned int max_alarms = 500;
|
||||||
SFmAlarmDataT *p = (SFmAlarmDataT*)malloc(max_alarms*sizeof(SFmAlarmDataT));
|
SFmAlarmDataT *p = (SFmAlarmDataT*)malloc(max_alarms*sizeof(SFmAlarmDataT));
|
||||||
if (p==NULL) error("Not enough memory...");
|
|
||||||
if ((rc=fm_get_faults_by_id(&alm_id,p,&max_alarms))!=FM_ERR_OK) {
|
|
||||||
free(p);
|
|
||||||
std::string errstr = fm_error_from_int(rc);
|
|
||||||
error(errstr.c_str());
|
|
||||||
}
|
|
||||||
printf("Ok\n");
|
|
||||||
|
|
||||||
size_t ix = 0;
|
if (p == NULL)
|
||||||
for ( ; ix < max_alarms; ++ix ) {
|
error("Not enough memory...");
|
||||||
std::string a;
|
if ((rc = fm_get_faults_by_id(&alm_id, p, &max_alarms)) != FM_ERR_OK) {
|
||||||
fm_alarm_to_string(p+ix,a);
|
free(p);
|
||||||
printf("%s\n",a.c_str());
|
std::string errstr = fm_error_from_int(rc);
|
||||||
}
|
error(errstr.c_str());
|
||||||
free(p);
|
}
|
||||||
exit(0);
|
printf("Ok\n");
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char**argv) {
|
size_t ix = 0;
|
||||||
int c;
|
for ( ; ix < max_alarms; ++ix ) {
|
||||||
|
std::string a;
|
||||||
if (argc < 3) {
|
fm_alarm_to_string(p + ix, a);
|
||||||
error("Wrong arguments");
|
printf("%s\n", a.c_str());
|
||||||
}
|
}
|
||||||
while ( (c=getopt(argc,argv,"c:d:D:g:G:A:"))) {
|
free(p);
|
||||||
switch(c) {
|
exit(0);
|
||||||
case 'c':
|
|
||||||
create_alarm(optarg);
|
|
||||||
break;
|
|
||||||
case 'd':
|
|
||||||
delete_alarm(optarg);
|
|
||||||
break;
|
|
||||||
case 'D':
|
|
||||||
delete_alarms(optarg);
|
|
||||||
break;
|
|
||||||
case 'g':
|
|
||||||
get_alarm(optarg);
|
|
||||||
break;
|
|
||||||
case 'G':
|
|
||||||
get_alarms(optarg);
|
|
||||||
break;
|
|
||||||
case 'A':
|
|
||||||
get_alarms_by_id(optarg);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
error("Invalid option...");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
int c;
|
||||||
|
|
||||||
|
if (argc < 3) {
|
||||||
|
error("Wrong arguments");
|
||||||
|
}
|
||||||
|
while ((c = getopt(argc, argv, "c:d:D:g:G:A:"))) {
|
||||||
|
switch (c) {
|
||||||
|
case 'c':
|
||||||
|
create_alarm(optarg);
|
||||||
|
break;
|
||||||
|
case 'd':
|
||||||
|
delete_alarm(optarg);
|
||||||
|
break;
|
||||||
|
case 'D':
|
||||||
|
delete_alarms(optarg);
|
||||||
|
break;
|
||||||
|
case 'g':
|
||||||
|
get_alarm(optarg);
|
||||||
|
break;
|
||||||
|
case 'G':
|
||||||
|
get_alarms(optarg);
|
||||||
|
break;
|
||||||
|
case 'A':
|
||||||
|
get_alarms_by_id(optarg);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
error("Invalid option...");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user