00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaOccConnectDef.h 00004 // 00005 // This file contains the definition of the oaOccConnectDef class, its derived 00006 // classes, and its public supporting classes. The oaOccConnectDef class is an 00007 // abstract base for occurrences of all types of connection definitions. A 00008 // connection definition specifies an oaAssignmentDef to be used for the 00009 // associated connectivity object. The derived classes include: 00010 // 00011 // oaOccNetConnectDef 00012 // This class implements a connectDef that associates a single-bit, 00013 // explicit net occurrence with a given oaAssignmentDef. The connectDef is 00014 // interpreted by connectivity traversal applications where the 00015 // assignmentDef is used to determine the name to use for the associated 00016 // net. 00017 // 00018 // oaOccTermConnectDef 00019 // This class implements a connectDef that is associated with a single-bit, 00020 // explicit terminal occurrence with a given oaAssignmentDef. The 00021 // connectDef is interpreted by connectivity traversal applications where 00022 // the assignmentDef is used to determine the name of the net to externally 00023 // connect the terminal to. 00024 // 00025 // ***************************************************************************** 00026 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00027 // Integration Initiative, this material may not be copied, modified, 00028 // re-published, uploaded, executed, or distributed in any way, in any medium, 00029 // in whole or in part, without prior written permission from Cadence. 00030 // 00031 // Copyright 2002-2005 Cadence Design Systems, Inc. 00032 // All Rights Reserved. 00033 // 00034 // $Author: icftcm $ 00035 // $Revision: #1 $ 00036 // $Date: 2010/08/09 $ 00037 // $State: Exp $ 00038 // ***************************************************************************** 00039 // ***************************************************************************** 00040 00041 00042 00043 #if !defined(oaOccConnectDef_P) 00044 #define oaOccConnectDef_P 00045 00046 00047 00048 // ***************************************************************************** 00049 // Nested includes 00050 // ***************************************************************************** 00051 #include "oaAssignmentDef.h" 00052 #include "oaOccTerm.h" 00053 00054 00055 00056 // ***************************************************************************** 00057 // Declare and define types in the OpenAccess namespace. 00058 // ***************************************************************************** 00059 BEGIN_OA_NAMESPACE 00060 00061 00062 00063 // ***************************************************************************** 00064 // oaOccConnectDef 00065 // ***************************************************************************** 00066 class OA_DESIGN_DLL_API oaOccConnectDef : public oaOccObject { 00067 public: 00068 void getAssignmentDef(oaAssignmentDef &assignmentDef) const; 00069 00070 enum {dtIndex = oacConnectDefDataType}; 00071 }; 00072 00073 00074 00075 // ***************************************************************************** 00076 // oaOccNetConnectDef 00077 // ***************************************************************************** 00078 class OA_DESIGN_DLL_API oaOccNetConnectDef : public oaOccConnectDef { 00079 public: 00080 oaOccBitNet *getNet() const; 00081 }; 00082 00083 00084 00085 // ***************************************************************************** 00086 // oaOccTermConnectDef 00087 // ***************************************************************************** 00088 class OA_DESIGN_DLL_API oaOccTermConnectDef : public oaOccConnectDef { 00089 public: 00090 oaOccBitTerm *getTerm() const; 00091 }; 00092 00093 00094 00095 // ***************************************************************************** 00096 // Design Traits. 00097 // ***************************************************************************** 00098 template<> 00099 class oaTraits<oaOccConnectDef> { 00100 public: 00101 typedef oaOccObject parentType; 00102 typedef oaConnectDefModTypeEnum modTypeType; 00103 enum {domain = oacOccDomain}; 00104 enum {isMultiDomain = true}; 00105 enum {dbType = oacDesignDBType}; 00106 enum {isConcrete = false}; 00107 enum {dtIndex = oacConnectDefDataType}; 00108 enum {dataTypeEnumVal = oacConnectDefDataType}; 00109 enum {abstractTypeEnumVal = oacOccConnectDefType}; 00110 }; 00111 00112 template<> 00113 class oaTraits<oaOccNetConnectDef> { 00114 public: 00115 typedef oaConnectDefModTypeEnum modTypeType; 00116 typedef oaOccConnectDef parentType; 00117 enum {dtIndex = oacConnectDefDataType}; 00118 enum {dataTypeEnumVal = oacConnectDefDataType}; 00119 enum {domain = oacOccDomain}; 00120 enum {isMultiDomain = true}; 00121 enum {dbType = oacDesignDBType}; 00122 enum {isConcrete = true}; 00123 enum {objectTypeEnumVal = oacOccNetConnectDefType}; 00124 }; 00125 00126 template<> 00127 class oaTraits<oaOccTermConnectDef> { 00128 public: 00129 typedef oaConnectDefModTypeEnum modTypeType; 00130 typedef oaOccConnectDef parentType; 00131 enum {dtIndex = oacConnectDefDataType}; 00132 enum {dataTypeEnumVal = oacConnectDefDataType}; 00133 enum {domain = oacOccDomain}; 00134 enum {isMultiDomain = true}; 00135 enum {dbType = oacDesignDBType}; 00136 enum {isConcrete = true}; 00137 enum {objectTypeEnumVal = oacOccTermConnectDefType}; 00138 }; 00139 00140 00141 00142 END_OA_NAMESPACE 00143 00144 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.