All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

CATInstantCollabDesignCAAItf Interface CATIColMergeContextTable

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---CATIColMergeContextTable
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATIColMergeContextTable

This interface defines the semantics used to represent all the linked feature of a collaborative feature.

The table contains a set of rows, each of them describing ONE link :
Example : context table for a pad aggregated under an hybrid body

----------------------------------------------------------------------------
ROLE NAME | Pointed Object | ContextRole | ContextFlag
----------------------------------------------------------------------------
Myfather | HybridBody | CATCol_PROTECTED_AGGREGATOR | CATCol_OPTIONAL
Myprofile | sketch | CATCol_FORCED_DEPENDENCY | CATCol_OPTIONAL

  • RoleName : string chosen by the developer to identify a link
  • Pointed object : the feature
  • Context role : the collaborative semantic
  • ContextFlag : not used .Default is CATCol_OPTIONAL

  • The table is built during the share step by a low level adapter which guarantees the feature model integrity.
    The goal is to have a closed set of features.
    The folowing methods provide access to the rows and the columns of the table and the possibility to add string property
    inside the table. These properties are streamed whith the table.


    Method Index


    o CreateLink(CATIColMergeContextRole,CATUnicodeString&,CATBaseUnknown*,CATIColMergeContextFlag,int&)
    Add a new entry inside the table.
    o CreateProperty(CATUnicodeString&,CATUnicodeString&)
    Add a string property (key,value) inside the table
    o GetContextFlag(int,CATIColMergeContextFlag&)
    NOT USED : Get the ContextFlag column value of the row iIndex
    o GetContextRole(int,CATIColMergeContextRole&)
    Get the context role column value of the row iIndex
    o GetLink(int,CATIColMergeContextRole&,CATUnicodeString&,CATBaseUnknown*&,CATIColMergeContextFlag&)
    Get the entire entry iIndex from the table
    o GetObject(int,CATBaseUnknown*&)
    Get the object column value of the row iIndex
    o GetProperty(CATUnicodeString&,CATUnicodeString&)
    Return the value of a property from a key
    o GetRoleName(int,CATUnicodeString&)
    Get the role name column value of the row iIndex
    o GetRoleNumber(int&)
    Get the number of entries inside the table
    o ListPropertyKeys(CATListOfCATUnicodeString&)
    List all the properties key
    o LocateObject(CATBaseUnknown*)
    Find an entry inside the table from an input object
    o RemoveLink(int)
    Remove an entry from the table
    o RemoveProperty(CATUnicodeString&)
    Remove a property from a key
    o SetContextFlag(int,CATIColMergeContextFlag)
    NOT USED :Valuate the context flag column of the row iIndex
    o SetContextRole(int,CATIColMergeContextRole)
    Valuate the ContextRole column of the row iIndex
    o SetObject(int,CATBaseUnknown*)
    Valuate the object column of the row iIndex.
    o SetRoleName(int,CATUnicodeString&)
    Valuate the rolename column of the row iIndex

    Methods


    o CreateLink
    public virtual HRESULT CreateLink(CATIColMergeContextRole iRole,
    CATUnicodeString& iRoleName,
    CATBaseUnknown* iValue,
    CATIColMergeContextFlag iFlag,
    int& oIndex)=0
    Add a new entry inside the table.
    Returns:
    The index inside the table of the new entry
    o CreateProperty
    public virtual HRESULT CreateProperty( const CATUnicodeString& ikey,
    const CATUnicodeString& value)=0
    Add a string property (key,value) inside the table
    o GetContextFlag
    public virtual HRESULT GetContextFlag(int iIndex,
    CATIColMergeContextFlag& oFlag)=0
    NOT USED : Get the ContextFlag column value of the row iIndex
    o GetContextRole
    public virtual HRESULT GetContextRole(int iIndex,
    CATIColMergeContextRole& oCtxRole)=0
    Get the context role column value of the row iIndex
    o GetLink
    public virtual HRESULT GetLink(int iIndex,
    CATIColMergeContextRole& oRole,
    CATUnicodeString& oRoleName,
    CATBaseUnknown*& oValue,
    CATIColMergeContextFlag& oFlag)=0
    Get the entire entry iIndex from the table
    o GetObject
    public virtual HRESULT GetObject(int iIndex,
    CATBaseUnknown*& oValue)=0
    Get the object column value of the row iIndex
    Parameters:
    iIndex
    [in] The parameter role...
    oValue
    [out, CATBaseUnknown#Release] The parameter role...
    Returns:
    S_OK if everything ran ok, otherwise...
    o GetProperty
    public virtual HRESULT GetProperty( const CATUnicodeString& ikey,
    CATUnicodeString& ovalue)=0
    Return the value of a property from a key
    o GetRoleName
    public virtual HRESULT GetRoleName(int iIndex,
    CATUnicodeString& oName)=0
    Get the role name column value of the row iIndex
    o GetRoleNumber
    public virtual HRESULT GetRoleNumber(int& oNumber)=0
    Get the number of entries inside the table
    o ListPropertyKeys
    public virtual HRESULT ListPropertyKeys(CATListOfCATUnicodeString& list) = 0
    List all the properties key
    o LocateObject
    public virtual int LocateObject( const CATBaseUnknown* iObject)=0
    Find an entry inside the table from an input object
    Parameters:
    iObject
    feature to find inside the table
    Returns:
    the index inside the table of the link which contains iObject or -1 if not found
    o RemoveLink
    public virtual HRESULT RemoveLink(int iIndex)=0
    Remove an entry from the table
    o RemoveProperty
    public virtual HRESULT RemoveProperty( const CATUnicodeString& ikey)=0
    Remove a property from a key
    o SetContextFlag
    public virtual HRESULT SetContextFlag(int iIndex,
    CATIColMergeContextFlag iFlag)=0
    NOT USED :Valuate the context flag column of the row iIndex
    o SetContextRole
    public virtual HRESULT SetContextRole(int iIndex,
    CATIColMergeContextRole iCtxRole)=0
    Valuate the ContextRole column of the row iIndex
    o SetObject
    public virtual HRESULT SetObject(int iIndex,
    CATBaseUnknown* iValue)=0
    Valuate the object column of the row iIndex. If an object was already set, it is released
    o SetRoleName
    public virtual HRESULT SetRoleName(int iIndex,
    CATUnicodeString& iName)=0
    Valuate the rolename column of the row iIndex

    This object is included in the file: CATIColMergeContextTable.h
    If needed, your Imakefile.mk should include the module: CATInstantCollabDesignItf

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