1 #ifndef GUI_UTILS___OBJ_CONVERT__HPP
2 #define GUI_UTILS___OBJ_CONVERT__HPP
172 static const CRelation* FindRelationByName(
const string& name);
174 static void FindRelations(objects::CScope& scope,
176 const string& to_type_in,
179 static void DumpDotGraph(ostream& ostream,
bool dumpIDs =
false);
204 static void Register(
const CTypeInfo* from_type,
208 static void Register(
const CTypeInfo* from_type,
209 const string& to_type,
212 static void Register(
const string& from_type,
216 static void Register(
const string& from_type,
217 const string& to_type,
220 static void RegisterTypeAlias(
const string& real_name,
221 const string& alias);
224 static TFlags GetDefaultFlags(
void);
235 static const string& x_NormalizeTypeName(
const string&
str);
239 static size_t x_FindRelationByName(
const string& name);
static CRef< CScope > m_Scope
virtual const TObjList & Convert(objects::CScope &scope, const CObject &obj, const string &type_name, CObjectConverter::TFlags flags=CObjectConverter::eDefault)
virtual const TObjList & Convert(objects::CScope &scope, const CObject &obj, const CTypeInfo *info, CObjectConverter::TFlags flags=CObjectConverter::eDefault)
map< SCacheKey, TObjList, SCacheKeySort > TCache
CObjectConverter::TObjList TObjList
static TTypeAliases sm_TypeAliases
static void Convert(objects::CScope &scope, const CObject &obj, const CTypeInfo *info, TObjList &objs, TFlags flags=eDefault)
Convert an object of potentially unknown type to a set of objects of known type.
CRef< CRelation > TRelation
vector< TRelation > TRelationVector
static TFlags sm_DefaultFlags
the default conversion flags
map< string, string > TTypeAliases
a list of type aliases aliases are applied to interpret the to type only!
static bool CanConvert(objects::CScope &scope, const CObject &obj, const string &type_name)
ITypeConverter::TObjList TObjList
static bool CanConvert(objects::CScope &scope, const CObject &obj, const CTypeInfo *type_info)
Determine whether an indicated conversion can be performed.
@ eDefault
default here has a different value than above this is intentional
static void Convert(objects::CScope &scope, const CObject &obj, const string &type_name, TObjList &objs, TFlags flags=eDefault)
Convert an object of potentially unknown type to a set of objects of known type.
static TRelationVector sm_Relations
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
@ fConvert_NoExpensive
do not perform any expensive tests tests (such as fetching from the network)
@ fConvert_All
retrieve all possible identities if multiple can be shown
@ eDefault
combined sets of flags
@ fConvert_Best
retrieve the best single entity if multiple can be shown
vector< SObject > TObjList
virtual void Convert(objects::CScope &scope, const CObject &obj, TObjList &objs, TFlags flags=eDefault) const =0
static const char * str(char *buf, int n)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIOBJUTILS_EXPORT
Defines to provide correct exporting from DLLs in Windows.
const struct ncbi::grid::netcache::search::fields::KEY key
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
SCacheKey(const SCacheKey &key)
SCacheKey(objects::CScope &scope, const CObject &obj, const string &type)
CConstRef< objects::CScope > m_Scope
CConstRef< CObject > m_Obj
struct SObject provides an interface for defining what is returned from object conversion.
CConstRef< CObject > object
the converted object
const CObject * GetObjectPtr(void) const
named function
const CObject & GetSource() const
retrieve the source for this object this is the original object that was used to generate this object
const CObject & operator*() const
return the object through a couple of equivalent functions:
SObject(const CObject &obj, const string &comm)
const string & GetComment() const
retrieve a comment concerning what this object means this may be, for example, a description of the r...
const CObject & GetObject(void) const
named function
CConstRef< CObject > source
the source object
SObject(const CObject &obj)
string comment
a description of this object
static const char * type_name(CS_INT value)