All Frameworks Class Hierarchy This Framework Previous Next Indexes
ObjectSpecsModeler Interface CATIOsmExtendable
System.IUnknown
|
+---System.IDispatch
|
+---System.CATBaseUnknown
|
+---CATIOsmExtendable
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATIOsmExtendable
Interface to manage extension features on a base feature.
Role: CATIOsmExtendable is implemented by all features except the extension features.
The ressource file ExtensionName.CATRsc describes the properties of the extension.
Its format is as follows:
- ExtensionFeature.IsLocal=; whether or not the extension is local. A local extension is not instanciated when its base feature is instanciated. Allowable values are "TRUE" or "FALSE".
- ExtensionFeature.Extends=; name of the base feature(s) that this feature extends. Comma separated list of 1-n elements.
- ExtensionFeature.Container=; applicative container in which the extension is to be stored.
- ExtensionFeature.ContType=; type of the container.
- ExtensionFeature.ContSuperType=; supertype of the container.
*
Refer to CAAOsmBiographicalNovel.CATRsc for a complete example.
An extension feature implements CATIOsmExtension to retrieve its unique base feature.
Method Index
- o
AddExtension(char*)
- Creates and adds an extension.
- o
ListExtensions(CATListOfCATUnicodeString&)
- Returns all the extensions' identifier types.
- o
QueryAllExtensions(IID&,CATListPtrCATBaseUnknown**)
- Returns all the extensions implementing the requested interface.
- o
QueryApplicativeExtension(char*,IID&,void**)
- Returns the extension implementing the requested interface in a given applicative container.
- o
QueryExtension(char*,IID&,void**)
- Returns the extension implementing the requested interface.
- o
RemoveApplicativeExtensions(char*)
- Removes all the extensions of a feature located in an applicative container.
- o
RemoveExtension(CATIOsmExtension*)
- Removes an extension.
- o
RemoveExtension(char*)
- Removes an extension by its name.
Methods
o AddExtension
public virtual HRESULT AddExtension( | const char* | iExtensionId)=0 |
-
Creates and adds an extension.
The catalog containing the startup of the extension should have previously been opened
on the container which type is given by the resource file associated to the extension.
The extension is created in that container.
- Parameters:
-
- iExtensionId
- The identifier type of the extension to be instantiated and added.
This type can be given by
CATIOsmExtension.GetID
- Returns:
- S_OK if succeeded
S_FALSE if extension already exists
E_INVALIDARG if creation failed because of a problem in the resource file associated to iExtensionId
E_FAIL if creation failed because startup of extension can not be found
o ListExtensions
-
Returns all the extensions' identifier types.
- Parameters:
-
- ioList
- List of extensions' identifier types added on the feature
- Returns:
- S_OK if succeeded
E_FAIL problems during list composition
o QueryAllExtensions
-
Returns all the extensions implementing the requested interface.
- Parameters:
-
- iIID
- The IID of the requested interface
- oLst
- The list of all the extensions implementing the requested interface.
- Returns:
- S_OK if succeeded
E_FAIL no extension found
o QueryApplicativeExtension
public virtual HRESULT QueryApplicativeExtension( | const char* | iApplicationId, |
| const IID& | iIID, |
| void** | oResult) const = 0 |
-
Returns the extension implementing the requested interface in a given applicative container.
If exists, this extension should be unique in the container.
- Parameters:
-
- iApplicationId
- The name of the applicative container containing the extensions
- iIID
- The IID of the requested interface
- oResult
- [out, CATBaseUnknown#Release] The extension implementing the interface.
- Returns:
- S_OK if succeeded
E_FAIL no extension implementing the interface found
E_INVALIDARG several extensions implement the same interface in the container
o QueryExtension
public virtual HRESULT QueryExtension( | const char* | iExtensionId, |
| const IID& | iIID, |
| void** | oResult) const = 0 |
-
Returns the extension implementing the requested interface.
- Parameters:
-
- iExtensionId
- The identifier type of the extension to query on.
- iIID
- The IID of the requested interface
- oResult
- [out, CATBaseUnknown#Release] The extension implementing the interface
- Returns:
- S_OK if succeeded
E_FAIL no extension implementing the interface found
o RemoveApplicativeExtensions
public virtual HRESULT RemoveApplicativeExtensions( | const char* | iApplicationId)=0 |
-
Removes all the extensions of a feature located in an applicative container.
- Parameters:
-
- iApplicationId
- The name of the applicative container containing the extensions to be removed
- Returns:
- S_OK if succeeded
S_FALSE no extension found
E_FAIL if extensions could'nt be removed
o RemoveExtension
-
Removes an extension.
- Parameters:
-
- iExtensionToRemove
- The extension to be removed
- Returns:
- S_OK if succeeded
S_FALSE if extension not valid
E_FAIL if extension could'nt be removed
o RemoveExtension
public virtual HRESULT RemoveExtension( | const char* | iExtensionId)=0 |
-
Removes an extension by its name.
- Parameters:
-
- iExtensionId
- The identifier type of the extension to be removed
- Returns:
- S_OK if succeeded
S_FALSE if extension not found
E_FAIL if extension could'nt be removed
This object is included in the file: CATIOsmExtendable.h
If needed, your Imakefile.mk should include the module: CATObjectSpecsModeler