summaryrefslogtreecommitdiff
path: root/TAO/tests/Quoter/Quoter.idl
blob: be0fa4d28aea9d4dc42c52faf386a4cafb828ca0 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// $Id$

// ============================================================================
//
// = FILENAME
//    quoter.idl
//
// = DESCRIPTION
//    Quoter example that illustrate the use of the global POA and
//    the CosLifeCycle service.
//
// = AUTHOR
//    Darrell Brunsch (brunsch@cs.wustl.edu)
//    Michael Kircher (mk1@cs.wustl.edu)
//
// ============================================================================

// @@ Is there a way to get TAO's IDL compiler to accept "relative
// names" via the use of a command-line option?  It seems wrong to
// hard-code the pathname here.
#include "../../orbsvcs/orbsvcs/CosLifeCycle.idl"

module Stock
{
  exception Invalid_Stock {};
  exception Invalid_Quoter {};

  interface Quoter : CosLifeCycle::LifeCycleObject
    {
      // = TITLE
      //   Access Stock information.

      long get_quote (in string stock_name) 
        raises (Invalid_Stock, Invalid_Quoter);
      // Returns the current stock value or throws and exception.

      void destroy ();
      // Destroy a Quoter session and release resources.

      // LifeCycleObject copy(in FactoryFinder there, 
      // 	   in Criteria the_criteria)
      //     raises(NoFactory, NotCopyable, InvalidCriteria, CannotMeetCriteria);
      // copies this object to a location "there" using the "the_criteria"
  
      // void move(in FactoryFinder there, 
      //     in Criteria the_criteria)
      //     raises(NoFactory, NotMovable, InvalidCriteria,  CannotMeetCriteria);
      // moves this object to a location "there" using the "the_criteria"
   
      // void remove()
      //     raises(NotRemovable);
      // removes/deletes this object

    };
  
  interface Quoter_Factory 
    {
      // = TITLE
      //   Manage the lifecycle of a Quoter object.

      Quoter create_quoter (in string name)
        raises (Invalid_Quoter);
      // Returns a new Quoter selected by name e.g., "Dow Jones,"
      // "Reuters,", etc
    };


  interface QuoterFactoryFinder : CosLifeCycle::FactoryFinder
    {
      // = TITLE 
      //   Wrapper for the CosLifeCycle FactoryFinder
      //
      // inherits: 
      // Factories find_factories(in Key factory_key) raises(NoFactory);
    };
};