ToiSchedulerService.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * ToiSchedulerService.idl
00005  *
00006  * This file was created by the Motorola IDL backend, 
00007  * which is based on the OmniORB IDL parser.
00008  * Please do not modify.
00009  *
00010  * Copyright (c) 2009 Motorola Inc. All Rights Reserved.
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 //@ [Struct(Interface=IToiSchedulerService,Name=TToiSeries)]
00025 interface ToiSchedulerServiceSeries;
00026 //@ [Struct(Interface=IToiSchedulerService,Name=TToiBooking)]
00027 interface ToiSchedulerServiceBooking;
00028 //@ [Struct(Interface=IToiSchedulerService,Name=TToiSolution)]
00029 interface ToiSchedulerServiceSolution;
00030 
00051 //@ [EventTarget(EventObserver=IToiSchedulerObserver)]
00052 //@ [Service(Name=SchedulerService)]
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   //@ [Enum]
00209   typedef long TToiConflictStrategy;
00212   
00219   //@ [Enumerator(Enum=TToiConflictStrategy,Name=CONFLICT_STRATEGY_FAIL)]
00220   const TToiConflictStrategy CONFLICT_STRATEGY_FAIL = 0;
00221   
00228   //@ [Enumerator(Enum=TToiConflictStrategy,Name=CONFLICT_STRATEGY_SKIP_BOOKINGS)]
00229   const TToiConflictStrategy CONFLICT_STRATEGY_SKIP_BOOKINGS = 1;
00230   
00232 
00237   //@ [Enum]
00238   typedef long TToiSolutionType;
00241   
00247   //@ [Enumerator(Enum=TToiSolutionType,Name=SOLUTION_TYPE_NONE)]
00248   const TToiSolutionType SOLUTION_TYPE_NONE = 0;
00249   
00255   //@ [Enumerator(Enum=TToiSolutionType,Name=SOLUTION_TYPE_REMOVE)]
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   //@ [OutParam(Name=id,Position=5,IsBinary=0, Bound=0)]
00312   TToiBookingId schedule(in string category, 
00313         in string activity, 
00314         in TToiTime start, 
00315         in long duration)
00316    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00317   
00353   //@ [OutParam(Name=id,Position=8,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=conflicts,Position=6,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=conflicts,Position=8,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=nextStart,Position=2,IsBinary=0, Bound=0)]
00522   TToiTime getNextStartTime(in string categoryExpression);
00523   
00535   //@ [OutParam(Name=booking,Position=2,IsBinary=0, Bound=0)]
00536   ToiSchedulerServiceBooking getBooking(in TToiBookingId id)
00537    raises (TToiInvalidArgumentException);
00538   
00551   //@ [OutParam(Name=series,Position=2,IsBinary=0, Bound=0)]
00552   ToiSchedulerServiceSeries getSeries(in TToiSeriesId id)
00553    raises (TToiInvalidArgumentException);
00554   
00571   //@ [ExtendIpcMessage(Out)]
00572   
00573   
00574   //@ [OutParam(Name=bookings,Position=4,IsBinary=0, Bound=0)]
00575   TToiBookingIdSequence getBookingIds(in string categoryExpression, 
00576         in TToiTime start, 
00577         in TToiTime stop)
00578    raises (TToiInvalidArgumentException);
00579   
00591   //@ [OutParam(Name=seriesIds,Position=2,IsBinary=0, Bound=0)]
00592   TToiSeriesIdSequence getSeriesIds(in string categoryExpression);
00593   
00605   //@ [OutParam(Name=bookings,Position=2,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=deltas,Position=2,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=value,Position=3,IsBinary=0, Bound=0)]
00737   string getParameter(in TToiBookingId id, 
00738         in string name)
00739    raises (TToiInvalidArgumentException);
00740   
00751   //@ [OutParam(Name=names,Position=2,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=value,Position=3,IsBinary=0, Bound=0)]
00822   string getSeriesParameter(in TToiSeriesId id, 
00823         in string name)
00824    raises (TToiInvalidArgumentException);
00825   
00837   //@ [OutParam(Name=names,Position=2,IsBinary=0, Bound=0)]
00838   TToiParameterNameSequence getSeriesParameterNames(in TToiSeriesId id)
00839    raises (TToiInvalidArgumentException);
00840   
00851   //@ [EventFilter(AddressPosition=1)]
00852   
00853   
00854   void setCategorySubscription(in ToiEventListener eventListener, 
00855         in string categoryExpression)
00856    raises (TToiInvalidArgumentException);
00857   
00858 };
00859 
00860 #endif