Guided Component Search
Detailed Description
GCS accelearates and simplifies the build process of assemblies. Only matching components will be selectable. Before GCS can be used the administrator has to produce the GCS information that define what components match to what components. This ITK contains all functions to create this GCS information.
You will use GCS ITK to:
-
Create, modify, remove, read GCS Connection Types
-
Create, modify, remove, read GCS Connection Point Definitions (add CPD to class, etc.)
-
Create, update, remove, read GCS Connection Points
-
Search for ICOs that match for a given ICO
Connection Type Functions (CT)
- ICS_API int GCS_ct_ask (int *theCTCount, tag_t **theCTTags)
- ICS_API int GCS_ct_describe (tag_t theCTTag, char **theCTId, char **theCTName, int *theAttributeCount, int **theAttributeIds, char ***theAttributeNames, char ***theComparisonCriteria)
- ICS_API int GCS_ct_create (char *theCTName, int theAttributeCount, int *theAttributeIds, char **theComparisonCriteria, tag_t *theCTTag, char **theCTId)
- ICS_API int GCS_ct_set (tag_t theCTTag, char *theCTName, int theAttributeCount, int *theAttributeIds, char **theComparisonCriteria)
- ICS_API int GCS_ct_remove (tag_t theCTTag)
- ICS_API int GCS_ct_update (tag_t theCTTag)
- ICS_API int GCS_ct_update_wsos (tag_t theCTTag, logical theCreateWsos)
- ICS_API int GCS_ct_where_referenced (tag_t theCTTag, int *theClassCount, char ***theClassIDs, tag_t **theClassTags, int *theCPDCount, tag_t **theCPDTags)
- ICS_API int GCS_ct_ask_tag_for_name (const char *theCTName, tag_t *theCTTag)
Connection Point Definition (for classes) Functions (CPD)
- ICS_API int GCS_cpd_ask (tag_t theComponentClassTag, int *theCPDCount, tag_t **theCPDTags)
- ICS_API int GCS_cpd_describe (tag_t theCPDTag, tag_t *theClassTag, tag_t *theCTTag, int *theCPDIndex, char **theCPQuantity, char **theDirection, char **theShape, int *theAttributeCount, int **theAttributeIds, char ***theAttributeMappings)
- ICS_API int GCS_cpd_add (tag_t theClassTag, tag_t theCTTag, int theCPDIndex, char *theCPQuantity, char *theDirection, char *theShape, int theAttributeCount, int *theAttributeIds, char **theAttributeMappings, tag_t *theCPDTag)
- ICS_API int GCS_cpd_add_wsos (tag_t theClassTag, tag_t theCTTag, int theCPDIndex, char *theCPQuantity, char *theDirection, char *theShape, int theAttributeCount, int *theAttributeIds, char **theAttributeMappings, logical theCreateWsos, tag_t *theCPDTag)
- ICS_API int GCS_cpd_set (tag_t theCPDTag, tag_t theClassTag, tag_t theCTTag, int theCPDIndex, char *theCPQuantity, char *theDirection, char *theShape, int theAttributeCount, int *theAttributeIds, char **theAttributeMappings)
- ICS_API int GCS_cpd_set_wsos (tag_t theCPDTag, tag_t theClassTag, tag_t theCTTag, int theCPDIndex, char *theCPQuantity, char *theDirection, char *theShape, int theAttributeCount, int *theAttributeIds, char **theAttributeMappings, logical theCreateWsos)
- ICS_API int GCS_cpd_remove (tag_t theCPDTag)
- ICS_API int GCS_cpd_update (tag_t theCPDTag)
- ICS_API int GCS_cpd_update_wsos (tag_t theCPDTag, logical theCreateWsos)
- ICS_API int GCS_cpd_ask_instances (tag_t theCPDTag, int *theCPCount, tag_t **theCPTags, tag_t **theICOTags)
Connection Point Functions (CP)
- ICS_API int GCS_cp_ask (tag_t theICOTag, int *theCPCount, tag_t **theCPTags)
- ICS_API int GCS_cp_describe (tag_t theCPTag, tag_t *theComponentTag, tag_t *theCPDTag, tag_t *theCTTag, int *theCPDIndex, int *theCPIndex, char **theDirection, char **theShape, int *theAttributeCount, int **theAttributeIds, char ***theAttributeValues)
- ICS_API int GCS_cp_ask_cp_of_occ (tag_t theOccurrenceTag, tag_t *theCPTag, tag_t *theComponentTag, tag_t *theCPDTag, tag_t *theCTTag, int *theCPDIndex, int *theCPIndex, char **theDirection, char **theShape, int *theAttributeCount, int **theAttributeIds, char ***theAttributeValues)
- ICS_API int GCS_cp_create_for_ICO (tag_t theICOTag)
- ICS_API int GCS_cp_create_for_ICO_and_CPD (tag_t theICOTag, tag_t theCPDTag)
- ICS_API int GCS_cp_update (tag_t theCPTag)
- ICS_API int GCS_cp_update_for_ICO (tag_t theICOTag)
- ICS_API int GCS_cp_update_for_ICO_and_CPD (tag_t theICOTag, tag_t theCPDTag)
- ICS_API int GCS_cp_remove (tag_t theCPTag)
- ICS_API int GCS_cp_remove_for_ICO (tag_t theICOTag)
General GCS Functions
- ICS_API int GCS_init_module ()
- ICS_API int GCS_search (tag_t theCPTag, int *theMatchingCount, tag_t **theMatchingCPTags, tag_t **theMatchingICOTags)
- ICS_API int GCS_class_search (tag_t theCPTag, int *theCPCount, tag_t **theCPTags, int *theICOCount, tag_t **theICOTags, int *theClassCount, char ***theClassIDs)
- ICS_API int GCS_class_search_by_occ (tag_t theOccurrenceTag, int *theCPCount, tag_t **theCPTags, int *theICOCount, tag_t **theICOTags, int *theClassCount, char ***theClassIDs)
Function Documentation
ICS_API int GCS_class_search |
( |
tag_t |
theCPTag, |
|
|
int * |
theCPCount, |
|
|
tag_t ** |
theCPTags, |
|
|
int * |
theICOCount, |
|
|
tag_t ** |
theICOTags, |
|
|
int * |
theClassCount, |
|
|
char *** |
theClassIDs | |
|
) |
| | |
This function searches for all matching CPs, ICOs and classes (including parents) containing those ICOs for a given CP.
- Parameters:
-
theCPTag |
(I) |
theCPCount |
(O) |
theCPTags |
(OF) theCPCount |
theICOCount |
(O) |
theICOTags |
(OF) theICOCount |
theClassCount |
(O) |
theClassIDs |
(OF) theClassCount |
ICS_API int GCS_class_search_by_occ |
( |
tag_t |
theOccurrenceTag, |
|
|
int * |
theCPCount, |
|
|
tag_t ** |
theCPTags, |
|
|
int * |
theICOCount, |
|
|
tag_t ** |
theICOTags, |
|
|
int * |
theClassCount, |
|
|
char *** |
theClassIDs | |
|
) |
| | |
This function searches for all matching CPs, ICOs and classes (including parents) containing those ICOs for a given occurrence.
- Parameters:
-
theOccurrenceTag |
(I) |
theCPCount |
(O) |
theCPTags |
(OF) theCPCount |
theICOCount |
(O) |
theICOTags |
(OF) theICOCount |
theClassCount |
(O) |
theClassIDs |
(OF) theClassCount |
ICS_API int GCS_cp_ask |
( |
tag_t |
theICOTag, |
|
|
int * |
theCPCount, |
|
|
tag_t ** |
theCPTags | |
|
) |
| | |
This function returns all connection points for a given ICO.
- Parameters:
-
theICOTag |
(I) |
theCPCount |
(O) |
theCPTags |
(OF) theCPCount |
ICS_API int GCS_cp_ask_cp_of_occ |
( |
tag_t |
theOccurrenceTag, |
|
|
tag_t * |
theCPTag, |
|
|
tag_t * |
theComponentTag, |
|
|
tag_t * |
theCPDTag, |
|
|
tag_t * |
theCTTag, |
|
|
int * |
theCPDIndex, |
|
|
int * |
theCPIndex, |
|
|
char ** |
theDirection, |
|
|
char ** |
theShape, |
|
|
int * |
theAttributeCount, |
|
|
int ** |
theAttributeIds, |
|
|
char *** |
theAttributeValues | |
|
) |
| | |
This function returns the values (CP, component ICO, CPD, CT, CPD index, CP index, direction, shape and attribute values) for a given connection point occurrence.
- Parameters:
-
theOccurrenceTag |
(I) |
theCPTag |
(O) |
theComponentTag |
(O) |
theCPDTag |
(O) |
theCTTag |
(O) |
theCPDIndex |
(O) |
theCPIndex |
(O) |
theDirection |
(O) |
theShape |
(O) |
theAttributeCount |
(O) |
theAttributeIds |
(OF) theAttributeCount |
theAttributeValues |
(OF) theAttributeCount |
ICS_API int GCS_cp_create_for_ICO |
( |
tag_t |
theICOTag |
) |
|
This function creates all connection points for a given ICO.
- Parameters:
-
ICS_API int GCS_cp_create_for_ICO_and_CPD |
( |
tag_t |
theICOTag, |
|
|
tag_t |
theCPDTag | |
|
) |
| | |
This function creats the connection point for a given ICO corresponding to the given CPD.
- Parameters:
-
theICOTag |
(I) |
theCPDTag |
(I) |
ICS_API int GCS_cp_describe |
( |
tag_t |
theCPTag, |
|
|
tag_t * |
theComponentTag, |
|
|
tag_t * |
theCPDTag, |
|
|
tag_t * |
theCTTag, |
|
|
int * |
theCPDIndex, |
|
|
int * |
theCPIndex, |
|
|
char ** |
theDirection, |
|
|
char ** |
theShape, |
|
|
int * |
theAttributeCount, |
|
|
int ** |
theAttributeIds, |
|
|
char *** |
theAttributeValues | |
|
) |
| | |
This function returns the values (component ICO, CPD, CT, CPD index, CP index, direction, shape and attribute values) for a given connection point.
- Parameters:
-
theCPTag |
(I) |
theComponentTag |
(O) |
theCPDTag |
(O) |
theCTTag |
(O) |
theCPDIndex |
(O) |
theCPIndex |
(O) |
theDirection |
(O) |
theShape |
(O) |
theAttributeCount |
(O) |
theAttributeIds |
(OF) theAttributeCount |
theAttributeValues |
(OF) theAttributeCount |
ICS_API int GCS_cp_remove |
( |
tag_t |
theCPTag |
) |
|
This function removes a given connection point.
- Parameters:
-
ICS_API int GCS_cp_remove_for_ICO |
( |
tag_t |
theICOTag |
) |
|
This function removes all connection points for a given ICO.
- Parameters:
-
ICS_API int GCS_cp_update |
( |
tag_t |
theCPTag |
) |
|
This function updates a given connection point (CP).
- Parameters:
-
ICS_API int GCS_cp_update_for_ICO |
( |
tag_t |
theICOTag |
) |
|
This function updates all connection points for a given ICO.
- Parameters:
-
ICS_API int GCS_cp_update_for_ICO_and_CPD |
( |
tag_t |
theICOTag, |
|
|
tag_t |
theCPDTag | |
|
) |
| | |
This function updates the connection point for a given ICO that corresponds to the given CPD.
- Parameters:
-
theICOTag |
(I) |
theCPDTag |
(I) |
ICS_API int GCS_cpd_add |
( |
tag_t |
theClassTag, |
|
|
tag_t |
theCTTag, |
|
|
int |
theCPDIndex, |
|
|
char * |
theCPQuantity, |
|
|
char * |
theDirection, |
|
|
char * |
theShape, |
|
|
int |
theAttributeCount, |
|
|
int * |
theAttributeIds, |
|
|
char ** |
theAttributeMappings, |
|
|
tag_t * |
theCPDTag | |
|
) |
| | |
This function adds a connection point definition to a given class, sets its values (CT, CPD index, CP quantity, direction, physical shape and attribute mapping), and returns the tag of the new connection point definition. It also creates or updates the associated connection points, and creates or updates items, item revisions, and PSConnections pertaining to their associated component ICOs.
- Parameters:
-
theClassTag |
(I) |
theCTTag |
(I) |
theCPDIndex |
(I) |
theCPQuantity |
(I) |
theDirection |
(I) |
theShape |
(I) |
theAttributeCount |
(I) |
theAttributeIds |
(I) theAttributeCount |
theAttributeMappings |
(I) theAttributeCount |
theCPDTag |
(O) |
ICS_API int GCS_cpd_add_wsos |
( |
tag_t |
theClassTag, |
|
|
tag_t |
theCTTag, |
|
|
int |
theCPDIndex, |
|
|
char * |
theCPQuantity, |
|
|
char * |
theDirection, |
|
|
char * |
theShape, |
|
|
int |
theAttributeCount, |
|
|
int * |
theAttributeIds, |
|
|
char ** |
theAttributeMappings, |
|
|
logical |
theCreateWsos, |
|
|
tag_t * |
theCPDTag | |
|
) |
| | |
This function adds a connection point definition to a given class, sets its values (CT, CPD index, CP quantity, direction, physical shape and attribute mapping), and returns the tag of the new connection point definition. It also creates or updates the associated connection points, and creates or updates items, item revisions, and PSConnections pertaining to their associated component ICOs, if this was requested by setting theCreateWsos to true.
- Parameters:
-
theClassTag |
(I) |
theCTTag |
(I) |
theCPDIndex |
(I) |
theCPQuantity |
(I) |
theDirection |
(I) |
theShape |
(I) |
theAttributeCount |
(I) |
theAttributeIds |
(I) theAttributeCount |
theAttributeMappings |
(I) theAttributeCount |
theCreateWsos |
(I) |
theCPDTag |
(O) |
ICS_API int GCS_cpd_ask |
( |
tag_t |
theComponentClassTag, |
|
|
int * |
theCPDCount, |
|
|
tag_t ** |
theCPDTags | |
|
) |
| | |
This function returns all connection point definitions that are defined for a given component class.
- Parameters:
-
theComponentClassTag |
(I) |
theCPDCount |
(O) |
theCPDTags |
(OF) theCPDCount |
ICS_API int GCS_cpd_ask_instances |
( |
tag_t |
theCPDTag, |
|
|
int * |
theCPCount, |
|
|
tag_t ** |
theCPTags, |
|
|
tag_t ** |
theICOTags | |
|
) |
| | |
This function returns all connection points and ICOs using a given connection point definition.
- Parameters:
-
theCPDTag |
(I) |
theCPCount |
(O) |
theCPTags |
(OF) theCPCount |
theICOTags |
(OF) theCPCount |
ICS_API int GCS_cpd_describe |
( |
tag_t |
theCPDTag, |
|
|
tag_t * |
theClassTag, |
|
|
tag_t * |
theCTTag, |
|
|
int * |
theCPDIndex, |
|
|
char ** |
theCPQuantity, |
|
|
char ** |
theDirection, |
|
|
char ** |
theShape, |
|
|
int * |
theAttributeCount, |
|
|
int ** |
theAttributeIds, |
|
|
char *** |
theAttributeMappings | |
|
) |
| | |
This function returns the values (component class, CT, CPD index, CP quantity, direction, physical shape (socket or plug) and attribute mapping) for a given connection point definition.
- Parameters:
-
theCPDTag |
(I) |
theClassTag |
(O) |
theCTTag |
(O) |
theCPDIndex |
(O) |
theCPQuantity |
(O) |
theDirection |
(O) |
theShape |
(O) |
theAttributeCount |
(O) |
theAttributeIds |
(OF) theAttributeCount |
theAttributeMappings |
(OF) theAttributeCount |
ICS_API int GCS_cpd_remove |
( |
tag_t |
theCPDTag |
) |
|
This function removes a given connection point definition.
- Warning:
- When you remove a CPD with this function, all CPs for this CPD will be removed as well. This can have major consequences for the whole GCS system.
- Parameters:
-
ICS_API int GCS_cpd_set |
( |
tag_t |
theCPDTag, |
|
|
tag_t |
theClassTag, |
|
|
tag_t |
theCTTag, |
|
|
int |
theCPDIndex, |
|
|
char * |
theCPQuantity, |
|
|
char * |
theDirection, |
|
|
char * |
theShape, |
|
|
int |
theAttributeCount, |
|
|
int * |
theAttributeIds, |
|
|
char ** |
theAttributeMappings | |
|
) |
| | |
This function sets the values (component class, CT, CPD index, CP quantity, direction, physical shape and attribute mapping) for a given, existing connection point definition. It also creates or updates the associated connection points, and creates or updates items, item revisions, and PSConnections pertaining to their associated component ICOs.
- Parameters:
-
theCPDTag |
(I) |
theClassTag |
(I) |
theCTTag |
(I) |
theCPDIndex |
(I) |
theCPQuantity |
(I) |
theDirection |
(I) |
theShape |
(I) |
theAttributeCount |
(I) |
theAttributeIds |
(I) theAttributeCount |
theAttributeMappings |
(I) theAttributeCount |
ICS_API int GCS_cpd_set_wsos |
( |
tag_t |
theCPDTag, |
|
|
tag_t |
theClassTag, |
|
|
tag_t |
theCTTag, |
|
|
int |
theCPDIndex, |
|
|
char * |
theCPQuantity, |
|
|
char * |
theDirection, |
|
|
char * |
theShape, |
|
|
int |
theAttributeCount, |
|
|
int * |
theAttributeIds, |
|
|
char ** |
theAttributeMappings, |
|
|
logical |
theCreateWsos | |
|
) |
| | |
This function sets the values (component class, CT, CPD index, CP quantity, direction, physical shape and attribute mapping) for a given, existing connection point definition. It also creates or updates the associated connection points, and creates or updates items, item revisions, and PSConnections pertaining to their associated component ICOs, if requested by setting theCreateWsos to true.
- Parameters:
-
theCPDTag |
(I) |
theClassTag |
(I) |
theCTTag |
(I) |
theCPDIndex |
(I) |
theCPQuantity |
(I) |
theDirection |
(I) |
theShape |
(I) |
theAttributeCount |
(I) |
theAttributeIds |
(I) theAttributeCount |
theAttributeMappings |
(I) theAttributeCount |
theCreateWsos |
(I) |
ICS_API int GCS_cpd_update |
( |
tag_t |
theCPDTag |
) |
|
This function updates (and creates if needed) all connection points (CPs) for a given connection point definition (CPD). It also creates or updates the associated connection points, and creates or updates items, item revisions, and PSConnections pertaining to their associated component ICOs.
- Parameters:
-
ICS_API int GCS_cpd_update_wsos |
( |
tag_t |
theCPDTag, |
|
|
logical |
theCreateWsos | |
|
) |
| | |
This function updates (and creates if needed) all connection points (CPs) for a given connection point definition (CPD). It also creates or updates the associated connection points, and creates or updates items, item revisions, and PSConnections pertaining to their associated component ICOs, if requested by setting theCreateWsos to true.
- Parameters:
-
theCPDTag |
(I) |
theCreateWsos |
(I) |
ICS_API int GCS_ct_ask |
( |
int * |
theCTCount, |
|
|
tag_t ** |
theCTTags | |
|
) |
| | |
This function returns the count and the IDs of all connection types that are defined in the GCS system.
- Parameters:
-
theCTCount |
(O) |
theCTTags |
(OF) theCTCount |
ICS_API int GCS_ct_ask_tag_for_name |
( |
const char * |
theCTName, |
|
|
tag_t * |
theCTTag | |
|
) |
| | |
This function returns the CT tag for a given CT name.
- Parameters:
-
theCTName |
(I) |
theCTTag |
(O) |
ICS_API int GCS_ct_create |
( |
char * |
theCTName, |
|
|
int |
theAttributeCount, |
|
|
int * |
theAttributeIds, |
|
|
char ** |
theComparisonCriteria, |
|
|
tag_t * |
theCTTag, |
|
|
char ** |
theCTId | |
|
) |
| | |
This function creates a new connection type and sets its values (name, attributes and comparison criteria).
- Parameters:
-
theCTName |
(I) |
theAttributeCount |
(I) |
theAttributeIds |
(I) |
theComparisonCriteria |
(I) |
theCTTag |
(O) |
theCTId |
(OF) |
ICS_API int GCS_ct_describe |
( |
tag_t |
theCTTag, |
|
|
char ** |
theCTId, |
|
|
char ** |
theCTName, |
|
|
int * |
theAttributeCount, |
|
|
int ** |
theAttributeIds, |
|
|
char *** |
theAttributeNames, |
|
|
char *** |
theComparisonCriteria | |
|
) |
| | |
This function returns the values (ID, name, attributes and comparison criteria) for a given connection type.
- Note:
- theCTId, theCTName & theAttributeCount the must not be NULL pointers!
If you don't want to retrieve theAttributeIds, theAttributeNames or theComparisonCriteria you can use NULL pointers as arguments there.
- Parameters:
-
theCTTag |
(I) |
theCTId |
(O) |
theCTName |
(O) |
theAttributeCount |
(O) |
theAttributeIds |
(OF) theAttributeCount |
theAttributeNames |
(OF) theAttributeCount |
theComparisonCriteria |
(OF) theAttributeCount |
ICS_API int GCS_ct_remove |
( |
tag_t |
theCTTag |
) |
|
This function removes a given connection type.
- Warning:
- When you remove a CT with this function, all CPDs and CPs using this CT will be removed as well. This can have major consequences for the whole GCS system.
- Parameters:
-
ICS_API int GCS_ct_set |
( |
tag_t |
theCTTag, |
|
|
char * |
theCTName, |
|
|
int |
theAttributeCount, |
|
|
int * |
theAttributeIds, |
|
|
char ** |
theComparisonCriteria | |
|
) |
| | |
This function sets the values (name, attributes and comparison criteria) for a given, existing connection type.
- Parameters:
-
theCTTag |
(I) |
theCTName |
(I) |
theAttributeCount |
(I) |
theAttributeIds |
(I) |
theComparisonCriteria |
(I) |
ICS_API int GCS_ct_update |
( |
tag_t |
theCTTag |
) |
|
This function updates all CPDs and CPs that belong to the given connection type.
- Parameters:
-
ICS_API int GCS_ct_update_wsos |
( |
tag_t |
theCTTag, |
|
|
logical |
theCreateWsos | |
|
) |
| | |
This function updates all CPDs and CPs that belong to the given connection type. It also creates or updates the ICO's associated item, item revision, and PSConnection, if requested by setting theCreateWsos to true.
- Parameters:
-
theCTTag |
(I) |
theCreateWsos |
(I) |
ICS_API int GCS_ct_where_referenced |
( |
tag_t |
theCTTag, |
|
|
int * |
theClassCount, |
|
|
char *** |
theClassIDs, |
|
|
tag_t ** |
theClassTags, |
|
|
int * |
theCPDCount, |
|
|
tag_t ** |
theCPDTags | |
|
) |
| | |
This function returns all classes and CPDs that are using a given connection type.
- Parameters:
-
theCTTag |
(I) |
theClassCount |
(O) |
theClassIDs |
(OF) theClassCount |
theClassTags |
(OF) theClassCount |
theCPDCount |
(O) |
theCPDTags |
(OF) theCPDCount |
ICS_API int GCS_init_module |
( |
|
) |
|
This function initializes the database for GCS usage. It creates all needed Attributes, Key LOVs, Classes. If those elements are already there it does nothing.
ICS_API int GCS_search |
( |
tag_t |
theCPTag, |
|
|
int * |
theMatchingCount, |
|
|
tag_t ** |
theMatchingCPTags, |
|
|
tag_t ** |
theMatchingICOTags | |
|
) |
| | |
This function searches for all matching CPs and the attached comp ICOs for a given CP.
- Parameters:
-
theCPTag |
(I) |
theMatchingCount |
(O) |
theMatchingCPTags |
(OF) theMatchingCount |
theMatchingICOTags |
(OF) theMatchingCount |