oaPlugInDMTypes.h

Go to the documentation of this file.
00001 // *****************************************************************************
00002 // *****************************************************************************
00003 // oaPlugInDMTypes.h
00004 //
00005 // This file contains type definitions and declarations which are used
00006 // in both the DM package and the plugIn package.
00007 //
00008 //  oaVCMessageTypeEnum
00009 //      This enumeration represents the types of messages that are passed to the
00010 //      client via the IVCMessageObserver interface. Their meanings are as
00011 //      follows:
00012 //
00013 //          oacVCMsgTypeInfo    The message is informational only
00014 //          oacVCMsgTypeWarning The message represents a warning condition
00015 //          oacVCMsgTypeError   The message represents an error condition
00016 //          oacVCMsgTypeStatus  The message is conveying status information
00017 //          oacVCMsgTypeQueryOk The message is a request for an Ok/Cancel
00018 //                              decision from the client
00019 //
00020 //  oaVCOperationEnum
00021 //      This enumeration is a list of the operations that a message passed
00022 //      through the IVCMessageObserver could be related to. The operation that
00023 //      was in effect at the time the message was issued is passed in the form
00024 //      of a value from this enum to the IVCMessageObserver::onMessageOut()
00025 //      function. The values should be self explanetory.
00026 //
00027 //  oaVCObserverResultEnum
00028 //      This enumeration contains the legal responses to a oacVCMsgTypeQueryOk
00029 //      message type. The appropriate value is passed by the client as the
00030 //      return value from the IVCMessageObserver::onMessageOut() call.
00031 //
00032 //          oacVCObserverResultOk           Proceed with the current operation
00033 //          oacVCObserverResultAbort        Abort the current operation
00034 //
00035 //  oaVCCapEnum
00036 //      This enumeration represents all the version control capabilities that
00037 //      the OA DM implementation is interested in. This list can grow, but
00038 //      existing values will never change. Implementors must be able to respond
00039 //      to values of this enum that aren't in existence at the time their code
00040 //      is compiled. The safest approach is to return "false" in this case
00041 //      (usually in the "default" section of a switch statement).
00042 //
00043 //  oaVCQueryDepthEnum
00044 //      This enumeration represents the depth to which the getControlledObjects
00045 //      function should go in responding to the call. If the object that this
00046 //      depth is being applied to is an IDMLib then all values of "depth" are
00047 //      valid. If, in this case, the value oacCellVCQueryDepth is passed in,
00048 //      then the resulting collection of IDMObjects will contain only the cells
00049 //      in the current library that are controlled by this VC system. The value
00050 //      oacFileVCQueryDepth represents the files that are found at the container
00051 //      level (e.g. Lib files) while the value oacCellViewFileVCQueryDepth
00052 //      indicates to go to the bottom-most file depth.
00053 //
00054 //  oaVersionCompEnum
00055 //      This enumeration represents the possible return values of the
00056 //      IVersion::compare() method. If the versions represent the same version
00057 //      then IVersion::cEqual is returned (not just if it's the same version
00058 //      *object*). IVersion::cEarlier means that the version being passed in is
00059 //      earlier in that branch, while IVersion::cLater means that it's later in
00060 //      the branch. The IVersion::cDifferentBranch value means that the incoming
00061 //      version is not on the same branch, while IVersion::cIncompatable means
00062 //      it's from an incompatable VC system.
00063 //
00064 // *****************************************************************************
00065 // Except as specified in the OpenAccess terms of use of Cadence or Silicon
00066 // Integration Initiative, this material may not be copied, modified,
00067 // re-published, uploaded, executed, or distributed in any way, in any medium,
00068 // in whole or in part, without prior written permission from Cadence.
00069 //
00070 //                Copyright 2002-2005 Cadence Design Systems, Inc.
00071 //                           All Rights Reserved.
00072 //
00073 //  $Author: icftcm $
00074 //  $Revision: #1 $
00075 //  $Date: 2010/08/09 $
00076 //  $State: Exp $
00077 // *****************************************************************************
00078 // *****************************************************************************
00079 
00080 
00081 
00082 #if !defined(oaPlugInDMTypes_P)
00083 #define oaPlugInDMTypes_P
00084 
00085 
00086 
00087 // *****************************************************************************
00088 // Nested includes
00089 // *****************************************************************************
00090 #include "oaPlugInTypes.h"
00091 
00092 
00093 
00094 // *****************************************************************************
00095 // Predefined DM System Capabilities
00096 // *****************************************************************************
00097 #define oacDMSystemPreservesFollowersCap    "PreservesFollowers"
00098 #define oacDMSystemSupportsViewFilesCap     "SupportsViewFiles"
00099 
00100 
00101 
00102 // *****************************************************************************
00103 // Predefined DM System Metrics
00104 // *****************************************************************************
00105 #define oacDMSystemMaxNameLengthMetric      "MaxNameLength"
00106 #define oacDMSystemMaxCellViewsMetric       "MaxCellViews"
00107 
00108 
00109 
00110 // *****************************************************************************
00111 // Declare and define types in the OpenAccess namespace.
00112 // *****************************************************************************
00113 BEGIN_OA_PLUGIN_NAMESPACE
00114 
00115 
00116 
00117 // *************************************************************************
00118 // oaLibAccessLevelEnum
00119 // *************************************************************************
00120 #define oavNumLibAccessLevels   3
00121 
00122 enum oaLibAccessLevelEnum {
00123     oacNoLibAccessLevel     = 0,
00124     oacReadLibAccessLevel   = 1,
00125     oacWriteLibAccessLevel  = 2
00126 };
00127 
00128 
00129 
00130 // *************************************************************************
00131 // oaDMLockStatusEnum
00132 // *************************************************************************
00133 #define oavNumDMLockStatus 3
00134 
00135 enum oaDMLockStatusEnum {
00136     oacNotLocked                = 0,
00137     oacLockedByCurrentProcess   = 1,
00138     oacLockedByForeignProcess   = 2
00139 };
00140 
00141 
00142 
00143 // *************************************************************************
00144 // oaLibModeEnum
00145 // *************************************************************************
00146 #define oavNumLibModes  3
00147 
00148 enum oaLibModeEnum {
00149     oacSharedLibMode    = 0,
00150     oacNonSharedLibMode = 1,
00151     oacReadOnlyLibMode  = 2
00152 };
00153 
00154 
00155 
00156 // *************************************************************************
00157 // oaLibAccessEnum
00158 // *************************************************************************
00159 #define oavNumLibAccessEnums    2
00160 
00161 enum oaLibAccessEnum {
00162     oacReadLibAccess    = 0,
00163     oacWriteLibAccess   = 1
00164 };
00165 
00166 
00167 
00168 // *************************************************************************
00169 // oaVCMessageTypeEnum
00170 // *************************************************************************
00171 #define oavNumVCMessageTypes    5
00172 
00173 enum oaVCMessageTypeEnum {
00174     oacVCMsgTypeInfo    = 0,
00175     oacVCMsgTypeWarning = 1,
00176     oacVCMsgTypeError   = 2,
00177     oacVCMsgTypeStatus  = 3,
00178     oacVCMsgTypeQueryOk = 4
00179 };
00180 
00181 
00182 
00183 // *************************************************************************
00184 // oaVCOperationEnum
00185 // *************************************************************************
00186 #define oavNumVCOperations  12
00187 
00188 enum oaVCOperationEnum {
00189     oacVCOperationGetStatus             = 0,
00190     oacVCOperationGetControlledObjects  = 1,
00191     oacVCOperationGetControlledLibs     = 2,
00192     oacVCOperationGetVersions           = 3,
00193     oacVCOperationGetWorkingVersion     = 4,
00194     oacVCOperationGetWorkingVersions    = 5,
00195     oacVCOperationUpdate                = 6,
00196     oacVCOperationMakeEditable          = 7,
00197     oacVCOperationCancelEdit            = 8,
00198     oacVCOperationCommitEdits           = 9,
00199     oacVCOperationSetControlled         = 10,
00200     oacVCOperationUnsetControlled       = 11
00201 };
00202 
00203 
00204 
00205 // *************************************************************************
00206 // oaVCCapEnum
00207 // *************************************************************************
00208 #define oavNumVCCaps    15
00209 
00210 enum oaVCCapEnum {
00211     oacCommitMayChangeFilesVCCap            = 0,
00212     oacHasVersionsVCCap                     = 1,
00213     oacSupportsGetStatusVCCap               = 2,
00214     oacSupportsGetControlledObjectsVCCap    = 3,
00215     oacSupportsGetControlledLibsVCCap       = 4,
00216     oacSupportsGetVersionsVCCap             = 5,
00217     oacSupportsGetWorkingVersionVCCap       = 6,
00218     oacSupportsGetWorkingVersionsVCCap      = 7,
00219     oacSupportsUpdateVCCap                  = 8,
00220     oacSupportsMakeEditableVCCap            = 9,
00221     oacSupportsLockVCCap                    = 10,
00222     oacSupportsCancelEditVCCap              = 11,
00223     oacSupportsCommitEditsVCCap             = 12,
00224     oacSupportsSetControlledVCCap           = 13,
00225     oacSupportsUnSetControlledVCCap         = 14
00226 };
00227 
00228 
00229 
00230 // *************************************************************************
00231 // oaVCObserverResultEnum
00232 // *************************************************************************
00233 #define oavNumVCObserverResults 2
00234 
00235 enum oaVCObserverResultEnum {
00236     oacVCObserverResultOk       = 0,
00237     oacVCObserverResultAbort    = 1
00238 };
00239 
00240 
00241 
00242 // *************************************************************************
00243 // oaVCQueryDepthEnum
00244 // *************************************************************************
00245 #define oavNumVCQueryDepths         5
00246 
00247 enum oaVCQueryDepthEnum {
00248     oacFileVCQueryDepth         = 0,
00249     oacCellVCQueryDepth         = 1,
00250     oacViewVCQueryDepth         = 2,
00251     oacCellViewVCQueryDepth     = 3,
00252     oacCellViewFileVCQueryDepth = 4,
00253     oacMaxQueryDepth            = 4
00254 };
00255 
00256 
00257 
00258 // *************************************************************************
00259 // oaVersionCompEnum
00260 // *************************************************************************
00261 #define oavNumVersionComps          5
00262 
00263 enum oaVersionCompEnum {
00264     oacVersionCompEqual             = 0,
00265     oacVersionCompEarlier           = 1,
00266     oacVersionCompLater             = 2,
00267     oacVersionCompDifferentBranch   = 3,
00268     oacVersionCompIncompatable      = 4
00269 };
00270 
00271 
00272 
00273 // *****************************************************************************
00274 // oaSaveRecoverTypeEnum
00275 // *****************************************************************************
00276 #define oavNumSaveRecoverTypes  2
00277 
00278 enum oaSaveRecoverTypeEnum {
00279     oacAutoSaveType     = 0,
00280     oacCriticalSaveType = 1
00281 };
00282 
00283 
00284 
00285 END_OA_PLUGIN_NAMESPACE
00286 
00287 #endif

Return to top of page