51 "Data Mining Service - search tools");
58 m_IsIncomplete(
false),
73 : m_QueryDescr(query_descr),
74 m_OLTModel(olt_model),
75 m_ObjectList(obj_list),
101 m_ServiceLocator(
NULL),
102 m_LastActiveContext(
NULL)
118 LOG_POST(
Info <<
"Initializing Data Mining Service...");
121 vector< CIRef<IDMSearchTool> > tools;
124 for(
size_t i = 0;
i < tools.size(); ++
i ) {
131 LOG_POST(
Info <<
"Finished initializing Data Mining Service");
137 LOG_POST(
Info <<
"Shutting down Data Mining Service...");
145 LOG_POST(
Info <<
"Finished shutting down Data Mining Service");
155 #define REG_ERR_PREFIX "CDataMiningService::RegisterTool() - "
160 const string& name = tool->
GetName();
175 LOG_POST(
Info <<
" DataMiningTool " << name <<
" registered.");
212 names.push_back(it->first);
232 ERR_POST(
"CDataMiningService::AttachContext() - client already registered");
247 ERR_POST(
"CDataMiningService::DetachContext() - client is not attached");
292 if(contributor ==
NULL) {
293 ERR_POST(
"CDataMiningService::AddContributor() - NULL contributor.");
295 TContributors::const_iterator it =
301 ERR_POST(
"CDataMiningService::AddContributor() - contributor already added");
311 if(contributor ==
NULL) {
312 ERR_POST(
"CDataMiningService::AddContributor() - NULL contributor.");
314 TContributors::iterator it =
317 ERR_POST(
"CDataMiningService::RemoveContributor() - not found");
CObjectListTableModel * DetachOLTModel()
Return OLT model and forget the ptr.association (ownership transfer)
CObjectListTableModel * m_OLTModel
virtual ~CDMSearchResult()
TContributors m_Contributors
virtual ~CDataMiningService()
virtual void SaveSettings() const
IDataMiningContext * m_LastActiveContext
virtual IDataMiningContext * GetLastActiveContext()
virtual void DetachContext(IDataMiningContext &context)
virtual string GetDefaultToolName() const
virtual void OnActiveContextChanged(IDataMiningContext *active)
this function is called by GUI components to notify server
virtual void ShutDownService()
virtual void GetToolNames(vector< string > &names) const
virtual void InitService()
virtual void LoadSettings()
void AddContributor(IDMContextMenuContributor *contributor)
the service does NOT assume ownership of the contributor
virtual void SetServiceLocator(IServiceLocator *locator)
TNameToToolMap m_NameToTool
void x_PostStateChanged()
IServiceLocator * m_ServiceLocator
void RemoveContributor(IDMContextMenuContributor *contributor)
vector< IDataMiningContext * > TContexts
virtual CIRef< IDMSearchTool > GetToolByName(const string &name)
virtual void AttachContext(IDataMiningContext &context)
virtual void SetRegistryPath(const string &path)
virtual void GetContexts(TContexts &contexts)
virtual bool RegisterTool(IDMSearchTool *tool)
CExtensionPointDeclaration - static declaration helper.
CObjectList Data structure representing a list of CObjects with associated Scopes and other optional ...
IDataMiningContext IDataMiningContext represents an abstract context for a Search.
IServiceLocatorConsumer - classes that need IServiceLocator should implement this interface.
IServiceLocator - an abstract mechanism for locating services.
container_type::const_iterator const_iterator
container_type::iterator iterator
const_iterator begin() const
const_iterator end() const
const_iterator find(const key_type &key) const
static CExtensionPointDeclaration decl(EXT_POINT__DATA_MINING_TOOL, "Data Mining Service - search tools")
static const struct name_t names[]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Info(CExceptionArgs_Base &args)
virtual void SetServiceLocator(IServiceLocator *locator)=0
void GetExtensionAsInterface(const string &ext_point_id, vector< CIRef< I > > &interfaces)
GetExtensionAsInterface() is a helper function that extracts all extensions implementing the specifie...
void Post(CRef< CEvent > evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default)
Handles an event asynchronously (process and/or dispatch).
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.