NCBI C++ ToolKit
|
Search Toolkit Book for CSearchToolBase
#include <gui/core/search_tool_base.hpp>
Classes | |
struct | SSession |
Public Types | |
enum | EPatternType { eExactMatch , eWildcard , eRegexp , eNamed } |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Types inherited from CEventHandler | |
enum | EDispatch { eDispatch_SelfOnly , eDispatch_AllHandlers , eDispatch_FirstHandler , eDispatch_Default = eDispatch_AllHandlers } |
enum controlling dispatching strategies More... | |
enum | EPoolName { ePool_Default = 0 , ePool_Parent , ePool_Child , ePool_Sibling , ePool_NextAvailable } |
Identifiers for standard pools. More... | |
typedef vector< CEventHandler * > | TListeners |
typedef map< int, TListeners > | TPools |
typedef list< AutoPtr< SPostRequest > > | TPostRequests |
typedef std::map< CEventHandler *, int > | THandlerToCount |
typedef void(* | FOnPostCallback) () |
Public Types inherited from IDMSearchTool | |
enum | TUIFlagValue { eNone = 0 , eAutorun = 1 , eCache = 2 , eFilter = 4 } |
typedef int | TUIToolFlags |
typedef pair< string, string > | TFilter |
Public Member Functions | |
CSearchToolBase () | |
virtual | ~CSearchToolBase () |
void | OnAJNotification (CEvent *evt) |
CAppJobDispatcher notification handler. More... | |
void | OnProgress (CEvent *evt) |
virtual IDMSearchTool::TUIToolFlags | GetFlags (void) |
special flags More... | |
virtual IDMSearchTool::TConversions & | GetConversions (void) |
list of acceptable feat types top convert and default type More... | |
virtual const IDMSearchTool::TFilters & | GetFilters (void) const |
list of all tool-provided filters More... | |
virtual IDMSearchTool::TFilters & | SetFilters () |
IUITool interface | |
virtual IUITool * | Clone () const =0 |
virtual string | GetName () const =0 |
returns unique name of the method that is used in UI to identify it More... | |
virtual string | GetDescription () const =0 |
returns a detailed description of the method that is used in UI More... | |
IDMSearchTool implementation | |
virtual CIRef< IDMSearchForm > | CreateSearchForm ()=0 |
factory method for creating a form representing the tool More... | |
virtual bool | IsCompatible (IDataMiningContext *context)=0 |
retuns true if the tool is compatible with the provided Search Context More... | |
virtual bool | StartSearch (IDMSearchQuery &query, IDMSearchFormController &listener) |
Starts search Job, the job is identified by the query object. More... | |
virtual bool | CancelSearch (IDMSearchFormController &listener) |
virtual bool | PullSearch (IDMSearchQuery &query, IDMSearchFormController &listener) |
Pulls cached result from cache if possible (true) More... | |
virtual string | GetJobDescr (IDMSearchFormController &form) |
Public Member Functions inherited from CObjectEx | |
CObjectEx (void) | |
virtual | ~CObjectEx (void) |
Public Member Functions inherited from CObject | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
Public Member Functions inherited from CDebugDumpable | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Public Member Functions inherited from CWeakObject | |
CWeakObject (void) | |
virtual | ~CWeakObject (void) |
CPtrToObjectProxy * | GetPtrProxy (void) const |
Get pointer to proxy object containing pointer to this object. More... | |
Public Member Functions inherited from IExtension | |
virtual string | GetExtensionIdentifier () const =0 |
returns the unique human-readable identifier for the extension the id should use lowercase letters separated by underscores - "like_this" More... | |
virtual string | GetExtensionLabel () const =0 |
returns a displayable label for this extension ( please capitalize the key words - "My Extension" ) More... | |
virtual | ~IExtension () |
Public Member Functions inherited from CEventHandler | |
CEventHandler () | |
CEventHandler. More... | |
virtual | ~CEventHandler () |
virtual void | AddListener (CEventHandler *listener, int pool_name=ePool_Default) |
Add a listener. More... | |
virtual void | RemoveListener (CEventHandler *listener) |
Remove a listener. More... | |
virtual void | RemoveAllListeners (void) |
virtual bool | HasListener (CEventHandler *listener, int pool_name=ePool_Default) const |
returns "true" if the given listener belongs to the specified pool More... | |
virtual const TListeners * | GetListeners (int pool_name=ePool_Default) const |
returns a set of listeners fro the specified pool More... | |
virtual bool | OnEvent (CEvent *evt) |
Processes en event. Returns "true" if event has been processed. More... | |
virtual bool | Dispatch (CEvent *evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default) |
Dispatches an event to the listeners (but does not handle it). More... | |
virtual bool | Send (CEvent *evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default) |
Sends an event synchronously. More... | |
virtual bool | Send (CEvent *evt, int pool_name) |
void | Post (CRef< CEvent > evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default) |
Handles an event asynchronously (process and/or dispatch). More... | |
Public Member Functions inherited from IDMSearchTool | |
virtual | ~IDMSearchTool () |
Public Member Functions inherited from IUITool | |
virtual | ~IUITool () |
Static Public Member Functions | |
static string | GetPatternTypeStr (EPatternType ptype) |
String representation of pattern type. More... | |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Static Public Member Functions inherited from CEventHandler | |
static bool | HandlePostRequest () |
static void | ClearPostQueue () |
erases all events from the queue More... | |
static void | DestroyPostQueue () |
Protected Member Functions | |
virtual CRef< CSearchJobBase > | x_CreateJob (IDMSearchQuery &query)=0 |
create a job based on the given query, override in derived classes More... | |
int | x_GetSessionIndexByID (int job_id) |
int | x_GetSessionIndexByQuery (IDMSearchQuery &query) |
int | x_GetSessionIndexByListener (IDMSearchFormController &listener) |
virtual void | x_OnJobCompleted (CAppJobNotification ¬ify, SSession &session) |
virtual void | x_OnJobFailed (CAppJobNotification ¬ify, SSession &session) |
virtual void | x_OnJobCanceled (CAppJobNotification ¬ify, SSession &session) |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Member Functions inherited from CWeakObject | |
void | CleanWeakRefs (void) const |
Method cleaning all CWeakRefs referencing at this moment to the object After calling to this method all existing CWeakRefs referencing to the object will return NULL, so it effectively will be equal to deleting the object. More... | |
Protected Member Functions inherited from CEventHandler | |
virtual const SEvtMap * | GetEventMap () const |
void | x_DeclareDead () |
Removes itself unavailable for async event delivery. More... | |
void | x_AddListenerToPool (CEventHandler *listener, int pool_name) |
Protected Attributes | |
string | m_Name |
int | m_ReportPeriod |
vector< SSession * > | m_Sessions |
IDMSearchTool::TConversions | m_Conversions |
IDMSearchTool::TFilters | m_Filters |
CRef< CObjectList > | m_Cache |
Protected Attributes inherited from CEventHandler | |
TPools | m_Pools |
Private Member Functions | |
DECLARE_EVENT_MAP () | |
Additional Inherited Members | |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Static Protected Attributes inherited from CEventHandler | |
static const SEvtMap | sm_EvtMap |
Definition at line 54 of file search_tool_base.hpp.
Enumerator | |
---|---|
eExactMatch | |
eWildcard | |
eRegexp | |
eNamed |
Definition at line 62 of file search_tool_base.hpp.
CSearchToolBase::CSearchToolBase | ( | ) |
Definition at line 53 of file search_tool_base.cpp.
|
virtual |
Definition at line 59 of file search_tool_base.cpp.
|
virtual |
Implements IDMSearchTool.
Definition at line 144 of file search_tool_base.cpp.
References CAppJobDispatcher::DeleteJob(), ERR_POST, CAppJobDispatcher::GetInstance(), CSearchToolBase::SSession::m_JobID, m_Sessions, and x_GetSessionIndexByListener().
|
pure virtual |
Implements IDMSearchTool.
Implemented in CVcfSearchTool, CSequenceSearchTool, COrfSearchTool, CFeatureSearchTool, CEntrezSearchTool, CCpgSearchTool, CComponentSearchTool, CSNPSearchTool, and CNetBLAST_DMSearchTool.
|
pure virtual |
factory method for creating a form representing the tool
Implements IDMSearchTool.
Implemented in CSeqLocToolBase, CVcfSearchTool, CSequenceSearchTool, COrfSearchTool, CFeatureSearchTool, CEntrezSearchTool, CCpgSearchTool, CComponentSearchTool, CSNPSearchTool, and CNetBLAST_DMSearchTool.
|
private |
|
virtual |
list of acceptable feat types top convert and default type
Implements IDMSearchTool.
Definition at line 331 of file search_tool_base.cpp.
References m_Conversions.
|
pure virtual |
returns a detailed description of the method that is used in UI
Implements IDMSearchTool.
Implemented in CVcfSearchTool, CSequenceSearchTool, COrfSearchTool, CFeatureSearchTool, CEntrezSearchTool, CCpgSearchTool, CComponentSearchTool, CSNPSearchTool, and CNetBLAST_DMSearchTool.
|
virtual |
list of all tool-provided filters
Implements IDMSearchTool.
Definition at line 336 of file search_tool_base.cpp.
References m_Filters.
Referenced by COrfSearchForm::x_SaveSettings().
|
virtual |
special flags
Implements IDMSearchTool.
Reimplemented in CSequenceSearchTool, COrfSearchTool, and CNetBLAST_DMSearchTool.
Definition at line 326 of file search_tool_base.cpp.
References IDMSearchTool::eCache.
Referenced by x_OnJobCompleted().
|
virtual |
Implements IDMSearchTool.
Definition at line 240 of file search_tool_base.cpp.
References m_Sessions, and x_GetSessionIndexByListener().
|
pure virtual |
returns unique name of the method that is used in UI to identify it
Implements IDMSearchTool.
Implemented in CVcfSearchTool, CSequenceSearchTool, COrfSearchTool, CFeatureSearchTool, CEntrezSearchTool, CCpgSearchTool, CComponentSearchTool, CSNPSearchTool, and CNetBLAST_DMSearchTool.
|
static |
String representation of pattern type.
Definition at line 64 of file search_tool_base.cpp.
References eExactMatch, eNamed, eRegexp, and eWildcard.
Referenced by CSequenceSearchQuery::ToString().
|
pure virtual |
retuns true if the tool is compatible with the provided Search Context
Implements IDMSearchTool.
Implemented in CVcfSearchTool, CSequenceSearchTool, COrfSearchTool, CFeatureSearchTool, CEntrezSearchTool, CCpgSearchTool, CComponentSearchTool, CSNPSearchTool, CNetBLAST_DMSearchTool, and CSeqLocToolBase.
void CSearchToolBase::OnAJNotification | ( | CEvent * | evt | ) |
CAppJobDispatcher notification handler.
Definition at line 170 of file search_tool_base.cpp.
References _ASSERT, IAppJob::eCanceled, IAppJob::eCompleted, IAppJob::eFailed, ERR_POST, CAppJobNotification::GetJobID(), CAppJobNotification::GetState(), m_Sessions, NULL, x_GetSessionIndexByID(), x_OnJobCanceled(), x_OnJobCompleted(), and x_OnJobFailed().
void CSearchToolBase::OnProgress | ( | CEvent * | evt | ) |
Definition at line 206 of file search_tool_base.cpp.
References _ASSERT, ERR_POST, CAppJobNotification::GetJobID(), CConstRef< C, Locker >::GetPointer(), CRef< C, Locker >::GetPointer(), CAppJobNotification::GetProgress(), CAppJobProgress::GetText(), CSearchToolBase::SSession::m_Listener, CDMSearchProgress::m_Result, m_Sessions, NULL, IDMSearchFormController::OnSearchProgress(), result, and x_GetSessionIndexByID().
|
virtual |
Pulls cached result from cache if possible (true)
Implements IDMSearchTool.
Definition at line 85 of file search_tool_base.cpp.
References IDMSearchTool::eAutorun, IDMSearchTool::eCache, and query.
|
virtual |
Implements IDMSearchTool.
Definition at line 341 of file search_tool_base.cpp.
References m_Filters.
Referenced by COrfSearchForm::x_LoadSettings().
|
virtual |
Starts search Job, the job is identified by the query object.
Implements IDMSearchTool.
Definition at line 104 of file search_tool_base.cpp.
References ERR_POST, Error(), CAppJobDispatcher::GetInstance(), Info(), LOG_POST, CSearchToolBase::SSession::m_Descr, m_Filters, CSearchToolBase::SSession::m_JobID, CSearchToolBase::SSession::m_Listener, CSearchToolBase::SSession::m_Query, m_ReportPeriod, m_Sessions, query, CAppJobDispatcher::StartJob(), and x_CreateJob().
|
protectedpure virtual |
create a job based on the given query, override in derived classes
Implemented in CVcfSearchTool, CSequenceSearchTool, COrfSearchTool, CFeatureSearchTool, CEntrezSearchTool, CCpgSearchTool, CComponentSearchTool, CSNPSearchTool, and CNetBLAST_DMSearchTool.
Referenced by StartSearch().
Definition at line 251 of file search_tool_base.cpp.
References i, and m_Sessions.
Referenced by OnAJNotification(), and OnProgress().
|
protected |
Definition at line 273 of file search_tool_base.cpp.
References i, and m_Sessions.
Referenced by CancelSearch(), and GetJobDescr().
|
protected |
Definition at line 262 of file search_tool_base.cpp.
References i, m_Sessions, and query.
|
protectedvirtual |
Definition at line 318 of file search_tool_base.cpp.
References m_Cache, CSearchToolBase::SSession::m_Listener, IDMSearchFormController::OnSearchCanceled(), and CRef< C, Locker >::Reset().
Referenced by OnAJNotification().
|
protectedvirtual |
Definition at line 284 of file search_tool_base.cpp.
References IDMSearchTool::eCache, ERR_POST, GetFlags(), CRef< C, Locker >::GetPointer(), CAppJobNotification::GetResult(), m_Cache, CSearchToolBase::SSession::m_JobID, CSearchToolBase::SSession::m_Listener, IDMSearchFormController::OnSearchFailed(), IDMSearchFormController::OnSearchFinished(), CRef< C, Locker >::Reset(), and result.
Referenced by OnAJNotification().
|
protectedvirtual |
Definition at line 304 of file search_tool_base.cpp.
References ERR_POST, CAppJobNotification::GetError(), m_Cache, CSearchToolBase::SSession::m_JobID, CSearchToolBase::SSession::m_Listener, IDMSearchFormController::OnSearchFailed(), and CRef< C, Locker >::Reset().
Referenced by OnAJNotification().
|
protected |
Definition at line 133 of file search_tool_base.hpp.
Referenced by x_OnJobCanceled(), x_OnJobCompleted(), and x_OnJobFailed().
|
protected |
Definition at line 130 of file search_tool_base.hpp.
Referenced by CCpgSearchTool::CCpgSearchTool(), COrfSearchTool::COrfSearchTool(), CSequenceSearchTool::CSequenceSearchTool(), and GetConversions().
|
protected |
Definition at line 131 of file search_tool_base.hpp.
Referenced by COrfSearchTool::COrfSearchTool(), CSequenceSearchTool::CSequenceSearchTool(), GetFilters(), SetFilters(), and StartSearch().
|
protected |
Definition at line 126 of file search_tool_base.hpp.
|
protected |
Definition at line 128 of file search_tool_base.hpp.
Referenced by StartSearch().
|
protected |
Definition at line 129 of file search_tool_base.hpp.
Referenced by CancelSearch(), GetJobDescr(), OnAJNotification(), OnProgress(), StartSearch(), x_GetSessionIndexByID(), x_GetSessionIndexByListener(), and x_GetSessionIndexByQuery().