87 complex->FromUserObject(user_obj);
88 relation.
Reset(complex);
92 relation.
Reset(identity);
128 related.push_back(
SObject(obj));
134 ostream <<
"Identity Relation" << endl;
147 return (m_relations.size() > 0) ? (*m_relations.front()).
GetTypeName() :
"";
162 (**iter).GetRelated(scope, obj, related,
flags, cancel);
164 else if (m_relations.size()) {
166 new_objs.push_back(
SObject(obj));
170 (**iter).GetRelated(scope, **obj_iter,
tmp,
flags, cancel);
175 related.insert(related.end(), new_objs.begin(), new_objs.end());
186 vector< CRef<CUser_object> > objs;
189 user_obj.
AddField(m_szRelationsFieldName, objs);
190 user_obj.
AddField(m_szParallelFieldName, m_Parallel);
195 const vector<CRef<CUser_object> >& objs =
207 ostream << (m_Parallel ?
"Parallel" :
"Sequential") << endl;
211 (*iter)->Dump(ostream);
221 retVal =
"All Conversions";
225 string prop = (*iter)->GetProperty(
key);
242 if (m_Properties == 0)
245 for (
int i = 0;; ++
i) {
250 retVal = iter->
value;
virtual string GetProperty(const string &key) const
virtual string GetProperty(const string &key) const
static const char * m_szRelationsFieldName
void AddRelation(const CRelation *relation)
virtual string GetTypeName() const
virtual string GetRelatedTypeName() const
virtual void GetRelated(objects::CScope &scope, const CObject &obj, TObjects &related, TFlags flags=eDefault, ICanceled *cancel=NULL) const
virtual void FromUserObject(const objects::CUser_object &user_obj)
static const char * m_Name
virtual void ToUserObject(objects::CUser_object &user_obj) const
virtual void Dump(ostream &ostream) const
vector< CConstRef< CRelation > > RelVector
static const char * m_szParallelFieldName
virtual void Dump(ostream &ostream) const
static const char * m_Name
virtual void GetRelated(objects::CScope &scope, const CObject &obj, TObjects &related, TFlags flags=eDefault, ICanceled *cancel=NULL) const
static const CRelation * FindRelationByName(const string &name)
vector< SObject > TObjects
virtual void ToUserObject(objects::CUser_object &) const
virtual string GetTypeName() const =0
virtual string GetRelatedTypeName() const =0
static const char * m_szRelationName
static objects::CUser_object * UserObjectFromRelation(const CRelation &relation)
void WriteObject(CObjectOStream &out) const
static const CRelation * ReadObject(CObjectIStream &in)
static const char * m_szUserObjectType
static const CRelation * RelationFromUserObject(const objects::CUser_object &user_obj)
virtual string GetName() const =0
CUser_object & AddField(const string &label, const string &value, EParseField parse=eParse_String)
add a data field to the user object that holds a given value
const CUser_field & GetField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Access a named field in this user object.
Interface for testing cancellation request in a long lasting operation.
std::ofstream out("events_result.xml")
main entry point for tests
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
void Reset(void)
Reset reference object.
TObjectType * Release(void)
Release a reference to the object and return a pointer to the object.
TObjectType * Release(void)
Release a reference to the object and return a pointer to the object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const TStr & GetStr(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
TBool GetBool(void) const
Get the variant data.
vector< CRef< CUser_object > > TObjects
const TStr & GetStr(void) const
Get the variant data.
void SetType(TType &value)
Assign a value to Type data member.
const TType & GetType(void) const
Get the Type member data.
const TObjects & GetObjects(void) const
Get the variant data.
const struct ncbi::grid::netcache::search::fields::KEY key
std::istream & in(std::istream &in_, double &x_)
struct SObject provides an interface for defining what is returned from object conversion.