summaryrefslogtreecommitdiff
path: root/CIAO/connectors/ami4ccm/examples/Quoter/Base/Quoter.idl
blob: 1d0d6ab19d43abe7f8ecdebe7aa5315e05f75cb8 (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
#ifndef QUOTER_IDL
#define QUOTER_IDL

#pragma ciao lem "Base/QuoterE.idl"
#pragma ciao ami4ccm interface "Quoter::StockManager"
#pragma ciao lem "Base/QuoterAE.idl"
#pragma ciao ami4ccm idl "Base/QuoterA.idl"

module Quoter
{
  exception InvalidStock { string sym; };

  interface StockManager {
    attribute string stock_exchange_name;

    boolean add_stock(in string symbol, in double quote);
    void edit_stock(in string symbol, in double new_quote)
      raises(InvalidStock);
    void remove_stock(in string symbol, out double quote)
      raises(InvalidStock);

    boolean find_closest_symbol(inout string symbol);
    double get_quote(in string symbol) raises(InvalidStock);
  };

};

#endif