DIRECTORY Fugleman USING [Handle, NewFugleman, Check, SomeProc, FugleFailure]; FuglemanClient: CEDAR PROGRAM IMPORTS Fugles: Fugleman = BEGIN TestError: ERROR; SimpleTest: PROCEDURE = BEGIN fm: Fugles.Handle = Fugles.NewFugleman[]; anotherFm: Fugles.Handle = Fugles.NewFugleman[]; x: INT _ 1; fm.Check[ ! Fugles.FugleFailure => ERROR TestError]; -- check the object, convert error IF fm=anotherFm THEN ERROR TestError; -- should get unique objects IF fm.SomeProc[1] = anotherFm.SomeProc[2] THEN x_2; END; SimpleTest[ ]; -- call the test procedure END. -- FuglemanClient CHANGE LOG Created by Mitchell, March 27, 1980 9:23 AM Produce exemplary template Changed by Horning: June 7, 1982 2:58 pm Cosmetic changes for conformance with current recommendations Changed by Horning: June 8, 1982 2:10 pm Insert CEDAR prefix Changed by YourName: DateTime DescriptionOfChange όFILE: FuglemanClient.mesa Last Edited by Mitchell, August 16, 1982 2:04 pm a nonsense program to show how clients invoke operations on objects implemented this way This is an example intended only to show syntactically how client programs create object instances, invoke operations on them and catch signals that those operations might generate. The files Fugleman.mesa and FuglemanImpl.mesa contain the definitions of the object interface used here and a sample implementation of it, respectively. Κg– "Cedar" style˜J˜Iunit– "cedar" stylešœ™Icode– "cedar" stylešœ0™0KšΟk œ œ6˜Qšœ ˜Jšœ˜—Kš˜Lšœ œ˜šΟn œ œ˜LšœX™XLšœ)˜)Lšœ0˜0Lšœœ˜ Lšœ#œΟc"˜[Lšœ œœ Ÿ˜CLšœ'œ˜3Lšœ˜—KšœŸ˜*šœŸ˜I modheader™Ο—š ˜ ˜+JšŸ˜šœ(˜(JšŸ=˜=——šœ(˜(JšŸΠckŸ˜—˜JšŸ˜——J˜—…—nΡ