ToiSchedulerService.idl
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef TOISCHEDULERSERVICE_IDL
00016 #define TOISCHEDULERSERVICE_IDL
00017
00018 #include "TToiInvalidArgumentException.idl"
00019 #include "TToiNotEnoughResourcesException.idl"
00020 #include "TToiOperationNotSupportedException.idl"
00021 #include "TToiPermissionDeniedException.idl"
00022 #include "ToiEventTarget.idl"
00023
00024
00025 interface ToiSchedulerServiceSeries;
00026
00027 interface ToiSchedulerServiceBooking;
00028
00029 interface ToiSchedulerServiceSolution;
00030
00051
00052
00055 interface ToiSchedulerService : ToiEventTarget {
00056
00059
00063 const long ON_SCHEDULED_START = 2200;
00064
00068 const long ON_SCHEDULED_STOP = 2201;
00069
00073 const long ON_SCHEDULED_TRIGGER = 2202;
00074
00078 const long ON_BOOKINGS_ADDED = 2203;
00079
00083 const long ON_BOOKINGS_REMOVED = 2204;
00084
00088 const long ON_BOOKINGS_CHANGED = 2205;
00089
00093 const long ON_SERIES_CHANGED = 2206;
00094
00096
00099 typedef long TToiBookingId;
00100
00108 const TToiBookingId BOOKING_ID_NONE = 0;
00109
00112 typedef long TToiSeriesId;
00113
00119 const TToiSeriesId SERIES_ID_NONE = 0;
00120
00124 typedef long TToiTime;
00125
00131 const TToiTime TIME_NOW = -1;
00132
00136 typedef long TToiWeekdayMask;
00137
00143 const long WEEKDAY_MONDAY = 1;
00144
00150 const long WEEKDAY_TUESDAY = 2;
00151
00157 const long WEEKDAY_WEDNESDAY = 4;
00158
00164 const long WEEKDAY_THURSDAY = 8;
00165
00171 const long WEEKDAY_FRIDAY = 16;
00172
00178 const long WEEKDAY_SATURDAY = 32;
00179
00185 const long WEEKDAY_SUNDAY = 64;
00186
00192 const long WEEKDAY_ALL_WEEKDAYS = 127;
00193
00196 typedef sequence < TToiBookingId > TToiBookingIdSequence;
00197
00200 typedef sequence < TToiSeriesId > TToiSeriesIdSequence;
00201
00202 typedef sequence < ToiSchedulerServiceBooking > TToiBookingSequence;
00203
00208
00209 typedef long TToiConflictStrategy;
00212
00219
00220 const TToiConflictStrategy CONFLICT_STRATEGY_FAIL = 0;
00221
00228
00229 const TToiConflictStrategy CONFLICT_STRATEGY_SKIP_BOOKINGS = 1;
00230
00232
00237
00238 typedef long TToiSolutionType;
00241
00247
00248 const TToiSolutionType SOLUTION_TYPE_NONE = 0;
00249
00255
00256 const TToiSolutionType SOLUTION_TYPE_REMOVE = 1;
00257
00259
00265 typedef sequence < ToiSchedulerServiceSolution > TToiConflictSequence;
00266
00271 typedef long TToiDelta;
00272
00276 typedef sequence < TToiDelta > TToiDeltaSequence;
00277
00279 typedef sequence < string > TToiParameterNameSequence;
00280
00282 typedef sequence < string > TToiParameterValueSequence;
00283
00311
00312 TToiBookingId schedule(in string category,
00313 in string activity,
00314 in TToiTime start,
00315 in long duration)
00316 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00317
00353
00354 TToiSeriesId scheduleSeries(in string category,
00355 in string activity,
00356 in TToiTime start,
00357 in long duration,
00358 in long weekdays,
00359 in long numberOfOccurrences,
00360 in TToiConflictStrategy conflictStrategy)
00361 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00362
00397 void reschedule(in TToiBookingId id,
00398 in string category,
00399 in string activity,
00400 in TToiTime start,
00401 in long duration)
00402 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00403
00413 void remove(in TToiBookingId id)
00414 raises (TToiInvalidArgumentException);
00415
00426 void removeSeries(in TToiSeriesId id)
00427 raises (TToiInvalidArgumentException);
00428
00457
00458 TToiConflictSequence getConflicts(in TToiBookingId id,
00459 in string category,
00460 in string activity,
00461 in TToiTime start,
00462 in long duration)
00463 raises (TToiInvalidArgumentException);
00464
00500
00501 TToiConflictSequence getSeriesConflicts(in TToiSeriesId id,
00502 in string category,
00503 in string activity,
00504 in TToiTime start,
00505 in long duration,
00506 in long weekdays,
00507 in long occurrence)
00508 raises (TToiInvalidArgumentException);
00509
00521
00522 TToiTime getNextStartTime(in string categoryExpression);
00523
00535
00536 ToiSchedulerServiceBooking getBooking(in TToiBookingId id)
00537 raises (TToiInvalidArgumentException);
00538
00551
00552 ToiSchedulerServiceSeries getSeries(in TToiSeriesId id)
00553 raises (TToiInvalidArgumentException);
00554
00571
00572
00573
00574
00575 TToiBookingIdSequence getBookingIds(in string categoryExpression,
00576 in TToiTime start,
00577 in TToiTime stop)
00578 raises (TToiInvalidArgumentException);
00579
00591
00592 TToiSeriesIdSequence getSeriesIds(in string categoryExpression);
00593
00605
00606 TToiBookingIdSequence getBookingIdsForSeries(in TToiSeriesId seriesId)
00607 raises (TToiInvalidArgumentException);
00608
00622 void addTrigger(in TToiBookingId id,
00623 in TToiDelta delta)
00624 raises (TToiInvalidArgumentException);
00625
00638 void removeTrigger(in TToiBookingId id,
00639 in TToiDelta delta)
00640 raises (TToiInvalidArgumentException);
00641
00655 void addTriggerOnBookings(in TToiBookingIdSequence ids,
00656 in TToiDelta delta)
00657 raises (TToiInvalidArgumentException);
00658
00672 void removeTriggerOnBookings(in TToiBookingIdSequence ids,
00673 in TToiDelta delta)
00674 raises (TToiInvalidArgumentException);
00675
00687
00688 TToiDeltaSequence getTriggers(in TToiBookingId id)
00689 raises (TToiInvalidArgumentException);
00690
00704 void setParameter(in TToiBookingId id,
00705 in string name,
00706 in string value)
00707 raises (TToiInvalidArgumentException);
00708
00719 void unsetParameter(in TToiBookingId id,
00720 in string name)
00721 raises (TToiInvalidArgumentException);
00722
00736
00737 string getParameter(in TToiBookingId id,
00738 in string name)
00739 raises (TToiInvalidArgumentException);
00740
00751
00752 TToiParameterNameSequence getParameterNames(in TToiBookingId id)
00753 raises (TToiInvalidArgumentException);
00754
00769 void setParametersOnBookings(in TToiBookingIdSequence ids,
00770 in TToiParameterNameSequence names,
00771 in TToiParameterValueSequence values)
00772 raises (TToiInvalidArgumentException);
00773
00788 void setSeriesParameter(in TToiSeriesId id,
00789 in string name,
00790 in string value)
00791 raises (TToiInvalidArgumentException);
00792
00804 void unsetSeriesParameter(in TToiSeriesId id,
00805 in string name)
00806 raises (TToiInvalidArgumentException);
00807
00821
00822 string getSeriesParameter(in TToiSeriesId id,
00823 in string name)
00824 raises (TToiInvalidArgumentException);
00825
00837
00838 TToiParameterNameSequence getSeriesParameterNames(in TToiSeriesId id)
00839 raises (TToiInvalidArgumentException);
00840
00851
00852
00853
00854 void setCategorySubscription(in ToiEventListener eventListener,
00855 in string categoryExpression)
00856 raises (TToiInvalidArgumentException);
00857
00858 };
00859
00860 #endif