00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaTechHeader.h 00004 // 00005 // This file contains the definition for the oaTechHeader class and its public 00006 // supporting classes. The oaTechHeader contains information about bound or 00007 // unbound technology database references and manages the binding and unbinding 00008 // of those references. 00009 // 00010 // The supporting classes include: 00011 // 00012 // oaTechHeaderArray 00013 // This utility class implements an array of oaTechHeader pointers used 00014 // for retrieving the collection of the techHeaders in a technology 00015 // database. 00016 // 00017 // ***************************************************************************** 00018 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00019 // Integration Initiative, this material may not be copied, modified, 00020 // re-published, uploaded, executed, or distributed in any way, in any medium, 00021 // in whole or in part, without prior written permission from Cadence. 00022 // 00023 // Copyright 2002-2005 Cadence Design Systems, Inc. 00024 // All Rights Reserved. 00025 // 00026 // $Author: icftcm $ 00027 // $Revision: #1 $ 00028 // $Date: 2010/08/09 $ 00029 // $State: Exp $ 00030 // ***************************************************************************** 00031 // ***************************************************************************** 00032 00033 00034 00035 #if !defined(oaTechHeader_P) 00036 #define oaTechHeader_P 00037 00038 00039 00040 // ***************************************************************************** 00041 // Nested includes 00042 // ***************************************************************************** 00043 #include "oaArray.h" 00044 #include "oaName.h" 00045 #include "oaTechModTypes.h" 00046 #include "oaTechObject.h" 00047 00048 00049 00050 // ***************************************************************************** 00051 // Declare and define types in the OpenAccess namespace. 00052 // ***************************************************************************** 00053 BEGIN_OA_NAMESPACE 00054 00055 00056 00057 // ***************************************************************************** 00058 // oaTechHeaderArray 00059 // ***************************************************************************** 00060 class OA_TECH_DLL_API oaTechHeaderArray : public oaArray<oaTechHeader*> { 00061 public: 00062 oaTechHeaderArray(oaUInt4 sizeIn = 0); 00063 }; 00064 00065 00066 00067 // ***************************************************************************** 00068 // oaTechHeader 00069 // ***************************************************************************** 00070 class OA_TECH_DLL_API oaTechHeader : public oaTechObject { 00071 public: 00072 static oaTechHeader *find(const oaTech *tech, 00073 const oaScalarName &refLibName); 00074 static oaTechHeader *find(const oaTech *tech, 00075 const oaTech *refTech); 00076 00077 void getRefLibName(oaScalarName &refLibName) const; 00078 void getRefLibName(const oaNameSpace &ns, 00079 oaString &refLibName) const; 00080 oaTech *getRefTech() const; 00081 00082 oaBoolean isBound() const; 00083 00084 enum {dtIndex = oacTechHeaderDataType}; 00085 }; 00086 00087 00088 00089 // ***************************************************************************** 00090 // oaTech traits 00091 // ***************************************************************************** 00092 template<> 00093 class oaTraits<oaTechHeader> { 00094 public: 00095 typedef oaTechObject parentType; 00096 typedef oaTechHeaderModTypeEnum modTypeType; 00097 enum {dbType = oacTechDBType}; 00098 enum {domain = oacNoDomain}; 00099 enum {isMultiDomain = false}; 00100 enum {dtIndex = oacTechHeaderDataType}; 00101 enum {isConcrete = true}; 00102 enum {objectTypeEnumVal = oacTechHeaderType}; 00103 enum {dataTypeEnumVal = oacTechHeaderDataType}; 00104 }; 00105 00106 00107 00108 END_OA_NAMESPACE 00109 00110 #endif 00111
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.