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
78
79
80
81
82
83
84
85
86
87
88
89
90
|
// $Id$
// ========================================================================
//
// = FILE
// Offer_Importer.h
//
// = DESCRIPTION
// Class that tests the Trading Service's Lookup Interface
//
// = AUTHOR
// Seth Widoff <sbw1@cs.wustl.edu>
//
// =======================================================================
#ifndef TAO_OFFER_IMPORTER
#define TAO_OFFER_IMPORTER
#include "TT_Info.h"
#include "ace/Task_T.h"
#include "orbsvcs/Trader/Trader_Utils.h"
class TAO_Offer_Importer
{
public:
TAO_Offer_Importer (CosTrading::Lookup_ptr lookup_if,
CORBA::Boolean verbose = 1);
void perform_queries (CORBA::Environment& _env)
TAO_THROW_SPEC ((CORBA::SystemException,
CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType,
CosTrading::IllegalConstraint,
CosTrading::Lookup::IllegalPreference,
CosTrading::Lookup::IllegalPolicyName,
CosTrading::Lookup::PolicyTypeMismatch,
CosTrading::Lookup::InvalidPolicyValue,
CosTrading::IllegalPropertyName,
CosTrading::DuplicatePropertyName,
CosTrading::DuplicatePolicyName));
// Barrage the bootstrapped-to trader with queries.
void perform_directed_queries (CORBA::Environment& _env)
TAO_THROW_SPEC ((CORBA::SystemException,
CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType,
CosTrading::IllegalConstraint,
CosTrading::Lookup::IllegalPreference,
CosTrading::Lookup::IllegalPolicyName,
CosTrading::Lookup::PolicyTypeMismatch,
CosTrading::Lookup::InvalidPolicyValue,
CosTrading::IllegalPropertyName,
CosTrading::DuplicatePropertyName,
CosTrading::DuplicatePolicyName));
// Direct a query to a trader two graph edges distant from the
// bootstrapped-to trader.
private:
void perform_queries_with_policies (const TAO_Policy_Manager& policy_manager,
CORBA::Environment& _env)
TAO_THROW_SPEC ((CORBA::SystemException,
CosTrading::IllegalServiceType,
CosTrading::UnknownServiceType,
CosTrading::IllegalConstraint,
CosTrading::Lookup::IllegalPreference,
CosTrading::Lookup::IllegalPolicyName,
CosTrading::Lookup::PolicyTypeMismatch,
CosTrading::Lookup::InvalidPolicyValue,
CosTrading::IllegalPropertyName,
CosTrading::DuplicatePropertyName,
CosTrading::DuplicatePolicyName));
// Perform a query on the bootstrapped-to trader given the policies
// pass in <policy_manager>.
void display_results (const CosTrading::OfferSeq& offer_seq,
CosTrading::OfferIterator_ptr offer_iterator,
CORBA::Environment& _env) const
TAO_THROW_SPEC ((CORBA::SystemException));
// Display the results of the query to the screen.
CORBA::Boolean verbose_;
// Output the contents of each returned offer, if true.
CosTrading::Lookup_ptr lookup_;
// The interface on which to perform all those wonderful queries.
};
#endif /* TAO_OFFER_IMPORTER */
|