00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaWaferDBTypes.h 00004 // 00005 // This file contains type definitions and declarations for this package. 00006 // 00007 // ***************************************************************************** 00008 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00009 // Integration Initiative, this material may not be copied, modified, 00010 // re-published, uploaded, executed, or distributed in any way, in any medium, 00011 // in whole or in part, without prior written permission from Cadence. 00012 // 00013 // Copyright 2004-2005 Cadence Design Systems, Inc. 00014 // All Rights Reserved. 00015 // 00016 // $Author: icftcm $ 00017 // $Revision: #1 $ 00018 // $Date: 2010/08/09 $ 00019 // $State: Exp $ 00020 // ***************************************************************************** 00021 // ***************************************************************************** 00022 00023 00024 00025 #if !defined(oaWaferDBTypes_P) 00026 #define oaWaferDBTypes_P 00027 00028 00029 00030 // ***************************************************************************** 00031 // Nested includes 00032 // ***************************************************************************** 00033 #include "oaString.h" 00034 00035 00036 00037 // ***************************************************************************** 00038 // Declare and define types in the OpenAccess namespace. 00039 // ***************************************************************************** 00040 BEGIN_OA_NAMESPACE 00041 00042 00043 00044 // ***************************************************************************** 00045 // Windows DLL export macros 00046 // ***************************************************************************** 00047 #if defined(OA_WINDOWS) && defined(OA_WAFER_DLL_EXPORTS) 00048 #define OA_WAFER_DLL_API __declspec(dllexport) 00049 #define OA_WAFER_DLL_PVT __declspec(dllexport) 00050 #define OA_WAFER_DLL_EXTERN 00051 #elif defined(OA_WINDOWS) && !defined(OA_STATIC) 00052 #define OA_WAFER_DLL_API __declspec(dllimport) 00053 #define OA_WAFER_DLL_PVT __declspec(dllimport) 00054 #define OA_WAFER_DLL_EXTERN extern 00055 #else 00056 #define OA_WAFER_DLL_API 00057 #define OA_WAFER_DLL_PVT 00058 #endif 00059 00060 00061 00062 // ***************************************************************************** 00063 // oaWaferDataTypeEnum 00064 // 00065 // The first several entries are for the database itself and for data types with 00066 // a variable number of tables. These entries should not be included in the 00067 // number of data types. The entries between 0 and oavBaseNumDataTypes are 00068 // common to all databases and must match oaBaseDataTypeEnum. Note that the 00069 // dataIDs array for dataTbls--oaWaferData::waferDataTblIDs--should match this 00070 // array. 00071 // ***************************************************************************** 00072 #define oavNumWaferDataTypes 25 00073 #define oavNumNewWaferDataTypes 2 00074 00075 enum oaWaferDataTypeEnum { 00076 oacWaferWaferDataType = UINT_MAX, 00077 oacAppObjectWaferDataType = UINT_MAX - 1, 00078 oacPropWaferDataType = 0, 00079 oacGroupWaferDataType = 1, 00080 oacGroupMemWaferDataType = 2, 00081 oacAvatarWaferDataType = 3, 00082 oacValueWaferDataType = 4, 00083 oacConstraintParamDefWaferDataType = 5, 00084 oacConstraintParamWaferDataType = 6, 00085 oacConstraintDefWaferDataType = 7, 00086 oacConstraintWaferDataType = 8, 00087 oacConstraintGroupWaferDataType = 9, 00088 oacConstraintGroupMemWaferDataType = 10, 00089 oacConstraintGroupHeaderWaferDataType = 11, 00090 00091 oacWaferDescWaferDataType = 12, 00092 oacFrameWaferDataType = 13, 00093 oacReticleWaferDataType = 14, 00094 oacReticleRefWaferDataType = 15, 00095 oacStepperMapWaferDataType = 16, 00096 oacImageWaferDataType = 17, 00097 oacFrameInstWaferDataType = 18, 00098 oacDesignInstWaferDataType = 19, 00099 oacWaferFeatureWaferDataType = 20, 00100 oacFeatureWaferDataType = 21, 00101 oacFeaturePolicyWaferDataType = 22, 00102 oacGroupDefWaferDataType = 23, 00103 oacConstraintGroupDefWaferDataType = 24 00104 }; 00105 00106 00107 00108 // ***************************************************************************** 00109 // oaWaferDataType 00110 // ***************************************************************************** 00111 class OA_WAFER_DLL_API oaWaferDataType { 00112 public: 00113 oaWaferDataType(oaWaferDataTypeEnum valueIn); 00114 oaWaferDataType(const oaString &name); 00115 ~oaWaferDataType(); 00116 00117 const oaString &getName() const; 00118 00119 operator oaWaferDataTypeEnum() const; 00120 00121 private: 00122 static const oaString *initNames(); 00123 static const oaString *initVarNames(); 00124 00125 oaWaferDataTypeEnum value; 00126 00127 static const oaString names[]; 00128 static const oaString varNames[]; 00129 }; 00130 00131 00132 00133 // ***************************************************************************** 00134 // Forward Private Class Declarations 00135 // ***************************************************************************** 00136 class oaWaferHashTbl; 00137 class oaWaferStaticVarMemory; 00138 00139 00140 00141 // ***************************************************************************** 00142 // Forward Public Class Declarations 00143 // ***************************************************************************** 00144 class oaWafer; 00145 class oaWaferLibObserver; 00146 class oaWaferDesc; 00147 class oaWaferFeature; 00148 class oaFrame; 00149 class oaReticle; 00150 class oaReticleRef; 00151 class oaStepperMap; 00152 class oaImage; 00153 class oaFrameInst; 00154 class oaDesignInst; 00155 00156 00157 00158 // ***************************************************************************** 00159 // Initialization Function Declaration 00160 // ***************************************************************************** 00161 OA_WAFER_DLL_API extern void 00162 oaWaferInit(oaUInt4 apiMajorRev = oacAPIMajorRevNumber, 00163 oaUInt4 apiMinorRev = oacAPIMinorRevNumber); 00164 00165 OA_WAFER_DLL_API extern void 00166 oaWaferInit(oaUInt4 apiMajorRev, 00167 oaUInt4 apiMinorRev, 00168 oaUInt4 dataModelRev); 00169 00170 00171 00172 END_OA_NAMESPACE 00173 00174 00175 00176 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.