DELTA 55 0 8526 SVNÄnÆ,u•k…€ †.€‚d‚UŠ,™f€j„tŽ<“~T•;¡c—€Z‡š ‚6¡ƒ@£F€‚$k¨}€CF±@fªe€„^„F°=€„q· ¨‡#¹€‚IÄ%and SMS (text message). Preferences include when to be notified (in minutes before the start of a meeting) and how to be notified (in the MeetingDescription holds the name (a String), time (unsigned long, since the epoch), and locating (a String). A Notification holds a time indicating when the notification is to be sent, the notification_type by which it is to be sent, and a MeetingDescription. It supports the equality operation by checking equality of each of its data members (not3] preferenceOrder A 3and NONE). This represents the user's preference for how to be notified: the acceptable methods are put in rank order and the other slots are filled with NONE. This is initialized to {EMAIL, NONE, NONE}. String emailAddress MeetingDescripN [cf. Tree in the Server class]Notifier(String email) Creates a new notifier, with data members taking on default valuesNNfinds the corresponding Notification and invokes notify on notificationMessage of its meetingDescription. It then updates nextTime by finding the minimum of upcomingNotifications, checks it against the current time and repeats this process until no further Notifications need to be sent MeetingDescriptions that have already begun are removed. informOfreates a MeetingDescription from its argument and passes that to getNotifications. It then inserts each Notification in the resulting list into upcomingNotifications, updating nextTime if necessary. It also adds the MeetingDescription to meetingTimes. Since users only acquire new meetings by active involvement, there is no need to alert the user about this meeting immediately. List getNotifications(MeetingDescription meeting) This checks notificationTime in to generate a List of notifications. It does this by checking notificationTime and for each entry constructing a new Nreates a MeetingDescription to give to getNotifications, and then deletes each Notification in the resulting list from upcomingNotifications, updating nextTime if necessary. It also removes the MeetingDescription from meetingTimes. Since meetings can be cancelled without the user's active involvement, it also calls notify(cancellationMessage(MeetingDescription)). cancellationMessage(MeetingDescription m) Constructs a message along the lines of ", which supposed to happen in minuts, has been cancelled." (to be determined by text-writing people). notificationMessage(MeetingDescription m) CString message) This is the big one. ISMS, it just sends the message and assumes success. [Note: This is not very good functionality; better would be waiting for an SMS message in response and if that is not sent proceeding to the next message. However, this would require some significant rearchitectingENDREP id: x.0.r58/2947 type: file pred: x.0.r57/2669 count: 6 text: 58 0 2924 9004 087cb7ea23bb7c427b984c62eec706ad cpath: /architecture_design/module_designs/notifier_design.txt copyroot: 0 / PLAIN K 19 notifier_design.txt V 17 file x.0.r58/2947 K 22 scheduler_ui_prototype V 16 dir r.g.r47/1279 K 23 server_class_design.txt V 17 file w.0.r54/5247 END ENDREP id: t.0.r58/3302 type: dir pred: t.0.r57/3024 count: 10 text: 58 3135 154 154 0b84975f9416a32e5e3e6020a8691a93 cpath: /architecture_design/module_designs copyroot: 0 / PLAIN K 12 architecture V 16 dir s.0.r46/1718 K 24 component_specifications V 16 dir l.0.r56/9254 K 14 module_designs V 16 dir t.0.r58/3302 K 8 plan.txt V 17 file k.0.r43/1350 END ENDREP id: g.0.r58/3658 type: dir pred: g.0.r57/3379 count: 31 text: 58 3471 174 174 cabbb456c8b8d8680ade391edd3fef2a cpath: /architecture_design copyroot: 0 / PLAIN K 19 architecture_design V 16 dir g.0.r58/3658 K 22 requirements_documents V 13 dir 1.a.r26/0 END ENDREP id: 0.0.r58/3923 type: dir pred: 0.0.r57/3644 count: 58 text: 58 3812 98 98 b10b32da25b547432213c1e37a41a7a2 cpath: / copyroot: 0 / x.0.t57-1 modify true false /architecture_design/module_designs/notifier_design.txt 3923 4056