00001
00002
00003 #ifndef LDAP_PREDICATE_TREE_HH
00004 #define LDAP_PREDICATE_TREE_HH
00005
00006 #include "PseudoLDAPInterface.h"
00007 #include "SQLPredicateTree.h"
00008
00009
00010 namespace LcgInfo{
00011
00024 class SQLtoLDAPPredicateTree:public SQLPredicateTree{
00025
00026 public:
00030 SQLtoLDAPPredicateTree();
00031
00035 virtual ~SQLtoLDAPPredicateTree();
00036
00045 SQLtoLDAPPredicateTree * create();
00046
00056 virtual SQLtoLDAPPredicateTree * clone();
00057
00072 virtual std::string evaluate(std::vector<std::string> & pQueries);
00073
00074
00075 private:
00076
00088 std::string substituteSubquery(PredicateTree * pNode, PredicateTree * pTheOther,
00089 std::vector<std::string> & pResultingQueries);
00090
00091 };
00092
00093 }
00094 #endif