diff options
Diffstat (limited to 'TAO/orbsvcs/tests/Trading_Service/Offer_Exporter.cpp')
-rw-r--r-- | TAO/orbsvcs/tests/Trading_Service/Offer_Exporter.cpp | 412 |
1 files changed, 0 insertions, 412 deletions
diff --git a/TAO/orbsvcs/tests/Trading_Service/Offer_Exporter.cpp b/TAO/orbsvcs/tests/Trading_Service/Offer_Exporter.cpp deleted file mode 100644 index 78253463e77..00000000000 --- a/TAO/orbsvcs/tests/Trading_Service/Offer_Exporter.cpp +++ /dev/null @@ -1,412 +0,0 @@ -// $Id$ -#include "Offer_Exporter.h" - -template<class T> -class Simple_DP_Evaluation_Handler - : public TAO_DP_Evaluation_Handler -{ -public: - Simple_DP_Evaluation_Handler (T dp); - - virtual CORBA::Any* evalDP (const CORBA::Any& extra_info, - CORBA::Environment& _env) - TAO_THROW_SPEC ((CosTradingDynamic::DPEvalFailure)); - -private: - - T dp_; -}; - - -template <class T> -Simple_DP_Evaluation_Handler<T>::Simple_DP_Evaluation_Handler (T dp) - : dp_ (dp) -{ -} - -template <class T> CORBA::Any* -Simple_DP_Evaluation_Handler<T>::evalDP (const CORBA::Any& extra_info, - CORBA::Environment& _env) - TAO_THROW_SPEC ((CosTradingDynamic::DPEvalFailure)) -{ - CORBA::Any* return_value = 0; - - ACE_NEW_RETURN (return_value, CORBA::Any, return_value); - - (*return_value) <<= this->dp_; - return return_value; -} - -TAO_Offer_Exporter:: -TAO_Offer_Exporter (CosTrading::Register_ptr register_if, - CORBA::Environment& _env) - TAO_THROW_SPEC ((CORBA::SystemException)) - : register_ (register_if) -{ - this->create_offers (); - this->admin_ = register_if->admin_if (_env); - TAO_CHECK_ENV_RETURN (_env,); -} - -TAO_Offer_Exporter::~TAO_Offer_Exporter (void) -{ - for (int i = 0; i < NUM_OFFERS; i++) - { - /* - delete dp_plotters_[i].remove_handler - (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_USER_QUEUE]); - delete dp_plotters_[i].remove_handler - (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_FILE_SIZES_PENDING]); - delete dp_printers_[i].remove_handler - (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_USER_QUEUE]); - delete dp_printers_[i].remove_handler - (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_FILE_SIZES_PENDING]); - delete dp_fs_[i].remove_handler - (TT_Info::FILESYSTEM_PROPERTY_NAMES[TT_Info::SPACE_REMAINING]); - */ - } -} - -void -TAO_Offer_Exporter::export_offers (CORBA::Environment& _env) -{ - ACE_DEBUG ((LM_DEBUG, "Exporting offers.\n")); - - TAO_TRY - { - for (int i = 0; i < NUM_OFFERS; i++) - { - this->register_->export (this->plotter_[i]._this (TAO_TRY_ENV), - TT_Info::INTERFACE_NAMES[1], - this->props_plotters_[i], - TAO_TRY_ENV); - TAO_CHECK_ENV; - - this->register_->export (this->printer_[i]._this (TAO_TRY_ENV), - TT_Info::INTERFACE_NAMES[2], - this->props_printers_[i], - TAO_TRY_ENV); - TAO_CHECK_ENV; - - this->register_->export (this->fs_[i]._this (TAO_TRY_ENV), - TT_Info::INTERFACE_NAMES[3], - this->props_fs_[i], - TAO_TRY_ENV); - TAO_CHECK_ENV; - } - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("TAO_Offer_Exporter::export_offers"); - TAO_RETHROW; - } - TAO_ENDTRY; -} - -void -TAO_Offer_Exporter::withdraw_offers (CORBA::Environment& _env) - TAO_THROW_SPEC ((CORBA::SystemException, - CosTrading::IllegalOfferId, - CosTrading::UnknownOfferId, - CosTrading::Register::ProxyOfferId)) -{ - ACE_DEBUG ((LM_DEBUG, "Withdrawing all offers.\n")); - - TAO_TRY - { - CORBA::ULong length; - CORBA::ULong amount = NUM_OFFERS; - - CosTrading::OfferIdSeq_var offer_id_seq = this->grab_offerids (_env); - TAO_CHECK_ENV; - - if (offer_id_seq.ptr () != 0) - { - length = offer_id_seq->length (); - for (int i = 0; i < length; i++) - { - this->register_->withdraw (offer_id_seq[i], TAO_TRY_ENV); - TAO_CHECK_ENV; - } - } - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("TAO_Offer_Exporter::export_offers"); - TAO_RETHROW; - } - TAO_ENDTRY; -} - -void -TAO_Offer_Exporter::describe_offers (CORBA::Environment& _env) - TAO_THROW_SPEC ((CORBA::SystemException, - CosTrading::IllegalOfferId, - CosTrading::UnknownOfferId, - CosTrading::Register::ProxyOfferId)) -{ - ACE_DEBUG ((LM_DEBUG, "Describing all offers.\n")); - - TAO_TRY - { - CORBA::ULong length; - CORBA::ULong amount = NUM_OFFERS; - - CosTrading::OfferIdSeq_var offer_id_seq = this->grab_offerids (_env); - TAO_CHECK_ENV; - - if (offer_id_seq.ptr () != 0) - { - length = offer_id_seq->length (); - for (int i = 0; i < length; i++) - { - CosTrading::Register::OfferInfo_var offer_info = - this->register_->describe (offer_id_seq[i], TAO_TRY_ENV); - TAO_CHECK_ENV; - - ACE_DEBUG ((LM_DEBUG, "Offer Id: %s\n", (const char *) offer_id_seq[i])); - ACE_DEBUG ((LM_DEBUG, "Service Type: %s\n", offer_info->type.in ())); - TT_Info::dump_properties (offer_info->properties); - ACE_DEBUG ((LM_DEBUG, "------------------------------\n")); - } - } - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("TAO_Offer_Exporter::export_offers"); - TAO_RETHROW; - } - TAO_ENDTRY; -} - -void -TAO_Offer_Exporter::modify_offers (CORBA::Environment& _env) - TAO_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)) - -{ -} - -void -TAO_Offer_Exporter:: -withdraw_offers_using_constraints (CORBA::Environment& _env) - TAO_THROW_SPEC ((CORBA::SystemException, - CosTrading::IllegalServiceType, - CosTrading::UnknownServiceType, - CosTrading::IllegalConstraint, - CosTrading::Register::NoMatchingOffers)) -{ -} - -CosTrading::OfferIdSeq* -TAO_Offer_Exporter::grab_offerids (CORBA::Environment& _env) - TAO_THROW_SPEC ((CORBA::SystemException, - CosTrading::NotImplemented)) -{ - ACE_DEBUG ((LM_DEBUG, "Grabbing all offer ids.\n")); - - CosTrading::OfferIdSeq_ptr offer_id_seq; - TAO_TRY - { - CORBA::ULong length = NUM_OFFERS; - CosTrading::OfferIdIterator_ptr offer_id_iter; - - this->admin_->list_offers (NUM_OFFERS, - CosTrading::OfferIdSeq_out (offer_id_seq), - CosTrading::OfferIdIterator_out (offer_id_iter), - TAO_TRY_ENV); - TAO_CHECK_ENV; - - if ((! CORBA::is_nil (offer_id_iter)) && offer_id_seq != 0) - { - CORBA::Boolean any_left = CORBA::B_FALSE; - CosTrading::OfferIdSeq_ptr id_seq; - CosTrading::OfferIdIterator_var offer_id_iter_var (offer_id_iter); - - do - { - any_left = - offer_id_iter->next_n (length, - CosTrading::OfferIdSeq_out (id_seq), - TAO_TRY_ENV); - TAO_CHECK_ENV; - - int offers = id_seq->length (); - int old_length = offer_id_seq->length (); - offer_id_seq->length (old_length + offers); - - for (int i = 0; i < offers; i++) - (*offer_id_seq)[i + old_length] = (*id_seq)[i]; - - delete id_seq; - } while (any_left); - } - - ACE_DEBUG ((LM_DEBUG, "The following offer ids are registered:\n")); - for (int len = offer_id_seq->length (), j = 0; j < len; j++) - ACE_DEBUG ((LM_DEBUG, "Offer Id: %s\n", (const char *)(*offer_id_seq)[j])); - - return offer_id_seq; - } - TAO_CATCHANY - { - TAO_TRY_ENV.print_exception ("TAO_Offer_Exporter::grab_offerids"); - TAO_RETHROW_RETURN (offer_id_seq); - } - TAO_ENDTRY; -} - -void -TAO_Offer_Exporter::create_offers (void) -{ - int counter = 0; - char name[BUFSIZ]; - char description[BUFSIZ]; - CORBA::Any extra_info; - TAO_Sequences::StringSeq string_seq (4); - TAO_Sequences::ULongSeq ulong_seq (4); - CosTradingDynamic::DynamicProp_var dp_user_queue; - CosTradingDynamic::DynamicProp_var dp_file_queue; - - // Initialize plotters - for (int i = 0; i < NUM_OFFERS; i++) - { - ACE_OS::sprintf (name, "Plotter #%d", i); - ACE_OS::sprintf (description, - "%s is a plotter. It plots stuff. Like charts.", - name); - - for (int j = 0; j < 4; j++, counter = (counter + 1) % NUM_OFFERS) - { - string_seq[j] = TT_Info::USERS [counter]; - ulong_seq[j] = counter * 10000; - } - /* - dp_user_queue = - this->dp_plotters_[i].register_handler - (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_USER_QUEUE], - TT_Info::PLOTTER_PROPERTY_TYPES[TT_Info::PLOTTER_USER_QUEUE], - extra_info, - new Simple_DP_Evaluation_Handler<TAO_Sequences::StringSeq> (string_seq)); - - dp_file_queue = - this->dp_plotters_[i].register_handler - (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_FILE_SIZES_PENDING], - TT_Info::PLOTTER_PROPERTY_TYPES[TT_Info::PLOTTER_FILE_SIZES_PENDING], - extra_info, - new Simple_DP_Evaluation_Handler<TAO_Sequences::ULongSeq> (ulong_seq)); - */ - this->props_plotters_[i].length (7); - this->props_plotters_[i][0].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::NAME]); - this->props_plotters_[i][0].value <<= CORBA::string_dup (name); - this->props_plotters_[i][1].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::LOCATION]); - this->props_plotters_[i][1].value <<= TT_Info::LOCATIONS[i]; - this->props_plotters_[i][2].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::DESCRIPTION]); - this->props_plotters_[i][2].value <<= CORBA::string_dup (description); - this->props_plotters_[i][3].name = CORBA::string_dup (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_NUM_COLORS]); - this->props_plotters_[i][3].value <<= (i * 2); - this->props_plotters_[i][4].name = CORBA::string_dup (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_AUTO_LOADING]); - this->props_plotters_[i][4].value <<= CORBA::Any::from_boolean ((CORBA::Boolean) (i % 2)); - this->props_plotters_[i][5].name = CORBA::string_dup (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_COST_PER_PAGE]); - this->props_plotters_[i][5].value <<= (CORBA::Float) i; - this->props_plotters_[i][6].name = CORBA::string_dup (TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_MODEL_NUMBER]); - this->props_plotters_[i][6].value <<= CORBA::string_dup (TT_Info::MODEL_NUMBERS[i]); - // this->props_plotters_[i][7].name = TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_USER_QUEUE]; - // this->props_plotters_[i][7].value <<= dp_user_queue.in (); - // this->props_plotters_[i][8].name = TT_Info::PLOTTER_PROPERTY_NAMES[TT_Info::PLOTTER_FILE_SIZES_PENDING]; - // this->props_plotters_[i][8].value <<= dp_file_queue.in (); - } - - // Initialize printers - for (i = 0; i < NUM_OFFERS; i++) - { - ACE_OS::sprintf (name, "Printer #%d", i); - ACE_OS::sprintf (description, - "%s is a printer. It prints stuff. Like reports.", - name); - - for (int j = 0; j < 4; j++, counter = (counter + 1) % NUM_OFFERS) - { - string_seq[j] = TT_Info::USERS [counter]; - ulong_seq[j] = counter * 10000; - } - /* - dp_user_queue = - this->dp_printers_[i].register_handler - (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_USER_QUEUE], - TT_Info::PRINTER_PROPERTY_TYPES[TT_Info::PRINTER_USER_QUEUE], - extra_info, - new Simple_DP_Evaluation_Handler<TAO_Sequences::StringSeq> (string_seq)); - - dp_file_queue = - this->dp_printers_[i].register_handler - (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_FILE_SIZES_PENDING], - TT_Info::PRINTER_PROPERTY_TYPES[TT_Info::PRINTER_FILE_SIZES_PENDING], - extra_info, - new Simple_DP_Evaluation_Handler<TAO_Sequences::ULongSeq> (ulong_seq)); - */ - this->props_printers_[i].length (8); - this->props_printers_[i][0].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::NAME]); - this->props_printers_[i][0].value <<= CORBA::string_dup (name); - this->props_printers_[i][1].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::LOCATION]); - this->props_printers_[i][1].value <<= TT_Info::LOCATIONS[i]; - this->props_printers_[i][2].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::DESCRIPTION]); - this->props_printers_[i][2].value <<= CORBA::string_dup (description); - this->props_printers_[i][3].name = CORBA::string_dup (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_COLOR]); - this->props_printers_[i][3].value <<= CORBA::Any::from_boolean ((CORBA::Boolean) (i % 2)); - this->props_printers_[i][4].name = CORBA::string_dup (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_DOUBLE_SIDED]); - this->props_printers_[i][4].value <<= CORBA::Any::from_boolean ((CORBA::Boolean) ((i + 1) % 2)); - this->props_printers_[i][5].name = CORBA::string_dup (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_COST_PER_PAGE]); - this->props_printers_[i][5].value <<= (CORBA::Float) i; - this->props_printers_[i][6].name = CORBA::string_dup (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_MODEL_NUMBER]); - this->props_printers_[i][6].value <<= CORBA::string_dup (TT_Info::MODEL_NUMBERS[i]); - this->props_printers_[i][7].name = CORBA::string_dup (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_PAGES_PER_SEC]); - this->props_printers_[i][7].value <<= (CORBA::UShort) i; - // this->props_printers_[i][8].name = CORBA::string_dup (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_USER_QUEUE]; - // this->props_printers_[i][8].value <<= dp_user_queue.in (); - // this->props_printers_[i][9].name = CORBA::string_dup (TT_Info::PRINTER_PROPERTY_NAMES[TT_Info::PRINTER_FILE_SIZES_PENDING]; - // this->props_printers_[i][9].value <<= dp_file_queue.in (); - } - - // Initialize FileSystem - for (i = 0; i < NUM_OFFERS; i++) - { - CosTradingDynamic::DynamicProp_var dp_space_left; - - ACE_OS::sprintf (name, "File System #%d", i); - ACE_OS::sprintf (description, - "%s is a File System. It stores stuff. Like files.", - name); - /* - dp_space_left = - this->dp_fs_[i].register_handler - (TT_Info::FILESYSTEM_PROPERTY_NAMES[TT_Info::SPACE_REMAINING], - TT_Info::FILESYSTEM_PROPERTY_TYPES[TT_Info::SPACE_REMAINING], - extra_info, - new Simple_DP_Evaluation_Handler<CORBA::ULong> (i * 4434343)); - */ - this->props_fs_[i].length (5); - this->props_fs_[i][0].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::NAME]); - this->props_fs_[i][0].value <<= CORBA::string_dup (name); - this->props_fs_[i][1].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::LOCATION]); - this->props_fs_[i][1].value <<= CORBA::string_dup (TT_Info::LOCATIONS[i]); - this->props_fs_[i][2].name = CORBA::string_dup (TT_Info::REMOTE_IO_PROPERTY_NAMES[TT_Info::DESCRIPTION]); - this->props_fs_[i][2].value <<= CORBA::string_dup (description); - this->props_fs_[i][3].name = CORBA::string_dup (TT_Info::FILESYSTEM_PROPERTY_NAMES[TT_Info::DISK_SIZE]); - this->props_fs_[i][3].value <<= (CORBA::ULong) (i * 2000000); - this->props_fs_[i][4].name = CORBA::string_dup (TT_Info::FILESYSTEM_PROPERTY_NAMES[TT_Info::PERMISSION_LEVEL]); - this->props_fs_[i][4].value <<= (CORBA::UShort) (i + 1); - // this->props_fs_[i][6].name = TT_Info::FILESYSTEM_PROPERTY_NAMES[TT_Info::SPACE_REMAINING]; - // this->props_fs_[i][6].value <<= dp_space_left.in (); - } -} |