CAA V5 Encyclopedia |
|
Auditing CAA Code on ProtectedInterfaces UsageHow to effectively check ProtectedInterfaces usage in a CAA application |
Technical Article |
AbstractYour CAA application might use headers coming from the ProtectedInterfaces folders of the frameworks installed from the previous releases of CAA CD-ROMS. Refer to CAA V5 Authorized API Identification, Usage, Deprecation, and Stability to understand why you shoud get rind of ProtetedInterfaces in your CAA applications. This article describes a procedure allowing you to effectively check such header usage in your CAA application. This procedure uses a tool that is only available on Windows. Notes:
|
E:> <mkmk_install>\intel_a\code\command\tck_init E:> tck_profile TCK E:> cd myWorkspace E:\myWorkspace> mkGetPreq -p ... |
Where:
<mkmk_install>
is the root directory where the CAA
RADE tools are installedTCK
is the tool level to use. To know which
TCK
you can use, type tck_list
after
running tck_init
, and choose the level that matches your
installation among those available.Note: You can use the C++ Dashboard to perform those steps and
then open a CAA command window (Tools/Open Command Window) to perform the
following ones.
To run CAACheckPro, type:
E:\myWorkspace> CAACheckPro |
[Top]
The trace file is divided into the following parts.
10/11/2004 12:59:35 : Starting mkRemoveDo #mkmk-INFO: Command -> All frameworks of the workspace will be treated. #mkmk-INFO: Start of the cleaning procedure. |
# Analyzing framework named: E:\mkClos4\.\CAABlobUI # NEW Identity card path name: E:\mkClos4\.\CAABlobUI\IdentityCard\IdentityCard.mk # Loading dependencies databases named: E:\mkClos4\.\CAABlobUI\IdentityCard/Objects/iintel_a/Xref/Dependencies.mkXDB ... # Analyzing dependencies ... # + New direct prerequisite to DummyFW level Public added # + New direct prerequisite to SpecialAPI level Public added # ++ Using non public header AdvancedTopologicalOpe\ProtectedInterfaces\CATCreateTopProjection.h # ++ Using non public header MechanicalModeler\ProtectedInterfaces\CATMfAlgoConfigServices.h # ++ Using non public header MechanicalModeler\ProtectedInterfaces\CATINamingPart.h |
All the headers listed are the CAA ProtectedInterfaces files
recursively included by the application, meaning that they may either be
directly included by the application headers or included by a CAA
Protectednterfaces header included by the application.
## start step: CIbuild at 10/11/2004-14:28:53 #make: CAABlobUI intel_a\code\productIC\CAABlobUIIC.script Redefinition line(54) : AddPrereqComponent("SpecialAPI",Public,NotExported) Script Error >>> file: E:\mkClos4\BlobUI\IdentityCard\IdentityCard.mk line: 0 compilation failed <<< |
CAAProtectedChecker INCLUDEPRO MechanicalModeler/ProtectedInterfaces/CATMfAlgoConfigServices.h |
E:\mkClos4\.\CAABlobUI\CAABlobBlobizer.m\src\CAABlobBlobize.cpp(16) : error C2653: 'CATMfAlgoConfigServices' : is not a class or namespace name E:\mkClos4\.\CAABlob\CAABlobBlobizer.m\src\CAABlobBlobize.cpp(17) : error C2065: 'CreateConfigurationData' : undeclared identifier |
Notes:
[Top]
You now have a list of all the ProtectedInterfaces headers your application is using. To clean-up your applications, you can process as follows:
INCLUDEPRO
messages that are not followed by a compilation error
denote unused include files. Remove them from the corresponding sources.For each remaining compilation error, check:
Note: When you have corrected some or all of the errors, you may want to check your corrections. Before rebuilding your CAA application in the workspace used above, to temporarily get rid of the modifications brought by the CAACheckPro.bat utility, set the following variables:
E:\myWorkspace> set MKMK_EXPNOINDIRECT=yes E:\myWorkspace> set MKMK_IDCARDEXTEND=.mk
Then rebuild your CAA application. To resume checking for PortectedInterfaces headers usage, run again the CAACheckPro.bat utility.
[Top]
[1] | Building and Launching a CAA V5 Use Case |
[2] | CAA Internet Site |
[Top] |
Version: 1 [Jan 2005] | Document created |
[Top] |
Copyright © 1994-2005, Dassault Systèmes. All rights reserved.