Commit 3e599866 authored by Claes Sjofors's avatar Claes Sjofors

Server rt_post for email and sms added

parent fd93b6eb
......@@ -159,6 +159,7 @@ struct s_Active {
mh_eEvent event;
pwr_tAttrRef eventSound;
pwr_tString256 eventMoreText;
pwr_tString256 receiver;
pwr_tBoolean local;
sEventTab *detect_etp;
sEventTab *return_etp;
......@@ -257,6 +258,7 @@ struct s_Sup {
mh_mEventFlags EventFlags pwr_dAlignW;
pwr_tAttrRef Sound pwr_dAlignW;
pwr_tText256 MoreText pwr_dAlignW;
pwr_tString40 Recipient pwr_dAlignW;
/* Internal attributes */
pwr_sAttrRef Attribute pwr_dAlignW;
mh_uEventInfo AlarmStatus pwr_dAlignW;
......@@ -1630,6 +1632,7 @@ formatSupEvent (
mp->Object = sp->link.object;
mp->SupObject = sp->link.supObject;
strncpy(mp->EventName, sp->link.eventName, sizeof(mp->EventName));
strncpy(mp->Receiver, sup->Recipient, sizeof(mp->Receiver));
memcpy(&mp->SupInfo.mh_uSupInfo_u, sp->supInfoP, sp->supInfoSize);
*size = sizeof(mh_sMessage);
......@@ -2639,7 +2642,8 @@ initSupActiveCB (
sts = gdh_AttrrefToName(&Object, sp->link.objName, sizeof(sp->link.objName), cdh_mNName);
if (EVEN(sts))
errh_Error("Couldn't get name for supervised object\n%m", sts);
errh_Error("Couldn't get name for supervised object, %s\n%m",
cdh_ObjidToString(0, SupObject->Objid, 1), sts);
strncpy(sp->link.eventName, sp->link.objName, sizeof(sp->link.eventName));
cdh_ToUpper(sp->link.objName, NULL);
......@@ -2718,7 +2722,8 @@ initSupActiveCB (
&sp->attribute, (pwr_tAddress *)&sp->actualValue, &sp->attrDlid
);
if (EVEN(sts)) {
errh_Error("%s\n%m", "Couldn't link to supervised attribute", sts);
errh_Error("%s, %s\n%m", "Couldn't link to supervised attribute",
cdh_ObjidToString(0, SupObject->Objid, 1), sts);
sp->agent = mh_eAgent_None;
}
}
......
......@@ -124,6 +124,7 @@
# define cPrio_sysmon (cPrio_base + 16)
# define cPrio_opc_server (cPrio_base + 15)
# define cPrio_statussrv (cPrio_base + 15)
# define cPrio_post (cPrio_base + 5)
# define cPrio_sevhistmon (cPrio_base + 15)
# define cPrio_sev_server (cPrio_base + 15)
# define cPrio_plc_init (cPrio_base + 5)
......@@ -2094,6 +2095,9 @@ ini_ProcTable (
pp = ini_ProcInsert(sts, cp, "pwr_statussrv", "pwr_statussrv_%d", 0, 1, "rt_statussrv", cPrio_statussrv, 0, "");
pp->proc.flags.b.system = 1;
pp = ini_ProcInsert(sts, cp, "pwr_post", "pwr_post_%d", 0, 1, "rt_post", cPrio_post, 0, "");
pp->proc.flags.b.system = 1;
pp = ini_ProcInsert(sts, cp, "pwr_sevhistmon", "pwr_sevhistmon_%d", 0, 1, "rt_sevhistmon", cPrio_sevhistmon, 0, "");
pp->proc.flags.b.system = 1;
......
include $(pwre_dir_symbols)
-include $(pwre_sroot)/tools/bld/src/$(os_name)/$(hw_name)/$(type_name)_generic.mk
ifeq ($($(type_name)_generic_mk),)
-include $(pwre_sroot)/tools/bld/src/$(os_name)/$(type_name)_generic.mk
endif
ifeq ($($(type_name)_generic_mk),)
include $(pwre_sroot)/tools/bld/src/$(type_name)_generic.mk
endif
-include ../../special.mk
-include ../special.mk
-include special.mk
ifndef link_rule_mk
link_rule_mk := 1
link = $(ldxx) $(linkflags) $(domap) -o $(export_exe) \
$(export_obj) $(objects) $(rt_msg_objs) \
$(pwr_obj)/rt_io_user.o\
$(pwre_conf_libdir) $(pwre_conf_libpwrrt) $(pwre_conf_lib)
endif
This diff is collapsed.
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2011 SSAB Oxelosund AB.
*
* This file is part of Proview.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Proview. If not, see <http://www.gnu.org/licenses/>
*
* Linking Proview statically or dynamically with other modules is
* making a combined work based on Proview. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* In addition, as a special exception, the copyright holders of
* Proview give you permission to, from the build function in the
* Proview Configurator, combine Proview with modules generated by the
* Proview PLC Editor to a PLC program, regardless of the license
* terms of these modules. You may copy and distribute the resulting
* combined work under the terms of your choice, provided that every
* copy of the combined work is accompanied by a complete copy of
* the source code of Proview (the version used to produce the
* combined work), being distributed under the terms of the GNU
* General Public License plus this exception.
*/
#ifndef rt_post_h
#define rt_post_h
using namespace std;
#include <string.h>
#ifndef pwr_h
# include "pwr.h"
#endif
#ifndef rt_qmon_h
# include "rt_qcom.h"
#endif
#ifndef rt_mh_h
# include "rt_mh.h"
#endif
#ifndef rt_mh_outunit_h
# include "rt_mh_outunit.h"
#endif
#ifndef co_user_h
# include "co_user.h"
#endif
#include "pwr_baseclasses.h"
/*! \file rt_post.h
\brief Contains the rt_post class. */
/*! \addtogroup rt */
/*@{*/
class rt_post {
public:
rt_post() : scan_time(1), conf(0), udb(0), sent_sms_startidx(0), sent_sms_endidx(0),
sent_email_startidx(0), sent_email_endidx(0)
{ strcpy( systemgroup, ""); }
void init( qcom_sQid *qid);
void open();
void close();
void scan();
double scantime() { return scan_time;}
void format_cmd( char *cmd, char *format, char *address, char *text);
void replace_symbol( char *outstr, char *instr);
void email_register( mh_sEventId *id);
void sms_register( mh_sEventId *id);
int email_check( mh_sEventId *id);
int sms_check( mh_sEventId *id);
static pwr_tStatus mh_ack_bc( mh_sAck *MsgP);
static pwr_tStatus mh_return_bc( mh_sReturn *MsgP);
static pwr_tStatus mh_alarm_bc( mh_sMessage *MsgP);
static pwr_tStatus mh_block_bc( mh_sBlock *MsgP);
static pwr_tStatus mh_cancel_bc( mh_sReturn *MsgP);
static pwr_tStatus mh_info_bc( mh_sMessage *MsgP);
static pwr_tStatus mh_clear_alarmlist_bc( pwr_tNodeIndex nix);
static pwr_tStatus mh_clear_blocklist_bc( pwr_tNodeIndex nix);
double scan_time;
pwr_sClass_PostConfig *conf;
GeUser *udb;
char systemgroup[80];
mh_sEventId sent_sms[200];
mh_sEventId sent_email[200];
unsigned int sent_sms_startidx;
unsigned int sent_sms_endidx;
unsigned int sent_email_startidx;
unsigned int sent_email_endidx;
};
/*@}*/
#endif
......@@ -46,6 +46,7 @@
#include "rt_qcom_msg.h"
#include "rt_ini_event.h"
#include "rt_errh.h"
#include "rt_aproc.h"
#include "rt_sev_net.h"
#include "rt_sevhistmon.h"
#include "rt_sev_msg.h"
......@@ -64,8 +65,8 @@ int rt_sevhistmon::init()
pwr_tOid conf_oid;
pwr_tOName oname;
errh_Init("pwr_sevhistmon", errh_eNAnix);
// errh_SetStatus( PWR__SRVSTARTUP);
errh_Init("pwr_sevhistmon", errh_eAnix_sevhistmon);
errh_SetStatus( PWR__SRVSTARTUP);
sts = gdh_Init( "rt_sevhistmon");
if ( EVEN(sts)) throw co_error(sts);
......@@ -83,6 +84,8 @@ int rt_sevhistmon::init()
m_sts = gdh_RefObjectInfo( oname, (void **)&m_confp, &m_conf_refid, sizeof(*m_confp));
if ( EVEN(m_sts)) throw co_error(m_sts);
aproc_RegisterObject( conf_oid);
m_confp->Status = m_server_status = PWR__SRVSTARTUP;
m_scantime = m_confp->ScanTime;
if ( m_scantime < 0.02)
......@@ -594,6 +597,8 @@ int rt_sevhistmon::close()
{
close_objects();
m_confp->Status = PWR__SRVTERM;
errh_SetStatus( PWR__SRVTERM);
gdh_UnrefObjectInfo( m_conf_refid);
return 1;
}
......@@ -718,6 +723,7 @@ void rt_sevhistmon::set_status()
}
}
m_confp->Status = sts;
errh_SetStatus( sts);
}
int rt_sevhistmon::retry_connect()
......@@ -1045,6 +1051,7 @@ int rt_sevhistmon::mainloop()
if ( m_loopcnt % reconnect_time == 0)
retry_connect();
}
aproc_TimeStamp( m_scantime, 5);
continue;
}
......@@ -1072,7 +1079,7 @@ int rt_sevhistmon::mainloop()
new_event.m = ep->mask;
if (new_event.b.oldPlcStop && !m_swap) {
m_swap = 1;
// errh_SetStatus( PWR__SRVRESTART);
errh_SetStatus( PWR__SRVRESTART);
m_confp->Status = PWR__SRVRESTART;
close();
}
......@@ -1086,7 +1093,7 @@ int rt_sevhistmon::mainloop()
errh_Error( "SevHistMonitor terminating, %m", e.sts());
exit(0);
}
// errh_SetStatus( PWR__SRUN);
errh_SetStatus( PWR__SRUN);
m_confp->Status = PWR__SRUN;
errh_Info("Warm restart completed");
}
......
......@@ -1070,11 +1070,11 @@ struct pwr_s_Node {
pwr_tDeltaTime RestartStallTime pwr_dAlignLW;
pwr_tTime SystemTime pwr_dAlignLW;
pwr_tNetStatus SystemStatus pwr_dAlignW;
pwr_tStatus ProcStatus[40] pwr_dAlignW;
pwr_tStatus ProcMsgSeverity[40] pwr_dAlignW;
pwr_tString80 ProcMessage[40] pwr_dAlignW;
pwr_tOid ProcObject[40] pwr_dAlignW;
pwr_tTime ProcTimeStamp[40] pwr_dAlignLW;
pwr_tStatus ProcStatus[60] pwr_dAlignW;
pwr_tStatus ProcMsgSeverity[60] pwr_dAlignW;
pwr_tString80 ProcMessage[60] pwr_dAlignW;
pwr_tOid ProcObject[60] pwr_dAlignW;
pwr_tTime ProcTimeStamp[60] pwr_dAlignLW;
pwr_tBoolean EmergBreakTrue pwr_dAlignW;
pwr_tUInt32 EmergBreakSelect pwr_dAlignW;
};
......
......@@ -218,6 +218,8 @@ class UserList {
char *email, char *phone, char *sms);
UserList *next_user() { return next;}
char *get_name() { return name;}
void get_sms( char *s, int size) { strncpy(s, sms, size);}
void get_email( char *s, int size) { strncpy( s, email, size);}
unsigned long get_priv() { return priv;}
static char *pwcrypt( const char *str);
};
......
......@@ -64,9 +64,11 @@ pwrs_Node_Exec (
errh_eSeverity severity;
errh_eSeverity system_severity;
int new_idx = -1;
static int supervise[40] = {
static int supervise[60] = {
0,0,0,0,1,1,1,0,1,1,
1,1,1,0,0,1,0,1,1,1,
1,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1};
static int reboot_done = 0;
......
......@@ -119,26 +119,28 @@ typedef enum {
errh_eAnix_remote = 18,
errh_eAnix_opc_server = 19,
errh_eAnix_statussrv = 20,
errh_eAnix_appl1 = 21,
errh_eAnix_appl2 = 22,
errh_eAnix_appl3 = 23,
errh_eAnix_appl4 = 24,
errh_eAnix_appl5 = 25,
errh_eAnix_appl6 = 26,
errh_eAnix_appl7 = 27,
errh_eAnix_appl8 = 28,
errh_eAnix_appl9 = 29,
errh_eAnix_appl10 = 30,
errh_eAnix_appl11 = 31,
errh_eAnix_appl12 = 32,
errh_eAnix_appl13 = 33,
errh_eAnix_appl14 = 34,
errh_eAnix_appl15 = 35,
errh_eAnix_appl16 = 36,
errh_eAnix_appl17 = 37,
errh_eAnix_appl18 = 38,
errh_eAnix_appl19 = 39,
errh_eAnix_appl20 = 40
errh_eAnix_post = 21,
errh_eAnix_sevhistmon = 22,
errh_eAnix_appl1 = 41,
errh_eAnix_appl2 = 42,
errh_eAnix_appl3 = 43,
errh_eAnix_appl4 = 44,
errh_eAnix_appl5 = 45,
errh_eAnix_appl6 = 46,
errh_eAnix_appl7 = 47,
errh_eAnix_appl8 = 48,
errh_eAnix_appl9 = 49,
errh_eAnix_appl10 = 50,
errh_eAnix_appl11 = 51,
errh_eAnix_appl12 = 52,
errh_eAnix_appl13 = 53,
errh_eAnix_appl14 = 54,
errh_eAnix_appl15 = 55,
errh_eAnix_appl16 = 56,
errh_eAnix_appl17 = 57,
errh_eAnix_appl18 = 58,
errh_eAnix_appl19 = 59,
errh_eAnix_appl20 = 50
} errh_eAnix;
/**
......
......@@ -166,7 +166,8 @@ enum mh_eOutunitType{
mh_eOutunitType_File = 3,
mh_eOutunitType_Terminal = 4,
mh_eOutunitType_Logger = 5,
mh_eOutunitType_ = 6
mh_eOutunitType_Post = 6,
mh_eOutunitType_ = 7
};
enum mh_eSource {
......@@ -379,6 +380,7 @@ struct mh_sMessage {
pwr_sAttrRef Object;
pwr_sAttrRef SupObject;
pwr_tAName EventName;
pwr_tString40 Receiver;
};
struct mh_sReturn {
......
......@@ -309,6 +309,11 @@ mh_OutunitConnect (
l.pSelL = (void *)&((pwr_sClass_EventPrinter*) p)->SelectList[0];
l.SelectListIsUpdated = NULL;
break;
case pwr_cClass_PostConfig:
type = mh_eOutunitType_Post;
l.pSelL = (void *)&((pwr_sClass_PostConfig*) p)->EventSelectList[0];
l.SelectListIsUpdated = NULL;
break;
default:
return MH__NOOUTUNIT;
break;
......
!
! Proview Open Source Process Control.
! Copyright (C) 2005-2011 SSAB Oxelosund AB.
!
! This file is part of Proview.
!
! This program is free software; you can redistribute it and/or
! modify it under the terms of the GNU General Public License as
! published by the Free Software Foundation, either version 2 of
! the License, or (at your option) any later version.
!
! This program is distributed in the hope that it will be useful
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with Proview. If not, see <http://www.gnu.org/licenses/>
!
! Linking Proview statically or dynamically with other modules is
! making a combined work based on Proview. Thus, the terms and
! conditions of the GNU General Public License cover the whole
! combination.
!
! In addition, as a special exception, the copyright holders of
! Proview give you permission to, from the build function in the
! Proview Configurator, combine Proview with modules generated by the
! Proview PLC Editor to a PLC program, regardless of the license
! terms of these modules. You may copy and distribute the resulting
! combined work under the terms of your choice, provided that every
! copy of the combined work is accompanied by a complete copy of
! the source code of Proview (the version used to produce the
! combined work), being distributed under the terms of the GNU
! General Public License plus this exception.
!
! pwrb_c_a_symboldefinition.wb_load -- Defines the class SymbolDefinition.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Summary Definition of symbols.
! Definition of symbols.
!*/
Object SymbolDefinition $ClassDef 549
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
Attr Method = pwr_eMethod_Standard
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "SymbolDefinition"
EndBody
!/**
! Symbol name.
!*/
Object Name $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! Symbol value.
!*/
Object Value $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
EndObject
Object Template SymbolDefinition
Body RtBody
EndBody
EndObject
EndObject
EndSObject
......@@ -342,6 +342,15 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Recipient for epost and mms alarms.
! The recipient is a user defined in the user database.
!*/
Object Recipient $Attribute 41
Body SysBody
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
!/**
! Specifies the complete name of supervised parameter.
! Attribute is filled in by the user if the input named
! IN is left open. If the input is connected the names
......
......@@ -379,6 +379,15 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Recipient for epost and mms alarms.
! The recipient is a user defined in the user database.
!*/
Object Recipient $Attribute 48
Body SysBody
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
!/**
! Attribute is filled in by the user if the input named
! IN is left open. If the input is connected the names
! are filled in by the PROVIEW/R system at compilation.
......
......@@ -342,6 +342,15 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Recipient for epost and mms alarms.
! The recipient is a user defined in the user database.
!*/
Object Recipient $Attribute 38
Body SysBody
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
!/**
! Attribute is filled in by the user if the input named
! IN is left open. If the input is connected the names
! are filled in by the PROVIEW/R system at compilation.
......
......@@ -334,6 +334,15 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Recipient for epost and mms alarms.
! The recipient is a user defined in the user database.
!*/
Object Recipient $Attribute 44
Body SysBody
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
!/**
! Attribute is filled in by the server process to the
! NodeLinkSup object itself.
!*/
......
......@@ -257,7 +257,7 @@ SObject pwrb:Class
! identity according to the calling parameter EventName.
!
! SelectList specifies the hierarchies from which
! messages are to be sent to the user. Up to 20 different
! messages are to be sent to the user. Up to 40 different
! hierarchies can be specified. If messages from e.g. a
! Watchdog object in a node will be received, then the
! name of the node will be specified.
......
!
! Proview Open Source Process Control.
! Copyright (C) 2005-2011 SSAB Oxelosund AB.
!
! This file is part of Proview.
!
! This program is free software; you can redistribute it and/or
! modify it under the terms of the GNU General Public License as
! published by the Free Software Foundation, either version 2 of
! the License, or (at your option) any later version.
!
! This program is distributed in the hope that it will be useful
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with Proview. If not, see <http://www.gnu.org/licenses/>
!
! Linking Proview statically or dynamically with other modules is
! making a combined work based on Proview. Thus, the terms and
! conditions of the GNU General Public License cover the whole
! combination.
!
! In addition, as a special exception, the copyright holders of
! Proview give you permission to, from the build function in the
! Proview Configurator, combine Proview with modules generated by the
! Proview PLC Editor to a PLC program, regardless of the license
! terms of these modules. You may copy and distribute the resulting
! combined work under the terms of your choice, provided that every
! copy of the combined work is accompanied by a complete copy of
! the source code of Proview (the version used to produce the
! combined work), being distributed under the terms of the GNU
! General Public License plus this exception.
!
! pwrb_c_postconfig.wb_load -- Defines the class PostConfig.
!
SObject pwrb:Class
!/**
! @Version 1.0
! @Group Servers,NodeConfiguration
! @Summary Configuration of event post server.
! Configuration of event post server.
!*/
Object PostConfig $ClassDef 548
Body SysBody
Attr Editor = pwr_eEditor_AttrEd
Attr Method = pwr_eMethod_Standard
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "PostConfig"
EndBody
!/**
! Specifies the email shell command.
!*/
Object EmailCmd $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$String256"
EndBody
EndObject
!/**
! Specifies the SMS shell command.
!*/
Object SMS_Cmd $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$String256"
EndBody
EndObject
!/**
! SelectList specifies the hierarchies from which
! messages are to be sent to the user. Up to 20 different
! hierarchies can be specified. If messages from e.g. a
! Watchdog object in a node will be received, then the
! name of the node will be specified.
!
! Note! If the SelectList is left blank no message at all is
! sent to the user.
!*/
Object EventSelectList $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$String80"
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 40
EndBody
EndObject
!/**
! Symbol definitions.
!*/
Object Symbols $Attribute 4
Body SysBody
Attr TypeRef = "pwrb:Class-SymbolDefinition"
Attr Flags |= PWR_MASK_ARRAY
Attr Flags |= PWR_MASK_CLASS
Attr Elements = 20
EndBody
EndObject
!/**
! Server status.
!*/
Object Status $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$Status"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
EndBody
EndObject
!/**
! Number of sent SMS.
!*/
Object SentSMS $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
EndBody
EndObject
!/**
! Number of sent Email.
!*/
Object SentEmail $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
EndBody
EndObject
!/**
! Disable post.
!*/
Object Disable $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
!/**
! Print posted commands to console log.
!*/
Object Log $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
EndObject
Object Template PostConfig
Body RtBody
EndBody
EndObject
EndObject
EndSObject
......@@ -125,6 +125,28 @@ SObject pwrb:Type
Attr Value = 64
EndBody
EndObject
!/**
! The message will be handle by the email server and
! forwarded to the specified receiver.
!*/
Object Email $Bit
Body SysBody
Attr PgmName = "Email"
Attr Text = "Email"
Attr Value = 128
EndBody
EndObject
!/**
! The message will be handle by the SMS server and
! forwarded to the specified receiver.
!*/
Object SMS $Bit
Body SysBody
Attr PgmName = "SMS"
Attr Text = "SMS"
Attr Value = 256
EndBody
EndObject
EndObject
EndSObject
......
......@@ -204,7 +204,7 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 40
Attr Elements = 60
EndBody
EndObject
!/**
......@@ -216,7 +216,7 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 40
Attr Elements = 60
EndBody
EndObject
!/**
......@@ -228,7 +228,7 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 40
Attr Elements = 60
EndBody
EndObject
!/**
......@@ -240,7 +240,7 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 40
Attr Elements = 60
EndBody
EndObject
!/**
......@@ -252,7 +252,7 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 40
Attr Elements = 60
EndBody
EndObject
!/**
......
......@@ -2959,6 +2959,7 @@ pwr_tStatus lfu_check_appl_file( char *nodename, int bus_number)
"#pwr_webmonelog, , noload, norun, , 5, debug, \"\"" << endl <<
"#pwr_opc_server, , noload, norun, , 5, debug, \"\"" << endl <<
"#pwr_statussrv, , noload, norun, , 5, debug, \"\"" << endl <<
"#pwr_post, , noload, norun, , 5, debug, \"\"" << endl <<
"#pwr_sevhistmon, , noload, norun, , 5, debug, \"\"" << endl <<
"#pwr_sev_server, , noload, norun, , 5, debug, \"\"" << endl;
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment