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:

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
public virtual HRESULT ListExtensions(CATListOfCATUnicodeString& ioList) const = 0
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
public virtual HRESULT QueryAllExtensions( const IID& iIID,
CATListPtrCATBaseUnknown** oLst)const = 0
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
public virtual HRESULT RemoveExtension(CATIOsmExtension* iExtensionToRemove)=0
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

Copyright © 2003, Dassault Systèmes. All rights reserved.