summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Trading/Offer_Exporter.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Trading/Offer_Exporter.h')
-rw-r--r--TAO/orbsvcs/tests/Trading/Offer_Exporter.h143
1 files changed, 143 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/Trading/Offer_Exporter.h b/TAO/orbsvcs/tests/Trading/Offer_Exporter.h
new file mode 100644
index 00000000000..63389ae3a79
--- /dev/null
+++ b/TAO/orbsvcs/tests/Trading/Offer_Exporter.h
@@ -0,0 +1,143 @@
+// $Id$
+
+// ========================================================================
+//
+// = FILE
+// Offer_Exporter.h
+//
+// = DESCRIPTION
+// Class that tests the Trading Service's Register Interface
+//
+// = AUTHOR
+// Seth Widoff <sbw1@cs.wustl.edu>
+//
+// =======================================================================
+
+#ifndef TAO_OFFER_EXPORTER_H
+#define TAO_OFFER_EXPORTER_H
+
+#include "TT_Info.h"
+#include "Simple_Dynamic.h"
+#include "ttest_export.h"
+
+class TAO_TTest_Export TAO_Offer_Exporter
+{
+public:
+
+ TAO_Offer_Exporter (CosTrading::Lookup_ptr lookup_if,
+ CORBA::Boolean verbose
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ ~TAO_Offer_Exporter (void);
+
+ void export_offers (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::Register::InvalidObjectRef,
+ CosTrading::IllegalServiceType,
+ CosTrading::UnknownServiceType,
+ CosTrading::Register::InterfaceTypeMismatch,
+ CosTrading::IllegalPropertyName,
+ CosTrading::PropertyTypeMismatch,
+ CosTrading::ReadonlyDynamicProperty,
+ CosTrading::MissingMandatoryProperty,
+ CosTrading::DuplicatePropertyName));
+ // Export a number of offers to the Trading Service.
+
+ void export_offers_to_all (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::Register::InvalidObjectRef,
+ CosTrading::IllegalServiceType,
+ CosTrading::UnknownServiceType,
+ CosTrading::Register::InterfaceTypeMismatch,
+ CosTrading::IllegalPropertyName,
+ CosTrading::PropertyTypeMismatch,
+ CosTrading::ReadonlyDynamicProperty,
+ CosTrading::MissingMandatoryProperty,
+ CosTrading::DuplicatePropertyName));
+ // Export a number of offers to all traders accessible by the
+ // bootstrapped trader.
+
+ void withdraw_offers (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::IllegalOfferId,
+ CosTrading::UnknownOfferId,
+ CosTrading::Register::ProxyOfferId));
+ // Withdraw all exported offers.
+
+ void describe_offers (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::IllegalOfferId,
+ CosTrading::UnknownOfferId,
+ CosTrading::Register::ProxyOfferId));
+ // Describe all the offers registered with the bootstrapped trader.
+
+ void modify_offers (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::NotImplemented,
+ CosTrading::IllegalOfferId,
+ CosTrading::UnknownOfferId,
+ CosTrading::Register::ProxyOfferId,
+ CosTrading::IllegalPropertyName,
+ CosTrading::Register::UnknownPropertyName,
+ CosTrading::PropertyTypeMismatch,
+ CosTrading::ReadonlyDynamicProperty,
+ CosTrading::Register::MandatoryProperty,
+ CosTrading::Register::ReadonlyProperty,
+ CosTrading::DuplicatePropertyName));
+ // Remove some properties and change some properties in each offer.
+
+ void withdraw_offers_using_constraints (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::IllegalServiceType,
+ CosTrading::UnknownServiceType,
+ CosTrading::IllegalConstraint,
+ CosTrading::Register::NoMatchingOffers));
+ // Withdraw a number of offers based on a constraint string.
+
+private:
+
+ CosTrading::OfferIdSeq* grab_offerids (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::NotImplemented));
+
+ void create_offers (ACE_ENV_SINGLE_ARG_DECL);
+ // Fill in each of the offer structures.
+
+ void export_to (CosTrading::Register_ptr reg
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosTrading::Register::InvalidObjectRef,
+ CosTrading::IllegalServiceType,
+ CosTrading::UnknownServiceType,
+ CosTrading::Register::InterfaceTypeMismatch,
+ CosTrading::IllegalPropertyName,
+ CosTrading::PropertyTypeMismatch,
+ CosTrading::ReadonlyDynamicProperty,
+ CosTrading::MissingMandatoryProperty,
+ CosTrading::DuplicatePropertyName));
+ // Export the offers to the give Register interface.
+
+ typedef ACE_Unbounded_Queue<TAO_Dynamic_Property*> DP_Queue;
+
+ CORBA::Boolean verbose_;
+ // True if the user wants verbose output.
+
+ CosTrading::Register_var register_;
+ CosTrading::Admin_var admin_;
+
+ TT_Info::Printer printer_[NUM_OFFERS];
+ TT_Info::Plotter plotter_[NUM_OFFERS];
+ TT_Info::File_System fs_[NUM_OFFERS];
+ // The objects being exported.
+
+ CosTrading::PropertySeq props_plotters_[NUM_OFFERS];
+ CosTrading::PropertySeq props_printers_[NUM_OFFERS];
+ CosTrading::PropertySeq props_fs_[NUM_OFFERS];
+ // Property sequences describing each service.
+
+ DP_Queue clean_up_;
+ // A list of dynamic properties to clean up upon destruction.
+};
+
+#endif /* TAO_OFFER_EXPORTER_H */