ZAWWW-2st1.2-w03.tresc-1.0-Slajd12
IDL – przykład
Przykład przedstawiony na tym i na kolejnych slajdach pokazuje sposób implementacji prostej aplikacji modelującej zachowanie się telefonicznej automatycznej sekretarki. Sekretarka posiada zapisaną domyślną odpowiedź udzielaną klientom. Klient może połączyć się z sekretarką i nagrać nową wiadomość lub odsłuchać wszystkie nagrane wiadomości. Sekretarka ma określoną pojemność komunikatów, próba pozostawienia komunikatu prowadząca do przepełnienia skrzynki powoduje zgłoszenie wyjątku. Slajd przedstawia definicję interfejsu MessageBox implementującego funkcjonalność automatycznej sekretarki. Plik messageBox.idl definiuje (1) moduł MessageModule zawierający wykorzystywane interfejsy i wyjątki. Głównym elementem umieszczonym w module jest interfejs MessageBox (2). W skład interfejsu MessageBox wchodzi wyjątek o nazwie boxFull (3). Interfejs MessageBox posiada atrybut reply (4) reprezentującą domyślną odpowiedź. Interfejs posiada też dwie operacje (5): pozostawienie nowej wiadomości (leaveMessage(in string) raises (boxFull)) oraz odsłuchanie wiadomości (getMessages()). Na podstawie tak zdefiniowanego pliku kompilator IDL jest w stanie wygenerować pieniek (obiekt klienta żądającego wykonania usług z interfejsu) oraz szkielet (obiekt reprezentujący usługodawcę, czyli automatyczną sekretarkę).