1 #ifndef GUI_GUI___EXTENSION__HPP
2 #define GUI_GUI___EXTENSION__HPP
135 const string& ext_point_label) = 0;
151 const string& extension_id) = 0;
183 const string& ext_id) = 0;
IExtensionRegistry IExtensionRegistry is an interface representing a Registry where Extension Points ...
IExtension IExtension interface represents an abstract pluggable component.
virtual string GetIdentifier() const =0
virtual TExtRef GetExtension(const string &extension_id)=0
finds and returns a reference to an Extension with the specified Id, search is performed across all P...
virtual string GetExtensionLabel() const =0
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
virtual bool AddExtension(IExtension &extension)=0
virtual ~IExtensionRegistry()
virtual bool AddExtension(const string &ext_point_id, IExtension &extension)=0
adds a new Extension to an Extension Point, if the Point does not exists creates a new one,...
virtual bool AddExtensionPoint(IExtensionPoint &ext_point)=0
adds a new Extension Point, returns true if successful
virtual string GetExtensionIdentifier() const =0
returns the unique human-readable identifier for the extension the id should use lowercase letters se...
virtual string GetLabel() const =0
virtual TExtRef GetExtension(const string &ext_point_id, const string &extension_id)=0
finds and returns a reference to an Extension with the specified Id, search is performed only in the ...
virtual void GetExtensionPoints(TExtPointVec &ext_points)=0
fills the given container with all Extension Points registered
virtual bool RemoveExtension(const string &ext_id)=0
removes the Extension with the given Id from all Extension Point in the Registry, returns false if th...
virtual TExtRef GetExtension(const string &ext_id)=0
virtual TExtPointRef GetExtensionPoint(const string &ext_point_id)=0
returns a reference to an Extension Point with the given identifier, returns null if there the Id is ...
virtual ~IExtensionPoint()
virtual void GetExtensions(TExtVec &extensions)=0
vector< TExtRef > TExtVec
CIRef< IExtensionPoint > TExtPointRef
CIRef< IExtension > TExtRef
virtual bool RemoveExtension(const string &ext_point_id, const string &ext_id)=0
removes the Extension with the given Id from the Extension Point with the specified Id.
vector< TExtPointRef > TExtPointVec
virtual bool RemoveExtensionPoint(IExtensionPoint &ext_point)=0
removes the specified Extension Point from the Registry.
virtual bool RemoveExtension(const string &ext_point_id, IExtension &extension)=0
removes the given Extension from the Extension Point with the given id returns false if the Point or ...
virtual bool RemoveExtension(const string &ext_id)=0
virtual bool GetExtensions(const string &ext_point_id, TExtVec &extensions)=0
finds an Extension Point with the given Id and fills the given container with references to all Exten...
vector< TExtRef > TExtVec
virtual bool AddExtensionPoint(const string &ext_point_id, const string &ext_point_label)=0
adds a new Extension Point, returns true if successful
virtual bool RemoveExtension(IExtension &extension)=0
CIRef< IExtension > TExtRef
virtual bool RemoveExtension(IExtension &extension)=0
removes the given Extension from all Extension Points in the Registry returns false if the Extension ...
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIUTILS_EXPORT
Defines to provide correct exporting from DLLs in Windows.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.