summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp
diff options
context:
space:
mode:
authorpradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-10-07 09:25:44 +0000
committerpradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-10-07 09:25:44 +0000
commit9c4f1aa20db30d0e3676139e6496a1b12033240a (patch)
tree1050a8688f96968fdb4edd457b41797370ad3bc6 /TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp
parent117fc92b3a58a4cec435344f6da4a1d663da0144 (diff)
downloadATCD-9c4f1aa20db30d0e3676139e6496a1b12033240a.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp103
1 files changed, 5 insertions, 98 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp b/TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp
index 5fe2b4b033b..3cf68ace9fd 100644
--- a/TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp
+++ b/TAO/orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp
@@ -1,71 +1,10 @@
// $Id$
-#include "ace/OS.h"
#include "Constraint_Interpreter.h"
+#include "Trader_Constraint_Visitors.h"
ACE_RCSID(Trader, Constraint_Interpreter, "$Id$")
-ACE_SYNCH_MUTEX TAO_Interpreter::parserMutex__;
-
-TAO_Interpreter::TAO_Interpreter (void)
- : root_ (0)
-{
-}
-
-TAO_Interpreter::~TAO_Interpreter (void)
-{
- delete root_;
-}
-
-int
-TAO_Interpreter::build_tree (const char* constraints)
-{
- ACE_GUARD_RETURN (ACE_SYNCH_MUTEX,
- guard,
- TAO_Interpreter::parserMutex__,
- -1);
-
- TAO_Lex_String_Input::reset ((char*)constraints);
- int return_value = 0;
-
- yyval.constraint_ = 0;
- return_value = ::yyparse ();
-
- if (return_value == 0 && yyval.constraint_ != 0)
- this->root_ = yyval.constraint_;
- else
- {
- while (yylex () > 0)
- continue;
- this->root_ = 0;
- }
-
- return return_value;
-}
-
-int
-TAO_Interpreter::is_empty_string (const char* str)
-{
- int return_value = 0;
-
- if (str != 0)
- {
- int i = 0;
- while (str[i] != '\0')
- {
- if (str[i] != ' ')
- break;
-
- i++;
- }
-
- if (str[i] == '\0')
- return_value = 1;
- }
-
- return return_value;
-}
-
TAO_Constraint_Interpreter::
TAO_Constraint_Interpreter (const CosTradingRepos::ServiceTypeRepository::TypeStruct& ts,
const char* constraints,
@@ -77,7 +16,7 @@ TAO_Constraint_Interpreter (const CosTradingRepos::ServiceTypeRepository::TypeSt
// @@ Throwing Exception from constructor is very nasty situation to
// deal with.
- TAO_Constraint_Validator type_checker (ts);
+ TAO_Trader_Constraint_Validator type_checker (ts);
if (TAO_Interpreter::is_empty_string (constraints))
{
@@ -127,7 +66,7 @@ TAO_Constraint_Interpreter::~TAO_Constraint_Interpreter (void)
CORBA::Boolean
TAO_Constraint_Interpreter::evaluate (CosTrading::Offer* offer)
{
- TAO_Constraint_Evaluator evaluator (offer);
+ TAO_Trader_Constraint_Evaluator evaluator (offer);
return evaluator.evaluate_constraint (this->root_);
}
@@ -145,7 +84,7 @@ TAO_Preference_Interpreter (const CosTradingRepos::ServiceTypeRepository::TypeSt
CORBA::NO_MEMORY))
: TAO_Interpreter ()
{
- TAO_Constraint_Validator type_checker (ts);
+ TAO_Trader_Constraint_Validator type_checker (ts);
if (TAO_Interpreter::is_empty_string (preference))
{
@@ -198,7 +137,7 @@ TAO_Preference_Interpreter::
order_offer (CosTrading::Offer* offer,
CosTrading::OfferId offer_id)
{
- TAO_Constraint_Evaluator evaluator (offer);
+ TAO_Trader_Constraint_Evaluator evaluator (offer);
this->order_offer (evaluator, offer, offer_id);
}
@@ -306,38 +245,6 @@ TAO_Preference_Interpreter::num_offers (void)
return this->offers_.size ();
}
-char* TAO_Lex_String_Input::string_ = 0;
-char* TAO_Lex_String_Input::current_ = 0;
-char* TAO_Lex_String_Input::end_ = 0;
-
-// Routine to have Lex read its input from the constraint string.
-
-int
-TAO_Lex_String_Input::copy_into (char* buf, int max_size)
-{
- int chars_left = TAO_Lex_String_Input::end_ - TAO_Lex_String_Input::current_;
- int n = max_size > chars_left ? chars_left : max_size;
-
- if (n > 0)
- {
- ACE_OS:: memcpy (buf,
- TAO_Lex_String_Input::current_,
- n);
- TAO_Lex_String_Input::current_ += n;
- }
-
- return n;
-}
-
-void
-TAO_Lex_String_Input::reset (char* input_string)
-{
- TAO_Lex_String_Input::string_ = input_string;
- TAO_Lex_String_Input::current_ = input_string;
- TAO_Lex_String_Input::end_ = input_string +
- ACE_OS::strlen (TAO_Lex_String_Input::string_);
-}
-
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Node<TAO_Preference_Interpreter::Preference_Info>;
template class ACE_Unbounded_Queue<TAO_Preference_Interpreter::Preference_Info>;