00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaViaVariantHeader.h 00004 // 00005 // This file contains the definitions for the public classes that support the 00006 // binding between an element in an oaViaTopologyArrayValue and an oaViaVariant. 00007 // These classes include: 00008 // 00009 // oaViaVariantHeader 00010 // This class is responsible for managing the binding to a specific 00011 // viaVariant, whether that viaVariant exists in the same or in a 00012 // referenced technology database. 00013 // 00014 // oaTechViaVariantHeader 00015 // This class represents bindings to a viaVariant object in a technology 00016 // database. 00017 // 00018 // ***************************************************************************** 00019 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00020 // Integration Initiative, this material may not be copied, modified, 00021 // re-published, uploaded, executed, or distributed in any way, in any medium, 00022 // in whole or in part, without prior written permission from Cadence. 00023 // 00024 // Copyright 2002-2005 Cadence Design Systems, Inc. 00025 // All Rights Reserved. 00026 // 00027 // $Author: icftcm $ 00028 // $Revision: #1 $ 00029 // $Date: 2010/08/09 $ 00030 // $State: Exp $ 00031 // ***************************************************************************** 00032 // ***************************************************************************** 00033 00034 00035 00036 #if !defined(oaViaVariantHeader_P) 00037 #define oaViaVariantHeader_P 00038 00039 00040 00041 // ***************************************************************************** 00042 // Nested includes 00043 // ***************************************************************************** 00044 #include "oaViaVariant.h" 00045 00046 00047 00048 // ***************************************************************************** 00049 // Declare and define types in the OpenAccess namespace. 00050 // ***************************************************************************** 00051 BEGIN_OA_NAMESPACE 00052 00053 00054 00055 // ***************************************************************************** 00056 // oaViaVariantHeader 00057 // ***************************************************************************** 00058 class OA_TECH_DLL_API oaViaVariantHeader : public oaObject { 00059 public: 00060 void getViaVariantName(oaString &name) const; 00061 oaViaVariant *getViaVariant() const; 00062 00063 oaBoolean isBound() const; 00064 00065 enum {dtIndex = oacBaseViaVariantHeaderDataType}; 00066 }; 00067 00068 00069 00070 // ************************************************************************** 00071 // oaTechViaVariantHeader 00072 // ************************************************************************** 00073 class OA_TECH_DLL_API oaTechViaVariantHeader : public oaViaVariantHeader { 00074 public: 00075 static oaTechViaVariantHeader *find(const oaObject *database, 00076 const oaString &viaVariantName); 00077 00078 }; 00079 00080 00081 00082 // ***************************************************************************** 00083 // Tech Objects derived from oaObject 00084 // ***************************************************************************** 00085 template<> 00086 class oaTraits<oaViaVariantHeader> { 00087 public: 00088 typedef oaObject parentType; 00089 typedef oaViaVariantHeaderModTypeEnum modTypeType; 00090 typedef oaViaVariantHeaderTbl tblType; 00091 enum {domain = oacNoDomain}; 00092 enum {isMultiDomain = false}; 00093 enum {isConcrete = false}; 00094 enum {dbType = oacBaseDBType}; 00095 enum {dtIndex = oacBaseViaVariantHeaderDataType}; 00096 enum {dataTypeEnumVal = oacBaseViaVariantHeaderDataType}; 00097 enum {abstractTypeEnumVal = oacViaVariantHeaderType}; 00098 }; 00099 00100 template<> 00101 class oaTraits<oaTechViaVariantHeader> { 00102 public: 00103 typedef oaViaVariantHeaderModTypeEnum modTypeType; 00104 typedef oaViaVariantHeaderTbl tblType; 00105 typedef oaViaVariantHeader parentType; 00106 enum {dtIndex = oacBaseViaVariantHeaderDataType}; 00107 enum {dataTypeEnumVal = oacBaseViaVariantHeaderDataType}; 00108 enum {abstractTypeEnumVal = oacViaVariantHeaderType}; 00109 enum {domain = oacNoDomain}; 00110 enum {isMultiDomain = false}; 00111 enum {dbType = oacBaseDBType}; 00112 enum {isConcrete = true}; 00113 enum {objectTypeEnumVal = oacTechViaVariantHeaderType}; 00114 }; 00115 00116 00117 00118 END_OA_NAMESPACE 00119 00120 #endif 00121
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.