Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _CERNALARMSERVICE_IDL_
00024 #define _CERNALARMSERVICE_IDL_
00025
00026 #include <CosProperty.idl>
00027 #include <AcsAlarmSystem.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 Location
00073 {
00074 string locationId;
00075 string floor;
00076 string room;
00077 string position;
00078 string mnemonic;
00079
00080
00081 string buildingNb;
00082 string site;
00083 long zone;
00084 string map;
00085 };
00086
00087 struct Timestamp
00088 {
00089
00090 long long miliseconds;
00091 long nanos;
00092 };
00093
00094 struct Status
00095 {
00096 boolean active;
00097 boolean masked;
00098 boolean reduced;
00099 Timestamp sourceTimestamp;
00100 string sourceHostname;
00101 Timestamp userTimestamp;
00102 Timestamp systemTimestamp;
00103 CosPropertyService::Properties userProperties;
00104 };
00105
00106 struct Alarm
00107 {
00108 string alarmId;
00109 Triplet alarmTriplet;
00110 string systemName;
00111 string identifier;
00112 string problemDescription;
00113 long priority;
00114 string cause;
00115 string action;
00116 string consequence;
00117 Source alarmSource;
00118 string helpURL;
00119 string piquetGSM;
00120 string piquetEmail;
00121 ResponsiblePerson alarmResponsiblePerson;
00122 Location alarmLocation;
00123 CategorySequence categories;
00124 Status alarmStatus;
00125 boolean instant;
00126 boolean nodeParent;
00127 boolean multiplicityParent;
00128 boolean nodeChild;
00129 boolean multiplicityChild;
00130 };
00131
00132 typedef sequence<Alarm> AlarmSequence;
00133
00134
00135
00136 struct AlarmDefinition
00137 {
00138 string faultFamily;
00139 string faultMember;
00140 long faultCode;
00141 string systemName;
00142 string identifier;
00143 string problemDescription;
00144 long priority;
00145 string cause;
00146 string action;
00147 string consequence;
00148 boolean instant;
00149 string helpURL;
00150 string building;
00151 string mnemonic;
00152 string floor;
00153 string room;
00154 string position;
00155 string sourceName;
00156 long responsiblePersonId;
00157 string piquetGSM;
00158 string piquetEmail;
00159 };
00160
00161 typedef sequence<AlarmDefinition> AlarmDefinitionSequence;
00162
00163 struct CategoryDefinition
00164 {
00165 string path;
00166 string description;
00167 };
00168
00169 typedef sequence<CategoryDefinition> CategoryDefinitionSequence;
00170
00171 struct CategoryLink
00172 {
00173 CategoryDefinition category;
00174 AlarmDefinition alarm;
00175 };
00176
00177 typedef sequence<CategoryLink> CategoryLinkSequence;
00178
00179 struct MaintenanceMask
00180 {
00181 long long begin;
00182 long long end;
00183 };
00184
00185 struct ModeMask
00186 {
00187 string machineMode;
00188 };
00189
00190 struct MultiplicityThreshold
00191 {
00192 AlarmDefinition parent;
00193 long threshold;
00194 };
00195
00196 typedef sequence<MultiplicityThreshold> MultiplicityThresholdSequence;
00197
00198 struct ReductionLink
00199 {
00200 AlarmDefinition parent;
00201 AlarmDefinition child;
00202 };
00203
00204 typedef sequence<ReductionLink> ReductionLinkSequence;
00205
00206 struct ResponsiblePersonDefinition
00207 {
00208 long responsibleId;
00209 string firstName;
00210 string familyName;
00211 string eMail;
00212 string gsmNumber;
00213 string phoneNumber;
00214 string whoURL;
00215 };
00216
00217 typedef sequence<ResponsiblePersonDefinition> ResponsiblePersonDefinitionSequence;
00218
00219 struct SourceDefinition
00220 {
00221 string name;
00222 string description;
00223 long connectionTimeout;
00224 long responsibleId;
00225 string hostName;
00226 };
00227
00228 typedef sequence<SourceDefinition> SourceDefinitionSequence;
00229
00230
00231
00232
00233
00234 exception LaserDefinitionException
00235 {
00236 };
00237
00238 exception LaserProcessingException
00239 {
00240 };
00241
00242
00243
00244
00245 interface CERNAlarmService: AlarmService
00246 {
00247 typedef sequence<long> long_sequence;
00248
00249
00250
00251
00252
00253 AlarmSequence getActiveMultiplicityChildren(in string parentId);
00254 AlarmSequence getActiveNodeChildren(in string parentId);
00255 Alarm getAlarmById(in string id);
00256 Alarm getAlarmByTriplet(in string ff, in string fm, in long fc);
00257 AlarmSequence getAlarmsByCategory(in long categoryId);
00258 AlarmSequence getAlarmsByPriority(in long priority);
00259 AlarmSequence getAlarmsByResponsiblePerson(in long responsibleId);
00260 AlarmSequence getAlarmsBySource(in string sourceId);
00261 CategorySequence getCategories();
00262 Category getCategoryByPath(in string path);
00263 CategorySequence getCategoryChildren(in long nodeId);
00264 Category getCategoryParent(in long nodeId);
00265 string getCategoryRootTopic();
00266 string getHeartbeatTopic();
00267 long long getHeartbeatFrequency();
00268 Category getCategoryTreeRoot();
00269 string getClientRootTopic();
00270
00271 string getSearchRootTopic();
00272 AlarmSequence getMultiplicityChildren(in string parentId);
00273 AlarmSequence getMultiplicityParents(in string childId);
00274 long getMultiplicityThreshold(in string parentId);
00275 AlarmSequence getNodeChildren(in string parentId);
00276 AlarmSequence getNodeParents(in string childId);
00277
00278 ResponsiblePersonSequence getResponsiblePersons();
00279 SourceSequence getSources();
00280 void select(in long_sequence categoryIds, in string client) raises (LaserProcessingException);
00281 void search(in long_sequence categoryIds, in string sql, in string clientId);
00282 void archiveSearch(in long_sequence categoryIds, in string sql, in string clientId);
00283
00284
00285
00286
00287
00288 string createAdminUser(
00289 in string name,
00290 in string password
00291 ) raises (LaserDefinitionException);
00292 string loginAdminUser(
00293 in string name,
00294 in string password
00295 );
00296 void createCategory(
00297 in string userId,
00298 in CategoryDefinition definition
00299 ) raises (LaserDefinitionException);
00300 void createSource(
00301 in string userId,
00302 in SourceDefinition definition
00303 ) raises (LaserDefinitionException);
00304 void createAlarm(
00305 in string userId,
00306 in AlarmDefinition definition
00307 ) raises (LaserDefinitionException);
00308
00309 };
00310 };
00311
00312 #endif
00313