summaryrefslogtreecommitdiff
path: root/TAO/examples/Simple/chat/Broadcaster.idl
blob: 2704650fb74fbb88fadb9ed68312fca08734f79b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* -*- C++ -*- */
// $Id$

#include "Receiver.idl"

interface Broadcaster
{
  // = TITLE
  //   This interface is to be implemented by the simple chat server.
  //   It broadcasts messages received from one registered client to
  //   all its registered clients.

  exception CannotAdd
    {
      string reason_;
    };

  exception CannotRemove
    {
      string reason_;
    };

  void add (in Receiver receiver_, in string nickname)
    raises (CannotAdd);
  // Registers a Receiver with the chat server.  A registered client
  // must call un_register before it goes away.

  void remove (in Receiver receiver_)
    raises (CannotRemove);
  // Unregisters a Receiver.

  void say (in Receiver receiver_, in string text);
  // Say something to all registered clients.
};