Code
The object and variable declarations are the following:
FdoISchemaCapabilities * schemaCapabilities;
// FdoClassType is an enumerated type
FdoClassType * classTypes;
// FdoDataType is an enumerated type
FdoDataType * dataTypes;
bool supportsInheritance;
bool supportsMultipleSchemas;
bool supportsObjectProperties;
bool supportsAssociationProperties;
bool supportsSchemaOverrides;
bool supportsNetworkModel;
bool supportsAutoIdGeneration;
bool supportsDataStoreScopeUniqueIdGeneration;
FdoDataType * autoGeneratedTypes;
bool supportsSchemaModification;
The method calls are the following:
schemaCapabilities = connection->GetSchemaCapabilities();
// this returns a list of FdoClassType
classTypes = schemaCapabilities->GetClassTypes();
// loop through the classTypes
// this returns a list of FdoDataType
dataTypes = schemaCapabilities->GetDataTypes();
// loop through the dataTypes
supportsInheritance = schemaCapabilities->SupportsInheritance();
supportsMultipleSchemas = schemaCapabilities->
SupportsMultipleSchemas();
supportsObjectProperties = schemaCapabilities->
SupportsObjectProperties();
supportsAssociationProperties = schemaCapabilities->
SupportsAssociationProperties();
supportsSchemaOverrides = schemaCapabilities->
SupportsSchemaOverrides();
supportsNetworkModel = schemaCapabilities->SupportsNetworkModel();
supportsAutoIdGeneration = schemaCapabilities->
SupportsAutoIdGeneration();
supportsDataStoreScopeUniqueIdGeneration = schemaCapabilities->
SupportsDataStoreScopeUniqueIdGeneration();
// this returns a list of FdoDataType
autoGeneratedTypes = schemaCapabilities->
GetSupportedAutoGeneratedTypes();
supportsSchemaModification = schemaCapabilities->
SupportsSchemaModification();