Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
berry::IExtension Struct Referenceabstract

#include <berryIExtension.h>

Inheritance diagram for berry::IExtension:
Collaboration diagram for berry::IExtension:

Public Member Functions

 berryObjectMacro (berry::IExtension)
 
 ~IExtension () override
 
virtual QList< SmartPointer< IConfigurationElement > > GetConfigurationElements () const =0
 
virtual QString GetNamespaceIdentifier () const =0
 
virtual SmartPointer< IContributorGetContributor () const =0
 
virtual QString GetExtensionPointUniqueIdentifier () const =0
 
virtual QString GetLabel () const =0
 
virtual QString GetSimpleIdentifier () const =0
 
virtual QString GetUniqueIdentifier () const =0
 
virtual bool IsValid () const =0
 
- Public Member Functions inherited from berry::Object
virtual QString GetClassName () const
 
virtual Reflection::TypeInfo GetTypeInfo () const
 
virtual QList< Reflection::TypeInfoGetSuperclasses () const
 
virtual void Delete ()
 
QDebug Print (QDebug os, Indent Indent=0) const
 
virtual QString ToString () const
 
virtual uint HashCode () const
 
virtual bool operator< (const Object *) const
 
void Register () const
 
void UnRegister (bool del=true) const
 
int GetReferenceCount () const
 
void SetReferenceCount (int)
 
void AddDestroyListener (const MessageAbstractDelegate<> &delegate) const
 
void RemoveDestroyListener (const MessageAbstractDelegate<> &delegate) const
 
virtual bool operator== (const Object *) const
 

Additional Inherited Members

- Public Types inherited from berry::Object
typedef Object Self
 
typedef berry::SmartPointer< SelfPointer
 
typedef berry::SmartPointer< const SelfConstPointer
 
typedef berry::WeakPointer< SelfWeakPtr
 
typedef berry::WeakPointer< const SelfConstWeakPtr
 
- Static Public Member Functions inherited from berry::Object
static const char * GetStaticClassName ()
 
static Reflection::TypeInfo GetStaticTypeInfo ()
 
static QList< Reflection::TypeInfoGetStaticSuperclasses ()
 
- Protected Member Functions inherited from berry::Object
 Object ()
 
virtual ~Object ()
 
virtual QDebug PrintSelf (QDebug os, Indent indent) const
 
virtual QDebug PrintHeader (QDebug os, Indent indent) const
 
virtual QDebug PrintTrailer (QDebug os, Indent indent) const
 
- Protected Attributes inherited from berry::Object
QAtomicInt m_ReferenceCount
 
QMutex m_ReferenceCountLock
 

Detailed Description

An extension declared in a plug-in. All information is obtained from the declaring plug-in's manifest (plugin.xml) file.

These registry objects are intended for relatively short-term use. Clients that deal with these objects must be aware that they may become invalid if the declaring plug-in is updated or uninstalled. If this happens, all methods except IsValid() will throw InvalidRegistryObjectException. For extension objects, the most common case is code in a plug-in dealing with extensions contributed to one of the extension points it declares. Code in a plug-in that has declared that it is not dynamic aware (or not declared anything) can safely ignore this issue, since the registry would not be modified while it is active. However, code in a plug-in that declares that it is dynamic aware must be careful when accessing the extension objects because they become invalid if the contributing plug-in is removed. Similarly, tools that analyze or display the extension registry are vulnerable. Client code can pre-test for invalid objects by calling IsValid(), which never throws this exception. However, pre-tests are usually not sufficient because of the possibility of the extension object becoming invalid as a result of a concurrent activity. At-risk clients must treat InvalidRegistryObjectException as if it were a checked exception. Also, such clients should probably register a listener with the extension registry so that they receive notification of any changes to the registry.

This interface is not intended to be implemented by clients.

Definition at line 54 of file berryIExtension.h.

Constructor & Destructor Documentation

◆ ~IExtension()

berry::IExtension::~IExtension ( )
override

Member Function Documentation

◆ berryObjectMacro()

berry::IExtension::berryObjectMacro ( berry::IExtension  )

◆ GetConfigurationElements()

virtual QList<SmartPointer<IConfigurationElement> > berry::IExtension::GetConfigurationElements ( ) const
pure virtual

Returns all configuration elements declared by this extension. These elements are a direct reflection of the configuration markup supplied in the manifest (plugin.xml) file for the plug-in that declares this extension. Returns an empty array if this extension does not declare any configuration elements.

Returns
the configuration elements declared by this extension
Exceptions
InvalidRegistryObjectExceptionif this extension is no longer valid

◆ GetContributor()

virtual SmartPointer<IContributor> berry::IExtension::GetContributor ( ) const
pure virtual

Returns the contributor of this extension.

Returns
the contributor for this extension
Exceptions
InvalidRegistryObjectExceptionif this extension is no longer valid

◆ GetExtensionPointUniqueIdentifier()

virtual QString berry::IExtension::GetExtensionPointUniqueIdentifier ( ) const
pure virtual

Returns the unique identifier of the extension point to which this extension should be contributed.

Returns
the unique identifier of the relevant extension point
Exceptions
InvalidRegistryObjectExceptionif this extension is no longer valid

◆ GetLabel()

virtual QString berry::IExtension::GetLabel ( ) const
pure virtual

Returns a displayable label for this extension. Returns the empty string if no label for this extension is specified in the extension manifest file.

Note that any translation specified in the extension manifest file is automatically applied.

Returns
a displayable string label for this extension, possibly the empty string
Exceptions
InvalidRegistryObjectExceptionif this extension is no longer valid

◆ GetNamespaceIdentifier()

virtual QString berry::IExtension::GetNamespaceIdentifier ( ) const
pure virtual

Returns the namespace name for this extension.

Returns
the namespace name for this extension
Exceptions
InvalidRegistryObjectExceptionif this extension is no longer valid

◆ GetSimpleIdentifier()

virtual QString berry::IExtension::GetSimpleIdentifier ( ) const
pure virtual

Returns the simple identifier of this extension, or null if this extension does not have an identifier. This identifier is specified in the extensions manifest file as a non-empty string containing no period characters ('.') and must be unique within the defining host.

Returns
the simple identifier of the extension (e.g. "main") or null
Exceptions
InvalidRegistryObjectExceptionif this extension is no longer valid

◆ GetUniqueIdentifier()

virtual QString berry::IExtension::GetUniqueIdentifier ( ) const
pure virtual

Returns the unique identifier of this extension, or null if this extension does not have an identifier. If available, this identifier is unique within the extension registry, and is composed of the identifier of the host that declared this extension and this extension's simple identifier.

Returns
the unique identifier of the extension (e.g. "com.example.acme.main"), or null
Exceptions
InvalidRegistryObjectExceptionif this extension is no longer valid

◆ IsValid()

virtual bool berry::IExtension::IsValid ( ) const
pure virtual

Returns whether this extension object is valid.

Returns
true if the object is valid, and false if it is no longer valid

The documentation for this struct was generated from the following file: