00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef _ALARMSERVICE_IDL_
00024
#define _ALARMSERVICE_IDL_
00025
00026
#include <acscomponent.idl>
00027
#include <CosProperty.idl>
00028
00029
#pragma prefix "alma"
00030
00031 module alarmsystem
00032 {
00033
00034
00035
00036
00037 struct Category
00038 {
00039 long categoryId;
00040 string name;
00041 string description;
00042 string path;
00043 boolean leaf;
00044 };
00045
00046 typedef sequence<Category>
CategorySequence;
00047
00048
00049 struct ResponsiblePerson
00050 {
00051 long responsibleId;
00052 string firstName;
00053 string familyName;
00054 string eMail;
00055 string gsmNumber;
00056 string phoneNumber;
00057 };
00058
00059 typedef sequence<ResponsiblePerson>
ResponsiblePersonSequence;
00060
00061
00062 struct Source
00063 {
00064 string sourceId;
00065 string description;
00066 ResponsiblePerson sourceResponsiblePerson;
00067 };
00068
00069 typedef sequence<Source>
SourceSequence;
00070
00071
00072 struct Triplet
00073 {
00074 string faultFamily;
00075 string faultMember;
00076 long faultCode;
00077 };
00078
00079 struct Location
00080 {
00081 string locationId;
00082 string floor;
00083 string room;
00084 string position;
00085 string mnemonic;
00086
00087
00088 string buildingNb;
00089 string site;
00090 long zone;
00091 string map;
00092 };
00093
00094 struct Timestamp
00095 {
00096
00097 long long miliseconds;
00098 long nanos;
00099 };
00100
00101 struct Status
00102 {
00103 boolean active;
00104 boolean masked;
00105 boolean reduced;
00106 Timestamp sourceTimestamp;
00107 string sourceHostname;
00108 Timestamp userTimestamp;
00109 Timestamp systemTimestamp;
00110 CosPropertyService::Properties userProperties;
00111 };
00112
00113 struct Alarm
00114 {
00115 string alarmId;
00116 Triplet alarmTriplet;
00117 string systemName;
00118 string identifier;
00119 string problemDescription;
00120 long priority;
00121 string cause;
00122 string action;
00123 string consequence;
00124 Source alarmSource;
00125 string helpURL;
00126 string piquetGSM;
00127 string piquetEmail;
00128 ResponsiblePerson alarmResponsiblePerson;
00129 Location alarmLocation;
00130 CategorySequence categories;
00131 Status alarmStatus;
00132 boolean instant;
00133 boolean nodeParent;
00134 boolean multiplicityParent;
00135 boolean nodeChild;
00136 boolean multiplicityChild;
00137 };
00138
00139 typedef sequence<Alarm>
AlarmSequence;
00140
00141
00142
00143 struct AlarmDefinition
00144 {
00145 string faultFamily;
00146 string faultMember;
00147 long faultCode;
00148 string systemName;
00149 string identifier;
00150 string problemDescription;
00151 long priority;
00152 string cause;
00153 string action;
00154 string consequence;
00155 boolean instant;
00156 string helpURL;
00157 string building;
00158 string mnemonic;
00159 string floor;
00160 string room;
00161 string position;
00162 string sourceName;
00163 long responsiblePersonId;
00164 string piquetGSM;
00165 string piquetEmail;
00166 };
00167
00168 typedef sequence<AlarmDefinition>
AlarmDefinitionSequence;
00169
00170 struct CategoryDefinition
00171 {
00172 string path;
00173 string description;
00174 };
00175
00176 typedef sequence<CategoryDefinition>
CategoryDefinitionSequence;
00177
00178 struct CategoryLink
00179 {
00180 CategoryDefinition category;
00181 AlarmDefinition alarm;
00182 };
00183
00184 typedef sequence<CategoryLink>
CategoryLinkSequence;
00185
00186 struct MaintenanceMask
00187 {
00188 long long begin;
00189 long long end;
00190 };
00191
00192 struct ModeMask
00193 {
00194 string machineMode;
00195 };
00196
00197 struct MultiplicityThreshold
00198 {
00199 AlarmDefinition parent;
00200 long threshold;
00201 };
00202
00203 typedef sequence<MultiplicityThreshold>
MultiplicityThresholdSequence;
00204
00205 struct ReductionLink
00206 {
00207 AlarmDefinition parent;
00208 AlarmDefinition child;
00209 };
00210
00211 typedef sequence<ReductionLink>
ReductionLinkSequence;
00212
00213 struct ResponsiblePersonDefinition
00214 {
00215 long responsibleId;
00216 string firstName;
00217 string familyName;
00218 string eMail;
00219 string gsmNumber;
00220 string phoneNumber;
00221 string whoURL;
00222 };
00223
00224 typedef sequence<ResponsiblePersonDefinition>
ResponsiblePersonDefinitionSequence;
00225
00226 struct SourceDefinition
00227 {
00228 string name;
00229 string description;
00230 long connectionTimeout;
00231 long responsibleId;
00232 string hostName;
00233 };
00234
00235 typedef sequence<SourceDefinition>
SourceDefinitionSequence;
00236
00237
00238
00239
00240
00241 exception
LaserDefinitionException
00242 {
00243 };
00244
00245 exception
LaserProcessingException
00246 {
00247 };
00248
00249
00250
00251
00252
00253 interface
AlarmService :
ACS::ACSComponent
00254 {
00255 typedef sequence<long>
long_sequence;
00256
00257
00258
00259
00260
00261
AlarmSequence getActiveMultiplicityChildren(in string parentId);
00262
AlarmSequence getActiveNodeChildren(in string parentId);
00263
Alarm getAlarmById(in string
id);
00264
Alarm getAlarmByTriplet(in string ff, in string fm, in
long fc);
00265
AlarmSequence getAlarmsByCategory(in
long categoryId);
00266
AlarmSequence getAlarmsByPriority(in
long priority);
00267
AlarmSequence getAlarmsByResponsiblePerson(in
long responsibleId);
00268
AlarmSequence getAlarmsBySource(in string sourceId);
00269
CategorySequence getCategories();
00270
Category getCategoryByPath(in string path);
00271
CategorySequence getCategoryChildren(in
long nodeId);
00272
Category getCategoryParent(in
long nodeId);
00273 string getCategoryRootTopic();
00274 string getHeartbeatTopic();
00275
long long getHeartbeatFrequency();
00276
Category getCategoryTreeRoot();
00277 string getClientRootTopic();
00278
00279 string getSearchRootTopic();
00280
AlarmSequence getMultiplicityChildren(in string parentId);
00281
AlarmSequence getMultiplicityParents(in string childId);
00282
long getMultiplicityThreshold(in string parentId);
00283
AlarmSequence getNodeChildren(in string parentId);
00284
AlarmSequence getNodeParents(in string childId);
00285
00286
ResponsiblePersonSequence getResponsiblePersons();
00287
SourceSequence getSources();
00288
void select(in long_sequence categoryIds, in string client) raises (
LaserProcessingException);
00289
void search(in long_sequence categoryIds, in string sql, in string clientId);
00290
void archiveSearch(in long_sequence categoryIds, in string sql, in string clientId);
00291
00292
00293
00294
00295
00296 string createAdminUser(
00297 in string name,
00298 in string password
00299 ) raises (
LaserDefinitionException);
00300 string loginAdminUser(
00301 in string name,
00302 in string password
00303 );
00304
void createCategory(
00305 in string userId,
00306 in
CategoryDefinition definition
00307 ) raises (
LaserDefinitionException);
00308
void createSource(
00309 in string userId,
00310 in
SourceDefinition definition
00311 ) raises (
LaserDefinitionException);
00312
void createAlarm(
00313 in string userId,
00314 in
AlarmDefinition definition
00315 ) raises (
LaserDefinitionException);
00316 };
00317
00318 interface
TestAlarmSource :
ACS::ACSComponent
00319 {
00320
void set_count(in
long count);
00321
00322
void active_alarm(
00323 in string fault_family,
00324 in string fault_member,
00325 in
long fault_code
00326 );
00327
00328
void terminate_alarm(
00329 in string fault_family,
00330 in string fault_member,
00331 in
long fault_code
00332 );
00333
00334
void instant_alarm(
00335 in string fault_family,
00336 in string fault_member,
00337 in
long fault_code
00338 );
00339
00340
void change_alarm(
00341 in string fault_family,
00342 in string fault_member,
00343 in
long fault_code
00344 );
00345 };
00346 };
00347
00348
#endif